summaryrefslogtreecommitdiff
path: root/templates/assets/bootstrap-material-design
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-03-25 13:13:28 +0100
committerschneefux <schneefux+commit@schneefux.xyz>2017-03-25 13:13:28 +0100
commitca88c377f918a9178c56e206b7bb13baefd30c91 (patch)
treee4ee2a5fda2ed378e9d103c627e9cb2a40f47310 /templates/assets/bootstrap-material-design
parentb1bbeb2e2db4a287e7ccf627c2dc450cf5a53b62 (diff)
downloadminionlivesmatter-ca88c377f918a9178c56e206b7bb13baefd30c91.tar.gz
minionlivesmatter-ca88c377f918a9178c56e206b7bb13baefd30c91.zip
accidentally committed minionlivesmatter changes to meta
Diffstat (limited to 'templates/assets/bootstrap-material-design')
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.css10360
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js11743
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map1
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.min.js9
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css3
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js2936
-rw-r--r--templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map1
7 files changed, 25053 insertions, 0 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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RVBoQjtFQUtDO0lGa0JSLFlBQXVELEVFaEI5QztFQUZEO0lGa0JSLGdCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsV0FBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixXQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLFdBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsWUFBK0IsRUVoQnRCO0VBRkQ7SUZjUixXQUFzRCxFRVo3QztFQUZEO0lGY1IsZUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsVUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixVQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLFVBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsV0FBOEIsRUVackI7RUFPRDtJRkNSLGdCQUF1QixFRUNkO0VBRkQ7SUZDUixzQkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2QsRUFBQTs7QURuQlA7RUNYSTtJQUNFLG1CQUFtQjtJQUNuQixzQkFBYztRQUFkLDJCQUFjO1lBQWQsY0FBYztJQUNkLG9CQUFhO0lBQWIscUJBQWE7UUFBYixxQkFBYTtZQUFiLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLG9CQUFrQztJQUNsQyxtQkFBa0MsRUFDbkM7RUFJRDtJRktKLG9CQUFvQjtJQUFwQiwyQkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG1CQUFvQjtJQUlwQixvQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUlwQixxQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQixzQkFBb0I7UUFBcEIsa0JBQW9CO1lBQXBCLGNBQW9CO0lBSXBCLGVBQXFCLEVFUGhCO0VBRkQ7SUZLSixvQkFBb0I7SUFBcEIsNEJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixvQkFBb0I7SUFJcEIscUJBQXFCLEVFUGhCO0VBRkQ7SUZLSixvQkFBb0I7SUFBcEIsNEJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixvQkFBb0I7SUFJcEIscUJBQXFCLEVFUGhCO0VBRkQ7SUZLSixvQkFBb0I7SUFBcEIsc0JBQW9CO1FBQXBCLGtCQUFvQjtZQUFwQixjQUFvQjtJQUlwQixlQUFxQixFRVBoQjtFQUZEO0lGS0osb0JBQW9CO0lBQXBCLDRCQUFvQjtRQUFwQix3QkFBb0I7WUFBcEIsb0JBQW9CO0lBSXBCLHFCQUFxQixFRVBoQjtFQUZEO0lGS0osb0JBQW9CO0lBQXBCLDRCQUFvQjtRQUFwQix3QkFBb0I7WUFBcEIsb0JBQW9CO0lBSXBCLHFCQUFxQixFRVBoQjtFQUZEO0lGS0osb0JBQW9CO0lBQXBCLHNCQUFvQjtRQUFwQixrQkFBb0I7WUFBcEIsY0FBb0I7SUFJcEIsZUFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUlwQixxQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUlwQixxQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQix1QkFBb0I7UUFBcEIsbUJBQW9CO1lBQXBCLGVBQW9CO0lBSXBCLGdCQUFxQixFRVBoQjtFQUtDO0lGa0JSLFlBQXVELEVFaEI5QztFQUZEO0lGa0JSLGdCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsV0FBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixXQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLFdBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsWUFBK0IsRUVoQnRCO0VBRkQ7SUZjUixXQUFzRCxFRVo3QztFQUZEO0lGY1IsZUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsVUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixVQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLFVBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsV0FBOEIsRUVackI7RUFPRDtJRkNSLGdCQUF1QixFRUNkO0VBRkQ7SUZDUixzQkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2QsRUFBQTs7QURuQlA7RUNYSTtJQUNFLG1CQUFtQjtJQUNuQixzQkFBYztRQUFkLDJCQUFjO1lBQWQsY0FBYztJQUNkLG9CQUFhO0lBQWIscUJBQWE7UUFBYixxQkFBYTtZQUFiLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLG9CQUFrQztJQUNsQyxtQkFBa0MsRUFDbkM7RUFJRDtJRktKLG9CQUFvQjtJQUFwQiwyQkFBb0I7UUFBcEIsdUJBQW9CO1lBQXBCLG1CQUFvQjtJQUlwQixvQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUlwQixxQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQixzQkFBb0I7UUFBcEIsa0JBQW9CO1lBQXBCLGNBQW9CO0lBSXBCLGVBQXFCLEVFUGhCO0VBRkQ7SUZLSixvQkFBb0I7SUFBcEIsNEJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixvQkFBb0I7SUFJcEIscUJBQXFCLEVFUGhCO0VBRkQ7SUZLSixvQkFBb0I7SUFBcEIsNEJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixvQkFBb0I7SUFJcEIscUJBQXFCLEVFUGhCO0VBRkQ7SUZLSixvQkFBb0I7SUFBcEIsc0JBQW9CO1FBQXBCLGtCQUFvQjtZQUFwQixjQUFvQjtJQUlwQixlQUFxQixFRVBoQjtFQUZEO0lGS0osb0JBQW9CO0lBQXBCLDRCQUFvQjtRQUFwQix3QkFBb0I7WUFBcEIsb0JBQW9CO0lBSXBCLHFCQUFxQixFRVBoQjtFQUZEO0lGS0osb0JBQW9CO0lBQXBCLDRCQUFvQjtRQUFwQix3QkFBb0I7WUFBcEIsb0JBQW9CO0lBSXBCLHFCQUFxQixFRVBoQjtFQUZEO0lGS0osb0JBQW9CO0lBQXBCLHNCQUFvQjtRQUFwQixrQkFBb0I7WUFBcEIsY0FBb0I7SUFJcEIsZUFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUlwQixxQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQiw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUlwQixxQkFBcUIsRUVQaEI7RUFGRDtJRktKLG9CQUFvQjtJQUFwQix1QkFBb0I7UUFBcEIsbUJBQW9CO1lBQXBCLGVBQW9CO0lBSXBCLGdCQUFxQixFRVBoQjtFQUtDO0lGa0JSLFlBQXVELEVFaEI5QztFQUZEO0lGa0JSLGdCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsV0FBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixXQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsaUJBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLFdBQStCLEVFaEJ0QjtFQUZEO0lGa0JSLGlCQUErQixFRWhCdEI7RUFGRDtJRmtCUixpQkFBK0IsRUVoQnRCO0VBRkQ7SUZrQlIsWUFBK0IsRUVoQnRCO0VBRkQ7SUZjUixXQUFzRCxFRVo3QztFQUZEO0lGY1IsZUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsVUFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixVQUE4QixFRVpyQjtFQUZEO0lGY1IsZ0JBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLFVBQThCLEVFWnJCO0VBRkQ7SUZjUixnQkFBOEIsRUVackI7RUFGRDtJRmNSLGdCQUE4QixFRVpyQjtFQUZEO0lGY1IsV0FBOEIsRUVackI7RUFPRDtJRkNSLGdCQUF1QixFRUNkO0VBRkQ7SUZDUixzQkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2Q7RUFGRDtJRkNSLGlCQUF1QixFRUNkO0VBRkQ7SUZDUix1QkFBdUIsRUVDZDtFQUZEO0lGQ1IsdUJBQXVCLEVFQ2QsRUFBQTs7QUM1RFg7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLHNCWkZnQyxFWXVCakM7RUF4QkQ7O0lBT0ksaUJuQjRPa0M7SW1CM09sQyxvQkFBb0I7SUFDcEIsMENqQnFWUSxFaUJwVlQ7RUFWSDtJQWFJLHVCQUF1QjtJQUN2Qiw2Q2pCZ1ZRLEVpQi9VVDtFQWZIO0lBa0JJLDBDakI0VVEsRWlCM1VUO0VBbkJIO0lBc0JJLDBCaEJ0QmdDLEVnQnVCakM7O0FBUUg7O0VBR0ksZ0JuQmtOaUMsRW1Cak5sQzs7QUFRSDtFQUNFLHNDakJrVFUsRWlCclNYO0VBZEQ7O0lBS0ksc0NqQjhTUSxFaUI3U1Q7RUFOSDs7SUFXTSx5QkFBdUIsRUFDeEI7O0FBU0w7RUFFSSxzQ25CcUxnQyxFbUJwTGpDOztBQVFIO0VBR00sdUNuQjBLOEIsRUlsUFg7O0FnQkx2Qjs7O0VBSUksdUNwQm1QOEIsRW9CbFAvQjs7QUFLSDtFQUtNLHVDQUpxQixFaEJOSjtFZ0JLdkI7O0lBU1EsdUNBUm1CLEVBU3BCOztBQXBCUDs7O0VBSUksMEJsQm9MYSxFa0JuTGQ7O0FBS0g7RUFLTSwwQkFKcUIsRWhCTko7RWdCS3ZCOztJQVNRLDBCQVJtQixFQVNwQjs7QUFwQlA7OztFQUlJLDBCbEJpSWtCLEVrQmhJbkI7O0FBS0g7RUFLTSwwQkFKcUIsRWhCTko7RWdCS3ZCOztJQVNRLDBCQVJtQixFQVNwQjs7QUFwQlA7OztFQUlJLDBCbEIwUm1CLEVrQnpScEI7O0FBS0g7RUFLTSwwQkFKcUIsRWhCTko7RWdCS3ZCOztJQVNRLDBCQVJtQixFQVNwQjs7QUFwQlA7OztFQUlJLDBCbEIyQlcsRWtCMUJaOztBQUtIO0VBS00sMEJBSnFCLEVoQk5KO0VnQkt2Qjs7SUFTUSwwQkFSbUIsRUFTcEI7O0FEZ0ZUO0VBRUksWUFBWTtFQUNaLHNDakJzUFEsRWlCclBUOztBQUdIO0VBRUksMkJqQmdQUTtFaUIvT1Isc0NqQitPUSxFaUI5T1Q7O0FBR0g7RUFDRSwyQmpCME9VO0VpQnpPVixzQ2pCeU9VLEVpQjlOWDtFQWJEOzs7SUFPSSxrQ2pCb09RLEVpQm5PVDtFQVJIO0lBV0ksVUFBVSxFQUNYOztBQVdIO0VBQ0UsZUFBZTtFQUNmLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsaUJBQWlCLEVBTWxCOztBQUdEO0VBRUksWUFBWSxFQUNiOztBQUhIO0VBTUksZUFBZTtFQUNmLG9CQUFvQixFQUNyQjs7QUFSSDs7RUFZSSwwQ2pCMkxRO0VpQjFMUiwyQ2pCMExRLEVpQnJMVDtFQWxCSDs7SUFnQk0sNENqQnVMTSxFaUJ0TFA7O0FBakJMOzs7Ozs7RUEwQlEsNkNqQjZLSSxFaUI1S0w7O0FBM0JQO0VBaUNJLFlBQVksRUFPYjtFQXhDSDs7SUFxQ00sMEJBQTBCO0lBQzFCLHNDakJpS00sRWlCaEtQOztBRTVMTDtFQUNFLGVBQWU7RUFDZixZQUFZO0VBR1oscUJDV2dDO0VEVmhDLGdCckI0Sm1CO0VxQjNKbkIsa0JyQjhTbUM7RXFCN1NuQywyQm5Cb1ZVO0VtQm5WViw4Qm5CbVZVO0VtQmpWVix1QkFBdUI7RUFDdkIscUNBQTZCO1VBQTdCLDZCQUE2QjtFQUM3QixzQ25CK1VVO0VTOVZSLGlCV084QjtFVEw5Qix5QlNHaUM7VVRIakMsaUJTR2lDLEVEK0NwQztFQWxERDtJQXFCSSw4QkFBOEI7SUFDOUIsVUFBVSxFQUNYO0VBdkJIO0lFb0RJLDJCckJ3U1E7SXFCdlNSLDhCckJ1U1E7SXFCdFNSLHNCdkI4UW9DO0l1QjdRcEMsY0FBYztJVnZEZCx1RVNVaUM7WVRWakMsK0RTVWlDLEVDZ0RsQztFRjFESDtJQThCSSwyQm5COFRRO0ltQjVUUixXQUFXLEVBQ1o7RUFqQ0g7SUE4QkksMkJuQjhUUTtJbUI1VFIsV0FBVyxFQUNaO0VBakNIO0lBOEJJLDJCbkI4VFE7SW1CNVRSLFdBQVcsRUFDWjtFQWpDSDtJQThCSSwyQm5COFRRO0ltQjVUUixXQUFXLEVBQ1o7RUFqQ0g7SUEwQ0ksOEJuQmtUUTtJbUJoVFIsV0FBVyxFQUNaO0VBN0NIO0lBZ0RJLG9CckJ5U3dDLEVxQnhTekM7O0FBR0g7RUFFSSxpQnJCMFI4QyxFcUJ6Ui9DOztBQUhIO0VBV0ksMkJuQjZSUTtFbUI1UlIsOEJuQjRSUSxFbUIzUlQ7O0FBSUg7O0VBRUUsZUFBZSxFQUNoQjs7QUFTRDtFQUNFLHVCQ2pFdUM7RURrRXZDLDBCQ2xFdUM7RURtRXZDLGlCQUFpQixFQUNsQjs7QUFFRDtFQUNFLHVCQ2pFdUM7RURrRXZDLDBCQ2xFdUM7RURtRXZDLG1CckJ5RXNCLEVxQnhFdkI7O0FBRUQ7RUFDRSxxQkMxRXFDO0VEMkVyQyx3QkMzRXFDO0VENEVyQyxvQnJCb0VzQixFcUJuRXZCOztBQVNEO0VBQ0UsdUJDMUZ1QztFRDJGdkMsMEJDM0Z1QztFRDRGdkMsaUJBQWlCO0VBQ2pCLGdCckJvRG1CLEVxQm5EcEI7O0FBUUQ7RUFDRSxxQnJCd05nRDtFcUJ0TmhELHVCQ3pHdUM7RUQwR3ZDLDBCQzFHdUM7RUQ0R3ZDLGlCQUFpQixFQU9sQjtFQWJEOzs7Ozs7O0lBVUksaUJBQWlCO0lBQ2pCLGdCQUFnQixFQUNqQjs7QUFZSDs7OztFQUNFLG1CQzdIZ0M7RUQ4SGhDLG9CckJtQnNCO0VXdEtwQix5QkNLNkIsRVNnSmhDOztBQUVEOzs7O0VBRUksa0JyQjJMNEMsRXFCMUw3Qzs7QUFHSDs7OztFQUNFLHFCQ3RJZ0M7RUR1SWhDLG1CckJNc0I7RVdyS3BCLHNCWHFPMEIsRXFCcEU3Qjs7QUFFRDs7OztFQUVJLG1CckI4SzRDLEVxQjdLN0M7O0FBU0g7RUFDRSxzQmQvS2dDLEVjZ0xqQzs7QUFFRDtFQUNFLGVBQWU7RUFDZixxQkFBb0IsRUFDckI7O0FBT0Q7RUFDRSxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHdCQUF1QixFQWF4QjtFQWhCRDtJQU9JLG9CQUFvQixFQUNyQjtFQVJIO0lBWU0sMkJuQnFKTTtJbUJwSk4sb0JyQmlKc0MsRXFCaEp2Qzs7QUFJTDtFQUNFLHNCQUFzQjtFQUN0QixpQkFBaUI7RUFDakIsZ0JBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixzQkFBc0IsRUFLdkI7RUFSRDtJQU1JLGlCQUFpQixFQUNsQjs7QUFJSDtFQUNFLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsc0JBQXNCO0VBQ3RCLGlCQUFpQjtFQUNqQix1QkFBdUI7RUFDdkIsZ0JBQWdCLEVBU2pCO0VBZkQ7SUFTSSxvQkFBb0IsRUFDckI7RUFWSDtJQWFJLG9CckI4R3dDLEVxQjdHekM7O0FBUUg7RUFDRSxxQkFBb0IsRUFDckI7O0FBRUQ7OztFQUdFLGlCQUFnQztFQUNoQyw2QkFBNkI7RUFDN0IsNkNBQWdEO0VBQ2hELDZDQUFtRDtVQUFuRCxxQ0FBbUQsRUFDcEQ7O0FFOVBDOzs7Ozs7Ozs7OztFQVdFLGVyQjJLZSxFcUIxS2hCOztBQUVEO0VBQ0Usc0JyQnVLZSxFcUIvSmhCOztBQUdEO0VBQ0UsZXJCMkplO0VxQjFKZixzQnJCMEplO0VxQnpKZiwwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSxlckJxSmUsRXFCcEpoQjs7QUYrTkg7RUFJSSwwUXJCa0ttQixFcUJqS3BCOztBRXRRRDs7Ozs7Ozs7Ozs7RUFXRSxlckJpUnFCLEVxQmhSdEI7O0FBRUQ7RUFDRSxzQnJCNlFxQixFcUJyUXRCOztBQUdEO0VBQ0UsZXJCaVFxQjtFcUJoUXJCLHNCckJnUXFCO0VxQi9QckIsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsZXJCMlBxQixFcUIxUHRCOztBRnVPSDtFQUlJLG1WckIySm1CLEVxQjFKcEI7O0FFOVFEOzs7Ozs7Ozs7OztFQVdFLGVyQmtCYSxFcUJqQmQ7O0FBRUQ7RUFDRSxzQnJCY2EsRXFCTmQ7O0FBR0Q7RUFDRSxlckJFYTtFcUJEYixzQnJCQ2E7RXFCQWIsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsZXJCSmEsRXFCS2Q7O0FGK09IO0VBSUksb1RyQm9Ka0IsRXFCbkpuQjs7QUpoUEM7RUk2UEo7SUFNTSxzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLHVCQUF1QixFQUN4QjtFQVRMO0lBYU0sc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWix1QkFBdUIsRUFDeEI7RUFoQkw7SUFvQk0sc0JBQXNCLEVBQ3ZCO0VBckJMO0lBd0JNLHNCQUFzQjtJQUN0Qix1QkFBdUIsRUFPeEI7SUFoQ0w7Ozs7TUE4QlEsWUFBWSxFQUNiO0VBL0JQO0lBb0NNLFlBQVksRUFDYjtFQXJDTDtJQXdDTSxpQkFBaUI7SUFDakIsdUJBQXVCLEVBQ3hCO0VBMUNMO0lBK0NNLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLHVCQUF1QixFQUN4QjtFQW5ETDtJQXFETSxnQkFBZ0IsRUFDakI7RUF0REw7SUF3RE0sbUJBQW1CO0lBQ25CLGVBQWUsRUFDaEI7RUExREw7SUE4RE0sT0FBTyxFQUNSLEVBQUE7O0FHbldMO0VBQ0Usc0JBQXNCO0VBQ3RCLGlCQzJCa0M7RUQxQmxDLGtCeEJnUW1DO0V3Qi9QbkMsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLDBCQUFrQjtLQUFsQix1QkFBa0I7TUFBbEIsc0JBQWtCO1VBQWxCLGtCQUFrQjtFQUNsQiw4QkFBaUQ7RUU4RmpELHlCRDdFbUM7RUM4RW5DLGdCMUIwRG1CO0VXcEtqQix3QkNHNEIsRVl5Qy9CO0VBMUNEO0luQkFFLDJDQUEyQztJQUMzQyxxQkFBcUIsRW1Ca0JsQjtFQW5CTDtJQXVCSSxzQkFBc0IsRXBCTnJCO0VvQmpCTDtJQTBCSSxzQkFBc0IsRUFDdkI7RUEzQkg7SUErQkksdUJBQXVCO0lBQ3ZCLFdBQVc7SVhoQ1gseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFREdsQztFQWxDSDtJQXNDSSxvQnhCbVR3QztJd0JsVHhDLGFBQWE7SVh2Q2IseUJXd0N3QjtZWHhDeEIsaUJXd0N3QixFQUN6Qjs7QUFJSDs7O0VBRUUscUJBQXFCLEVBQ3RCOztBQU9EO0VFcERFLFkxQnFRbUM7RTBCcFFuQywwQnhCa0tnQjtFd0JqS2hCLHNCeEJpS2dCO0VXdEtkLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRUQyQnBDO0VBRkQ7SUU5Q0ksWTFCK1BpQztJMEI5UGpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9CbUR6QjtJRXZDSSxZMUJ3UGlDO0kwQnZQakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZvQ0g7O0lFL0JJLFkxQmdQaUM7STBCL09qQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUZpQkg7Ozs7TUVyQk0sWTFCc08rQjtNMEJyTy9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZrQkw7SUVYTSwwQnhCMEhZO0l3QnpIUixzQnhCeUhRLEV3QnhIYjtFRlNMO0lFUE0sMEJ4QnNIWTtJd0JySFIsc0J4QnFIUSxFRWxLTzs7QW9Cc0R6QjtFRXZERSwyQnhCeVZVO0V3QnhWViwwQnZCTmtDO0V1Qk9sQyxtQjFCeVFtQztFYTlRakMseUJZOEJpQztVWjlCakMsaUJZOEJpQyxFRDhCcEM7RUFGRDtJRWpESSwyQnhCbVZRO0l3QmxWUiwwQkFWd0I7SUFXcEIsc0JBVmdCLEV0QkdDO0VvQnNEekI7SUUxQ0ksMkJ4QjRVUTtJd0IzVVIsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZ1Q0g7O0lFbENJLDJCeEJvVVE7SXdCblVSLDBCQXpCd0I7SUEwQnBCLHNCQXpCZ0I7SUEyQnBCLHVCQUF1QjtJYjVCdkIseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFQ09sQztJRm9CSDs7OztNRXhCTSwyQnhCMFRNO013QnpUTiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGcUJMO0lFZE0sMEJ2QjlDOEI7SXVCK0MxQixtQjFCaU8yQixFMEJoT2hDO0VGWUw7SUVWTSwwQnZCbEQ4QjtJdUJtRDFCLG1CMUI2TjJCLEVJMVFaOztBb0J5RHpCO0VFMURFLFkxQjZRbUM7RTBCNVFuQywwQnhCZ0lzQjtFd0IvSHRCLHNCeEIrSHNCO0VXcElwQix5Qlk4QmlDO1VaOUJqQyxpQlk4QmlDLEVEaUNwQztFQUZEO0lFcERJLFkxQnVRaUM7STBCdFFqQywwQkFWd0I7SUFXcEIsc0JBVmdCLEV0QkdDO0VvQnlEekI7SUU3Q0ksWTFCZ1FpQztJMEIvUGpDLDBCQWpCd0I7SUFrQnBCLHNCQWpCZ0IsRUFrQnJCO0VGMENIOztJRXJDSSxZMUJ3UGlDO0kwQnZQakMsMEJBekJ3QjtJQTBCcEIsc0JBekJnQjtJQTJCcEIsdUJBQXVCO0liNUJ2Qix5QlkrQmlDO1laL0JqQyxpQlkrQmlDLEVDT2xDO0lGdUJIOzs7O01FM0JNLFkxQjhPK0I7TTBCN08vQiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGd0JMO0lFakJNLDBCeEJ3RmtCO0l3QnZGZCxzQnhCdUZjLEV3QnRGbkI7RUZlTDtJRWJNLDBCeEJvRmtCO0l3Qm5GZCxzQnhCbUZjLEVFaElDOztBb0I0RHpCO0VFN0RFLFkxQmlSbUM7RTBCaFJuQywwQnhCbUxpQjtFd0JsTGpCLHNCeEJrTGlCO0VXdkxmLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRURvQ3BDO0VBRkQ7SUV2REksWTFCMlFpQztJMEIxUWpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9CNER6QjtJRWhESSxZMUJvUWlDO0kwQm5RakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUY2Q0g7O0lFeENJLFkxQjRQaUM7STBCM1BqQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUYwQkg7Ozs7TUU5Qk0sWTFCa1ArQjtNMEJqUC9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUYyQkw7SUVwQk0sMEJ4QjJJYTtJd0IxSVQsc0J4QjBJUyxFd0J6SWQ7RUZrQkw7SUVoQk0sMEJ4QnVJYTtJd0J0SVQsc0J4QnNJUyxFRW5MTTs7QW9CK0R6QjtFRWhFRSxZMUJxUm1DO0UwQnBSbkMsMEJ4QnlSdUI7RXdCeFJ2QixzQnhCd1J1QjtFVzdSckIseUJZOEJpQztVWjlCakMsaUJZOEJpQyxFRHVDcEM7RUFGRDtJRTFESSxZMUIrUWlDO0kwQjlRakMsMEJBVndCO0lBV3BCLHNCQVZnQixFdEJHQztFb0IrRHpCO0lFbkRJLFkxQndRaUM7STBCdlFqQywwQkFqQndCO0lBa0JwQixzQkFqQmdCLEVBa0JyQjtFRmdESDs7SUUzQ0ksWTFCZ1FpQztJMEIvUGpDLDBCQXpCd0I7SUEwQnBCLHNCQXpCZ0I7SUEyQnBCLHVCQUF1QjtJYjVCdkIseUJZK0JpQztZWi9CakMsaUJZK0JpQyxFQ09sQztJRjZCSDs7OztNRWpDTSxZMUJzUCtCO00wQnJQL0IsMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRjhCTDtJRXZCTSwwQnhCaVBtQjtJd0JoUGYsc0J4QmdQZSxFd0IvT3BCO0VGcUJMO0lFbkJNLDBCeEI2T21CO0l3QjVPZixzQnhCNE9lLEVFelJBOztBb0JrRXpCO0VFbkVFLFkxQnlSbUM7RTBCeFJuQywwQnhCMEJlO0V3QnpCZixzQnhCeUJlO0VXOUJiLHlCWThCaUM7VVo5QmpDLGlCWThCaUMsRUQwQ3BDO0VBRkQ7SUU3REksWTFCbVJpQztJMEJsUmpDLDBCQVZ3QjtJQVdwQixzQkFWZ0IsRXRCR0M7RW9Ca0V6QjtJRXRESSxZMUI0UWlDO0kwQjNRakMsMEJBakJ3QjtJQWtCcEIsc0JBakJnQixFQWtCckI7RUZtREg7O0lFOUNJLFkxQm9RaUM7STBCblFqQywwQkF6QndCO0lBMEJwQixzQkF6QmdCO0lBMkJwQix1QkFBdUI7SWI1QnZCLHlCWStCaUM7WVovQmpDLGlCWStCaUMsRUNPbEM7SUZnQ0g7Ozs7TUVwQ00sWTFCMFArQjtNMEJ6UC9CLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZpQ0w7SUUxQk0sMEJ4QmRXO0l3QmVQLHNCeEJmTyxFd0JnQlo7RUZ3Qkw7SUV0Qk0sMEJ4QmxCVztJd0JtQlAsc0J4Qm5CTyxFRTFCUTs7QW9CdUV6QjtFRXBCRSxleEIrR2dCO0V3QjlHaEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixzQnhCNEdnQixFc0J6RmpCO0VBRkQ7SUVkSSxZQUFZO0lBQ1osMEJ4QndHYztJd0J2R1Ysc0J4QnVHVSxFRWxLTztFb0J1RXpCO0lFUEksWUFBWTtJQUNaLDBCeEJpR2M7SXdCaEdWLHNCeEJnR1UsRXdCL0ZmO0VGSUg7O0lFQ0ksWUFBWTtJQUNaLDBCeEJ5RmM7SXdCeEZWLHNCeEJ3RlUsRXdCL0VmO0lGWkg7Ozs7TUVRTSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRlhMO0lFa0JNLHNCQUFxQixFQUN0QjtFRm5CTDtJRXFCTSxzQkFBcUIsRXRCNUZGOztBb0IwRXpCO0VFdkJFLFkxQnVObUM7RTBCdE5uQyx1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLG1CMUJvTm1DLEV3QjlMcEM7RUFGRDtJRWpCSSxZQUFZO0lBQ1osdUIxQmdOaUM7STBCL003QixtQjFCK002QixFSTFRWjtFb0IwRXpCO0lFVkksWUFBWTtJQUNaLHVCMUJ5TWlDO0kwQnhNN0IsbUIxQndNNkIsRTBCdk1sQztFRk9IOztJRUZJLFlBQVk7SUFDWix1QjFCaU1pQztJMEJoTTdCLG1CMUJnTTZCLEUwQnZMbEM7SUZUSDs7OztNRUtNLFlBQVk7TUFDWiwwQkFBd0I7TUFDcEIsc0JBQW9CLEVBQ3pCO0VGUkw7SUVlTSxvQkFBcUIsRUFDdEI7RUZoQkw7SUVrQk0sb0JBQXFCLEV0QjVGRjs7QW9CNkV6QjtFRTFCRSxleEI2RXNCO0V3QjVFdEIsdUJBQXVCO0VBQ3ZCLDhCQUE4QjtFQUM5QixzQnhCMEVzQixFc0JqRHZCO0VBRkQ7SUVwQkksWUFBWTtJQUNaLDBCeEJzRW9CO0l3QnJFaEIsc0J4QnFFZ0IsRUVoSUM7RW9CNkV6QjtJRWJJLFlBQVk7SUFDWiwwQnhCK0RvQjtJd0I5RGhCLHNCeEI4RGdCLEV3QjdEckI7RUZVSDs7SUVMSSxZQUFZO0lBQ1osMEJ4QnVEb0I7SXdCdERoQixzQnhCc0RnQixFd0I3Q3JCO0lGTkg7Ozs7TUVFTSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRkxMO0lFWU0sc0JBQXFCLEVBQ3RCO0VGYkw7SUVlTSxzQkFBcUIsRXRCNUZGOztBb0JnRnpCO0VFN0JFLGV4QmdJaUI7RXdCL0hqQix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLHNCeEI2SGlCLEVzQmpHbEI7RUFGRDtJRXZCSSxZQUFZO0lBQ1osMEJ4QnlIZTtJd0J4SFgsc0J4QndIVyxFRW5MTTtFb0JnRnpCO0lFaEJJLFlBQVk7SUFDWiwwQnhCa0hlO0l3QmpIWCxzQnhCaUhXLEV3QmhIaEI7RUZhSDs7SUVSSSxZQUFZO0lBQ1osMEJ4QjBHZTtJd0J6R1gsc0J4QnlHVyxFd0JoR2hCO0lGSEg7Ozs7TUVETSxZQUFZO01BQ1osMEJBQXdCO01BQ3BCLHNCQUFvQixFQUN6QjtFRkZMO0lFU00sc0JBQXFCLEVBQ3RCO0VGVkw7SUVZTSxzQkFBcUIsRXRCNUZGOztBb0JtRnpCO0VFaENFLGV4QnNPdUI7RXdCck92Qix1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLHNCeEJtT3VCLEVzQnBNeEI7RUFGRDtJRTFCSSxZQUFZO0lBQ1osMEJ4QitOcUI7SXdCOU5qQixzQnhCOE5pQixFRXpSQTtFb0JtRnpCO0lFbkJJLFlBQVk7SUFDWiwwQnhCd05xQjtJd0J2TmpCLHNCeEJ1TmlCLEV3QnROdEI7RUZnQkg7O0lFWEksWUFBWTtJQUNaLDBCeEJnTnFCO0l3Qi9NakIsc0J4QitNaUIsRXdCdE10QjtJRkFIOzs7O01FSk0sWUFBWTtNQUNaLDBCQUF3QjtNQUNwQixzQkFBb0IsRUFDekI7RUZDTDtJRU1NLHNCQUFxQixFQUN0QjtFRlBMO0lFU00sc0JBQXFCLEV0QjVGRjs7QW9Cc0Z6QjtFRW5DRSxleEJ6QmU7RXdCMEJmLHVCQUF1QjtFQUN2Qiw4QkFBOEI7RUFDOUIsc0J4QjVCZSxFc0I4RGhCO0VBRkQ7SUU3QkksWUFBWTtJQUNaLDBCeEJoQ2E7SXdCaUNU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WCxrQmpDakZZLEVpQ3NGYjtJQXBDTDs7OztNQWtDUSxXQUFXLEU3QjlIZDs7QThCOUNMO0VBQ0UsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixxQmxDbVY4QjtFa0NsVjlCLGdCQUFnQixFQUtqQjtFQVREO0lBT0ksa0JsQ2dWMEIsRWtDL1UzQjs7QUFHSDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osV0FBVyxFQThCWjtFQWpDRDtJQU1JLFlsQ2tWOEM7SWtDalY5QywwQmxDa1ZpRDtJYXpXakQseUJiMFc4QztZYTFXOUMsaUJiMFc4QyxFa0NqVi9DO0VBVEg7SUFhSSw4RGxDK1UrRTtZa0MvVS9FLHNEbEMrVStFLEVrQzlVaEY7RUFkSDtJQWlCSSxZbEM2VTZDO0lrQzVVN0MsMEJsQzZVZ0Q7SWEvV2hELHlCYmdYNkM7WWFoWDdDLGlCYmdYNkMsRWtDNVU5QztFQXBCSDtJQXdCTSxvQmxDaVRzQztJa0NoVHRDLHVCbEM0VDJDLEVrQzNUNUM7RUExQkw7SUE2Qk0sZWxDeVQ4QztJa0N4VDlDLG9CbEMyU3NDLEVrQzFTdkM7O0FBUUw7RUFDRSxtQkFBbUI7RUFDbkIsY0FBYztFQUNkLFFBQVE7RUFDUixlQUFlO0VBQ2YsWWxDbVN3QztFa0NsU3hDLGFsQ2tTd0M7RWtDalN4QyxxQkFBcUI7RUFDckIsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLHVCbENnU3dDO0VrQy9SeEMsNkJBQTZCO0VBQzdCLG1DQUFtQztFQUNuQyxpQ2xDOFIyQztVa0M5UjNDLHlCbEM4UjJDO0Vhald6QywrRGJrVzREO1VhbFc1RCx1RGJrVzRELEVrQzdSL0Q7O0FBTUQ7RXZCN0VJLHdCQ0c0QixFc0I2RTdCOztBQUhIO0VBTUksMk5sQ2tTOEIsRWtDalMvQjs7QUFQSDtFQVVJLDBCbEMrUnNDO0VrQzlSdEMsd0tsQytSb0M7RWFyWHBDLHlCYnNYMkM7VWF0WDNDLGlCYnNYMkMsRWtDOVI1Qzs7QUFPSDtFQUVJLG1CbEN1UnFCLEVrQ3RSdEI7O0FBSEg7RUFNSSxxS2xDb1IyQixFa0NuUjVCOztBQVNIO0VBRUksZ0JBQWdCLEVBV2pCO0VBYkg7SUFLTSxlQUFlO0lBQ2YsdUJsQ3dPMEI7SWtDdk8xQixZQUFZLEVBQ2I7RUFSTDtJQVdNLGVBQWUsRUFDaEI7O0FBWUw7RUFDRSxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLDJDbENpUHVDO0VrQ2hQdkMsMEJBQTBDO0VBQzFDLDJCaENnTlU7RWdDL01WLHVCQUF1QjtFQUN2QixvTkFBc0c7RUFDdEcsMEJBQTBCO0VBQzFCLGtDbENrUG9DO1VrQ2xQcEMsMEJsQ2tQb0M7RWtDalBwQyxzQ2hDMk1VO0VTOVZSLHdCQ0c0QjtFc0JtSjlCLHNCQUFzQjtFQUN0Qix5QkFBeUIsRUE0QjFCO0VBMUNEO0lBaUJJLHNCbENnUHNDO0lrQy9PdEMsY0FBYztJckJ6SmQsMEZieVlnRjtZYXpZaEYsa0ZieVlnRixFa0NwT2pGO0lBOUJIO01BMkJNLDJCaEMwTE07TWdDekxOLDhCaEN5TE0sRWdDeExQO0VBN0JMO0lBaUNJLDJCaENvTFE7SWdDbkxSLG9CbENnTHdDO0lrQy9LeEMsc0NoQ2tMUSxFZ0NqTFQ7RUFwQ0g7SUF3Q0ksV0FBVyxFQUNaOztBQUdIO0VBQ0Usc0JsQ3dNd0M7RWtDdk14Qyx5QmxDdU13QztFa0N0TXhDLGVsQ3NOOEIsRWtDaE4vQjs7QUFPRDtFQUNFLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGVsQ3VNbUM7RWtDdE1uQyxnQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxpQmxDbU1rQztFa0NsTWxDLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YseUJBQWE7RUFDYixXQUFXLEVBS1o7RUFWRDtJckIzTUksOERiZ1prRTtZYWhabEUsc0RiZ1prRSxFa0M1TG5FOztBQUdIO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxTQUFTO0VBQ1QsUUFBUTtFQUNSLFdBQVc7RUFDWCxlbENpTG1DO0VrQ2hMbkMscUJsQ3FMOEI7RWtDcEw5QixpQkNqTzJCO0VEa08zQixZbENxTDhCO0VrQ3BMOUIsMEJBQWtCO0tBQWxCLHVCQUFrQjtNQUFsQixzQkFBa0I7VUFBbEIsa0JBQWtCO0VBQ2xCLDhCQ3hPMEI7RUR5TzFCLHFCbENxTDhCO0VXMVo1QixpQndCRHlCO0V0Qkd6Qix5QnNCSnlCO1V0Qkl6QixpQnNCSnlCLEVEc1E1QjtFQTNDRDtJQWtCTSwwQmxDc0xrQixFa0NyTG5CO0VBbkJMO0lBdUJJLG1CQUFtQjtJQUNuQixPQ3BQd0I7SURxUHhCLFNDclB3QjtJRHNQeEIsVUN0UHdCO0lEdVB4QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGVsQzBKaUM7SWtDekpqQyxxQmxDOEo0QjtJa0M3SjVCLGlCQ3hQeUI7SUR5UHpCLFlsQzhKNEI7SWtDN0o1Qix1QmxDb0s0QjtJa0NuSzVCLHFCbEMrSjRCO0lXMVo1Qix1QnVCNFBnRixFQUNqRjtFQXBDSDtJQXdDTSxrQmxDbUtVLEVrQ2xLWDs7QUVqUUw7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUNsQjs7QUFFRDtFQUNFLHNCQUFzQixFQWdCdkI7RUFqQkQ7SUFJSSxzQkFBc0IsRWhDUXJCO0VnQ1pMO0lBU0ksMkJsQzhVUSxFa0N2VVQ7SUFoQkg7TUFZTSwyQmxDMlVNO01rQzFVTixvQnBDdVVzQztNb0N0VXRDLDhCcEMrZHFDLEVJaGR0Qzs7QWdDUEw7RUFFSSxzQkFBc0IsRUFDdkI7O0FBSEg7O0VBT0ksa0JwQzJjZ0MsRW9DMWNqQzs7QUFRSDtFQUNFLDhCcEN3Y2dELEVvQ3paakQ7RUFoREQ7SUovQ0ksWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZLEVBQ2I7RUk0Q0g7SUFLSSxZQUFZO0lBRVosb0JwQzJDYyxFb0N0Q2Y7SUFaSDtNQVVNLG9CcEN1YitCLEVvQ3RiaEM7RUFYTDtJQWVJLGVBQWU7SUFDZixtQnBDbWJvQztJb0NsYnBDLDhCQUFnRDtJekJ4RGhELGtDQ0g0QjtJREk1QixpQ0NKNEIsRXdCeUU3QjtJQS9CSDtNQXFCTSwyRHBDb2I0QyxFSW5lN0M7SWdDMEJMO01BMEJRLDJCbEN1Ukk7TWtDdFJKLDhCQUE4QjtNQUM5QiwwQkFBMEIsRWhDckM3QjtFZ0NTTDs7OztJQW9DTSwyQmxDNlFNO0lrQzVRTiw4QkNsQ2lEO0lEbUNqRCxvQ0FBMkcsRWhDL0M1RztFZ0NTTDtJQTRDSSxpQnBDTWM7SVd6RmQsMkJ5QnFGNEI7SXpCcEY1QiwwQnlCb0Y0QixFQUM3Qjs7QUFRSDtFSnRHSSxZQUFZO0VBQ1osZUFBZTtFQUNmLFlBQVksRUFDYjs7QUltR0g7RUFJSSxZQUFZLEVBS2I7RUFUSDtJQU9NLG9CcENtWStCLEVvQ2xZaEM7O0FBUkw7RUFZSSxlQUFlO0VBQ2YsbUJwQytYb0M7RVdoZnBDLHdCQ0c0QixFd0JnSDdCOztBQWZIOzs7O0VBb0JNLFlwQ2dIdUI7RW9DL0d2QixnQkFBZ0I7RUFDaEIsMEJsQzhDWSxFRXBJYjs7QWdDMkZMO0VBRUksZUFBZTtFQUNmLFlBQVksRUFNYjtFQVRIO0lBTU0sbUJwQ3lXK0I7SW9DeFcvQixlQUFlLEVBQ2hCOztBQVVMO0VBRUksY0FBYyxFQUNmOztBQUhIO0VBS0ksZUFBZSxFQUNoQjs7QUV0Skg7RUFDRSxtQkFBbUI7RUFDbkIsd0IvQkZnQyxFK0JRakM7RUFSRDtJTkhJLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWSxFQUNiO0Vmd0NDO0lxQnhDSjtNM0JESSx3QkNHNEIsRTBCTS9CLEVBQUE7O0FBU0Q7RUFDRSxjdEM2YjZCLEVzQ3hiOUI7RXJCaUJHO0lxQnZCSjtNM0JsQkksaUIyQnNCd0IsRUFFM0IsRUFBQTs7QUFHRDs7RUFFRSxnQkFBZ0I7RUFDaEIsU0FBUztFQUNULFFBQVE7RUFDUixjdENvYjZCLEVzQzlhOUI7RXJCR0c7SXFCZEo7O00zQjNCSSxpQjJCb0N3QixFQUUzQixFQUFBOztBQUVEO0VBQ0UsT0FBTyxFQUNSOztBQUVEO0VBQ0UsVUFBVSxFQUNYOztBQUVEO0VBQ0UseUJBQWlCO0VBQWpCLGlCQUFpQjtFQUNqQixPQUFPO0VBQ1AsY3RDa2E2QjtFc0NqYTdCLFlBQVksRUFNYjtFckJqQkc7SXFCT0o7TTNCaERJLGlCMkJ3RHdCLEVBRTNCLEVBQUE7O0FBT0Q7RUFDRSxZQUFZO0VBQ1oscUJ0QzRad0M7RXNDM1p4Qyx3QnRDMlp3QztFc0MxWnhDLG1CQUFtQjtFQUNuQixtQnRDK0ZzQixFc0N0RnZCO0VBZEQ7SUFRSSxzQkFBc0IsRWxDdERyQjtFa0M4Q0w7SUFZSSxlQUFlLEVBQ2hCOztBQUlIO0VBQ0UsWUFBWTtFQUNaLFd0Q1dnQjtFc0NWaEIscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUN4QixxQi9CdEZnQztFK0J1RmhDLG9CL0J2RmdDO0UrQndGaEMsaUJBQWlCLEVBS2xCO0VBWkQ7SUFVSSxpQkFBaUIsRUFDbEI7O0FBU0g7RUFDRSxzQkFBc0I7RUFDdEIsbUJ0QzZEc0I7RXNDNUR0QixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLDhCQUF1QztFM0IzR3JDLHdCQ0c0QixFMEI4Ry9CO0VBWEQ7SUFTSSxzQkFBc0IsRWxDNUZyQjs7QWtDb0dMO0VBRUksWUFBWSxFQUNiOztBQUhIO0VBTUksZUFBZTtFQUNmLHFCQUF3QjtFQUN4Qix3QkFBd0IsRUFLekI7RUFiSDtJQVdNLGtCQUFrQixFQUNuQjs7QUFaTDtFQWdCSSxrQkFBa0IsRUFDbkI7O0FBSUg7RUFFSSwwQnRDMFZvQyxFc0NyVnJDO0VBUEg7SUFLTSwwQnRDdVZrQyxFSXJkbkM7O0FrQ3lITDtFQVdNLDBCdEMrVWtDLEVzQzFVbkM7RUFoQkw7SUFjUSwwQnRDNlVnQyxFSXBkbkM7O0FrQ3lITDs7Ozs7Ozs7OztFQXVCUSwwQnRDcVVnQyxFSXBjbkM7O0FrQ3dHTDtFQTZCSSx1Q0FBc0IsRUFDdkI7O0FBSUg7RUFFSSxhdENtVG9DLEVzQzlTckM7RUFQSDtJQUtNLGF0Q2dUa0MsRUloZG5DOztBa0MySkw7RUFXTSxnQ3RDd1NrQyxFc0NuU25DO0VBaEJMO0lBY1EsaUN0Q3NTZ0MsRUkvY25DOztBa0MySkw7Ozs7Ozs7Ozs7RUF1QlEsYXRDOFJnQyxFSS9ibkM7O0FrQzBJTDtFQTZCSSw2Q0FBc0IsRUFDdkI7O0FBU0g7RU52TkksWUFBWTtFQUNaLGVBQWU7RUFDZixZQUFZLEVBQ2I7O0FmcURDO0VxQitKSjtJQUtRLFlBQVk7SUFDWixlQUFlLEVBQ2hCLEVBQUE7O0FyQm5MSDtFcUI0S0o7SUFVTSwwQkFBMEIsRUFFN0IsRUFBQTs7QUFaSDtFTnZOSSxZQUFZO0VBQ1osZUFBZTtFQUNmLFlBQVksRUFDYjs7QWZxREM7RXFCK0pKO0lBa0JRLFlBQVk7SUFDWixlQUFlLEVBQ2hCLEVBQUE7O0FyQmhNSDtFcUI0S0o7SUF1Qk0sMEJBQTBCLEVBRTdCLEVBQUE7O0FBekJIO0VOdk5JLFlBQVk7RUFDWixlQUFlO0VBQ2YsWUFBWSxFQUNiOztBZnFEQztFcUIrSko7SUErQlEsWUFBWTtJQUNaLGVBQWUsRUFDaEIsRUFBQTs7QXJCN01IO0VxQjRLSjtJQW9DTSwwQkFBMEIsRUFFN0IsRUFBQTs7QUMzUEg7RUFDRSxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHVCdkM0akIrQjtFdUMzakIvQix1QkNENkI7RTdCSDNCLHdCQ0c0QjtFMkJJOUIsc0NyQ3VWVSxFcUN0Vlg7O0FBRUQ7RUFFRSxpQnZDa2pCZ0MsRXVDampCakM7RUFIRDtJUFpJLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWSxFQUNiOztBT2NIO0VBQ0UsdUJ2QytpQitCLEV1QzlpQmhDOztBQUVEO0VBQ0Usc0JBQTRCO0VBQzVCLGlCQUFpQixFQUNsQjs7QUFFRDtFQUNFLGlCQUFpQixFQUNsQjs7QUFVRDtFQUVJLHNCQUFzQixFbkNoQ0Q7O0FtQzhCekI7RUFNSSxxQnZDb2hCOEIsRXVDbmhCL0I7O0FBR0g7RTVCeENJLGtDQ0g0QjtFREk1QixpQ0NKNEIsRTJCK0MzQjs7QUFKTDtFNUIxQkkscUNDakI0QjtFRGtCNUIsb0NDbEI0QixFMkJxRDNCOztBQVNMO0VBRUUseUJ2QzJmZ0M7RXVDMWZoQyx1QkNqRTZCO0VEa0U3Qiw2Q3JDeVJVLEVxQ3BSWDtFQVREO0lQbkVJLFlBQVk7SUFDWixlQUFlO0lBQ2YsWUFBWSxFQUNiO0VPZ0VIO0k1QmpFSSxxQzRCd0U4RSxFQUMvRTs7QUFHSDtFQUVFLHlCdkNnZmdDO0V1Qy9laEMsdUJDNUU2QjtFRDZFN0IsMENyQzhRVSxFcUN6UVg7RUFURDtJUDlFSSxZQUFZO0lBQ1osZUFBZTtJQUNmLFlBQVksRUFDYjtFTzJFSDtJNUI1RUkscUNDRzRCLEUyQmlGN0I7O0FBUUg7RUFDRSx3QkFBOEI7RUFDOUIsd0J2Q2llK0I7RXVDaGUvQix1QkFBNkI7RUFDN0IsaUJBQWlCLEVBQ2xCOztBQUVEO0VBQ0Usd0JBQThCO0VBQzlCLHVCQUE2QixFQUM5Qjs7QUFPRDtFRTlHRSwwQnZDeUtnQjtFdUN4S2hCLHNCdkN3S2dCLEVxQ3pEakI7RUU3R0M7O0lBRUUsOEJBQThCLEVBQy9COztBRjJHSDtFRWpIRSwwQnZDMExpQjtFdUN6TGpCLHNCdkN5TGlCLEVxQ3ZFbEI7RUVoSEM7O0lBRUUsOEJBQThCLEVBQy9COztBRjhHSDtFRXBIRSwwQnZDdUlzQjtFdUN0SXRCLHNCdkNzSXNCLEVxQ2pCdkI7RUVuSEM7O0lBRUUsOEJBQThCLEVBQy9COztBRmlISDtFRXZIRSwwQnZDZ1N1QjtFdUMvUnZCLHNCdkMrUnVCLEVxQ3ZLeEI7RUV0SEM7O0lBRUUsOEJBQThCLEVBQy9COztBRm9ISDtFRTFIRSwwQnZDaUNlO0V1Q2hDZixzQnZDZ0NlLEVxQzJGaEI7RUV6SEM7O0lBRUUsOEJBQThCLEVBQy9COztBRnlISDtFRXJIRSw4QkFBOEI7RUFDOUIsc0J2QzhKZ0IsRXFDeENqQjs7QUFDRDtFRXhIRSw4QkFBOEI7RUFDOUIsbUJ6Q3NRbUMsRXVDN0lwQzs7QUFDRDtFRTNIRSw4QkFBOEI7RUFDOUIsc0J2QzRIc0IsRXFDQXZCOztBQUNEO0VFOUhFLDhCQUE4QjtFQUM5QixzQnZDK0tpQixFcUNoRGxCOztBQUNEO0VFaklFLDhCQUE4QjtFQUM5QixzQnZDcVJ1QixFcUNuSnhCOztBQUNEO0VFcElFLDhCQUE4QjtFQUM5QixzQnZDc0JlLEVxQytHaEI7O0FFN0hDOztFQUVFLHVDQUFrQixFQUNuQjs7QUFDRDs7OztFQUlFLFlBQVksRUFDYjs7QUFDRDs7OztFQUlFLGlDQUFXLEVBQ1o7O0FBQ0Q7RUFFSSxZekNtaUJ5QixFSXBqQjFCOztBbUMwSUw7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGVBQWUsRUFDaEI7O0FBR0Q7RTVCcEtJLHVCNEJzSzJCLEVBQzlCOztBQUNEO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxTQUFTO0VBQ1QsVUFBVTtFQUNWLFFBQVE7RUFDUixpQnZDMlpnQyxFdUMxWmpDOztBQUtEO0U1QjlLSSxrQ0NINEI7RURJNUIsaUNDSjRCLEUyQm1ML0I7O0FBQ0Q7RTVCbktJLHFDQ2pCNEI7RURrQjVCLG9DQ2xCNEIsRTJCc0wvQjs7QXRCaEpHO0VzQjhKQTtJQUNFLHFCQUFjO0lBQWQsc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWM7SUFDZCw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUNwQix3QnZDaVk0QjtJdUNoWTVCLHVCdkNvWDJCO0l1Q25YM0IsdUJ2QytYNEIsRXVDdlg3QjtJQWJEO01BUUksb0JBQVk7TUFBWixvQkFBWTtVQUFaLGdCQUFZO2NBQVosWUFBWTtNQUNaLHVCdkMyWDBCO011QzFYMUIsaUJBQWlCO01BQ2pCLHNCdkN5WDBCLEV1Q3hYM0IsRUFBQTs7QXRCMUtIO0VzQnlNRjtJQUVJLHFCQUFjO0lBQWQsc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWM7SUFDZCw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQixFQXFEdkI7SUF4REQ7TUFZTSxvQkFBWTtNQUFaLG9CQUFZO1VBQVosZ0JBQVk7Y0FBWixZQUFZLEVBMkNmO01BdkRIO1FBbUJNLGVBQWU7UUFDZixlQUFlLEVBQ2hCO01BckJMO1E1QnJPRSw4QjRCK1BvQztRNUI5UHBDLDJCNEI4UG9DLEVBUS9CO1FBbENQO1VBNkJVLDJCQUEyQixFQUM1QjtRQTlCVDtVQWdDVSw4QkFBOEIsRUFDL0I7TUFqQ1Q7UTVCdk5FLDZCNEIyUG1DO1E1QjFQbkMsMEI0QjBQbUMsRUFROUI7UUE1Q1A7VUF1Q1UsMEJBQTBCLEVBQzNCO1FBeENUO1VBMENVLDZCQUE2QixFQUM5QjtNQTNDVDtRQStDUSxpQkFBaUIsRUFNbEI7UUFyRFA7O1VBbURVLGlCQUFpQixFQUNsQixFQUFBOztBdEI3UFA7RXNCMFFGO0lBQ0Usd0JBQWdCO09BQWhCLHFCQUFnQjtZQUFoQixnQkFBZ0I7SUFDaEIsNEJ2Q3dSbUM7T3VDeFJuQyx5QnZDd1JtQztZdUN4Um5DLG9CdkN3Um1DLEV1Q2xScEM7SUFSRDtNQUtJLHNCQUFzQjtNQUN0QixZQUFZLEVBQ2IsRUFBQTs7QUc5VEw7RUFDRSxzQjFDOHZCa0M7RTBDN3ZCbEMsc0JuQ0dnQztFbUNGaEMsaUJBQWlCO0VBQ2pCLHNDeEM4VlU7RVM5VlIsd0JDRzRCLEU4QkEvQjtFQVBEO0lWRUksWUFBWTtJQUNaLGVBQWU7SUFDZixZQUFZLEVBQ2I7O0FVSUg7RUFDRSxZQUFZLEVBMkJiO0VBNUJEO0lBS0ksc0JBQXNCO0lBQ3RCLHNCMUNpdkJpQztJMENodkJqQyxxQjFDZ3ZCaUM7STBDL3VCakMsMkJ4Q2lWUTtJd0NoVlIsYUFBaUMsRUFDbEM7RUFWSDtJQW1CSSwyQkFBMkIsRUFDNUI7RUFwQkg7SUFzQkksc0JBQXNCLEVBQ3ZCO0VBdkJIO0lBMEJJLDJCeEMrVFEsRXdDOVRUOztBQ3BDSDtFQUNFLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsbUJwQ0VnQztFb0NEaEMsc0JwQ0NnQztFSUQ5Qix3QkNHNEIsRStCRC9COztBQUVEO0VBQ0UsZ0JBQWdCLEVBaUNqQjtFQWxDRDtJQUtNLGVBQWU7SWhDa0JqQixvQ0N4QjRCO0lEeUI1QixpQ0N6QjRCLEUrQlEzQjtFQVBMO0loQ1NJLHFDQ1Y0QjtJRFc1QixrQ0NYNEIsRStCYTNCO0VBWkw7SUFpQk0sV0FBVztJQUNYLFkzQ2tnQnFDO0kyQ2pnQnJDLGdCQUFnQjtJQUNoQiwwQnpDZ0pZO0l5Qy9JWixzQnpDK0lZLEVFcEliO0V1Q2hDTDtJQTJCTSwyQnpDK1RNO0l5QzlUTixxQkFBcUI7SUFDckIsb0IzQzBUc0M7STJDelR0Qyw4QkNwQzhCO0lEcUM5QixtQjNDMmZxQyxFSTFmdEM7O0F1Q0lMO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWix3QjNDNGQwQztFMkMzZDFDLGtCQUFrQjtFQUNsQixlekMySGdCO0V5QzFIaEIsc0JBQXNCO0VBQ3RCLDhCQ2xEeUI7RURtRHpCLHFCM0NrZXlDLEUyQzNkMUM7RUFmRDtJQVdJLGUzQzZEMEI7STJDNUQxQixzQ3pDMFNRO0l5Q3pTUixtQjNDaWV1QyxFSW5nQnRDOztBeUNwQkg7RUFDRSxtQkRBdUI7RUNDdkIsbUI3Q29Lb0IsRTZDbktyQjs7QUFJRztFbENxQkYsa0NYME0wQjtFV3pNMUIsK0JYeU0wQixFNkM3TnZCOztBQUdEO0VsQ0VGLG1DWHdOMEI7RVd2TjFCLGdDWHVOMEIsRTZDeE52Qjs7QUFkTDtFQUNFLG9CREN1QjtFQ0F2QixvQjdDcUtvQixFNkNwS3JCOztBQUlHO0VsQ3FCRixxQ0N0QjZCO0VEdUI3QixrQ0N2QjZCLEVpQ0cxQjs7QUFHRDtFbENFRixzQ0NSNkI7RURTN0IsbUNDVDZCLEVpQ1ExQjs7QUNaUDtFQUNFLHNCQUFzQjtFQUN0QixzQjlDK25COEI7RThDOW5COUIsZTlDNG5CNkI7RThDM25CN0Isa0I5QzRuQjhCO0U4QzNuQjlCLGVBQWU7RUFDZixZOUN1bkI4QjtFOEN0bkI5QixtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLHlCQUF5QjtFbkNWdkIsd0JDRzRCLEVrQ2MvQjtFQWhCRDtJQWNJLGNBQWMsRUFDZjs7QUFJSDtFQUNFLG1CQUFtQjtFQUNuQixVQUFVLEVBQ1g7O0FBSUQ7RUFFSSxZOUNrbUI0QjtFOENqbUI1QixzQkFBc0I7RUFDdEIsZ0JBQWdCLEUxQ1pmOztBMENxQkw7RUFDRSxxQjlDNGxCOEI7RThDM2xCOUIsb0I5QzJsQjhCO0VXcm9CNUIscUJYd29CNkIsRThDNWxCaEM7O0FBTUQ7RUNuREUsc0M3QytWVSxFNEMxU1g7RUFGRDtJQy9DTSxzQ0FBd0IsRTNDZ0J6Qjs7QTBDbUNMO0VDdkRFLDBCN0N5S2dCLEU0Q2hIakI7RUFGRDtJQ25ETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDdUNMO0VDM0RFLDBCN0MwTGlCLEU0QzdIbEI7RUFGRDtJQ3ZETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDMkNMO0VDL0RFLDBCN0N1SXNCLEU0Q3RFdkI7RUFGRDtJQzNETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDK0NMO0VDbkVFLDBCN0NnU3VCLEU0QzNOeEI7RUFGRDtJQy9ETSwwQkFBd0IsRTNDZ0J6Qjs7QTBDbURMO0VDdkVFLDBCN0NpQ2UsRTRDd0NoQjtFQUZEO0lDbkVNLDBCQUF3QixFM0NnQnpCOztBNEN2Qkw7RUFDRSxtQkFBK0M7RUFDL0Msb0JoRHFpQm1DO0VnRHBpQm5DLHNDOUMrVlU7RVM5VlIsc0JYcU8wQixFZ0RoTzdCO0UvQm9DRztJK0I3Q0o7TUFPSSxtQmhEZ2lCaUMsRWdEOWhCcEMsRUFBQTs7QUFFRDtFQUNFLHNDQUF3QixFQUN6Qjs7QUFFRDtFQUNFLGlCQUFpQjtFQUNqQixnQkFBZ0I7RXJDYmQsaUJxQ2NzQixFQUN6Qjs7QUNmRDtFQUNFLGNqRDBxQmdDO0VpRHpxQmhDLHNCMUNEZ0M7RTBDRWhDLDhCQUE2QztFdENIM0Msd0JDRzRCLEVxQ0UvQjs7QUFHRDtFQUVFLGVBQWUsRUFDaEI7O0FBR0Q7RUFDRSxrQmpEOHBCZ0MsRWlEN3BCakM7O0FBT0Q7RUFDRSxvQkFBOEIsRUFTL0I7RUFWRDtJQUtJLG1CQUFtQjtJQUNuQixVQUFVO0lBQ1YsYUFBYTtJQUNiLGVBQWUsRUFDaEI7O0FBUUg7RUN6Q0UsMEJoRDBMaUI7RWdEekxqQixzQmxENmlCcUM7RWtENWlCckMsYWhEOFZVLEUrQ3JUWDtFQ3ZDQztJQUNFLDBCQUF3QixFQUN6QjtFQUNEO0lBQ0UsZUFBYSxFQUNkOztBRG1DSDtFQzVDRSwwQmhEdUlzQjtFZ0R0SXRCLHNCbERpakJxQztFa0RoakJyQyxhaEQ4VlUsRStDbFRYO0VDMUNDO0lBQ0UsMEJBQXdCLEVBQ3pCO0VBQ0Q7SUFDRSxlQUFhLEVBQ2Q7O0FEc0NIO0VDL0NFLDBCaERnU3VCO0VnRC9SdkIsc0JsRHNqQnFDO0VrRHJqQnJDLGFoRDhWVSxFK0MvU1g7RUM3Q0M7SUFDRSwwQkFBd0IsRUFDekI7RUFDRDtJQUNFLGVBQWEsRUFDZDs7QUR5Q0g7RUNsREUsMEJoRGlDZTtFZ0RoQ2Ysc0JsRDBqQnFDO0VrRHpqQnJDLGFoRDhWVSxFK0M1U1g7RUNoREM7SUFDRSwwQkFBd0IsRUFDekI7RUFDRDtJQUNFLGVBQWEsRUFDZDs7QUNSSDtFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQUZoQztFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQUZoQztFQUNFO0lBQU8sOEJBQWdDLEVBQUE7RUFDdkM7SUFBSyx5QkFBeUIsRUFBQSxFQUFBOztBQVFoQztFQUNFLGVBQWU7RUFDZixZQUFZO0VBQ1osZTVDWmdDO0U0Q2FoQyxzQjVDYmdDLEU0Q2NqQzs7QUFDRDtFQUVFLHVCbkRpckJnQztFbUQvcUJoQyxVQUFVO0VBRVYseUJBQWlCO0tBQWpCLHNCQUFpQjtVQUFqQixpQkFBaUI7RXhDdEJmLHdCQ0c0QixFdUNzQi9COztBQUdEO0VBQ0UsMEJuRHVxQm1DO0VtRHJxQm5DLFVBQVUsRUFDWDs7QUFDRDtFQUNFLDBCbkRrcUJtQztFV3pxQmpDLG9DQ3hCNEI7RUR5QjVCLGlDQ3pCNEIsRXVDaUMvQjs7QUFDRDtFQUNFLDBCbkQ4cEJtQztFV3pxQmpDLG9DQ3hCNEI7RUR5QjVCLGlDQ3pCNEIsRXVDcUMvQjs7QUFFRDtFeEM3QkkscUNDVjRCO0VEVzVCLGtDQ1g0QixFdUN5Qy9COztBQUNEO0V4Q2hDSSxxQ0NWNEI7RURXNUIsa0NDWDRCLEV1QzRDL0I7O0FBR0Q7RUFDRSx1Qm5EZ3BCZ0M7RVduc0I5Qix3QkNHNEI7RUNENUIsNkRib3NCa0Q7VWFwc0JsRCxxRGJvc0JrRCxFbURocEJyRDs7QUFDRDs7RUFFRSx1Qm5EMG9CZ0M7RVduc0I5Qix3QkNHNEI7RUNENUIscURib3NCa0QsRW1EMW9CckQ7O0FBR0Q7RUFDRTtJQUNFLHVCbkRrb0I4QjtJV25zQjlCLHdCQ0c0QjtJQ0Q1Qiw2RGJvc0JrRDtZYXBzQmxELHFEYm9zQmtELEVtRGxvQm5EO0VBQ0Q7SUFDRSxzQkFBc0I7SUFDdEIsZTVDdEU4QjtJNEN1RTlCLHFCQUFxQjtJQUNyQiwwQm5EMm5CaUM7SVd6cUJqQyxvQ0N4QjRCO0lEeUI1QixpQ0N6QjRCLEV1Q3dFN0I7RUFDRDtJeEMvREUscUNDVjRCO0lEVzVCLGtDQ1g0QixFdUMyRTdCLEVBQUE7O0FBUUg7RUNqREUsOE1BQWlDO0VBQWpDLHNNQUFpQztFRG1EakMsdUM1Q3ZGZ0M7VTRDdUZoQywrQjVDdkZnQyxFNEN3RmpDOztBQUNEO0VDckRFLHNNQUFpQztFRHVEakMsK0I1QzNGZ0MsRTRDNEZqQzs7QUFDRDtFQ3pERSxzTUFBaUM7RUQyRGpDLCtCNUMvRmdDLEU0Q2dHakM7O0FBRUQ7RUFDRTtJQy9EQSw4TUFBaUM7SUFBakMseU1BQWlDO0lBQWpDLHNNQUFpQztJRGlFL0IsdUM1Q3JHOEI7WTRDcUc5QiwrQjVDckc4QixFNENzRy9CLEVBQUE7O0FBUUg7RUFDRSwyREFBbUQ7VUFBbkQsbURBQW1ELEVBQ3BEOztBQUNEO0VBQ0UsbURBQW1ELEVBQ3BEOztBQUVEO0VBQ0U7SUFDRSwyREFBbUQ7U0FBbkQsc0RBQW1EO1lBQW5ELG1EQUFtRCxFQUNwRCxFQUFBOztBQVFIO0VFaklJLDBCbkR5TGUsRW1EeExoQjs7QUZnSUg7RUU3SEksMEJuRHFMZSxFbURwTGhCOztBRjRISDtFRXhISSwwQm5EZ0xlLEVtRC9LaEI7O0FBR0Q7RUFDRTtJQUNFLDBCbkQwS2EsRW1EektkLEVBQUE7O0FGb0hMO0VFcElJLDBCbkRzSW9CLEVtRHJJckI7O0FGbUlIO0VFaElJLDBCbkRrSW9CLEVtRGpJckI7O0FGK0hIO0VFM0hJLDBCbkQ2SG9CLEVtRDVIckI7O0FBR0Q7RUFDRTtJQUNFLDBCbkR1SGtCLEVtRHRIbkIsRUFBQTs7QUZ1SEw7RUV2SUksMEJuRCtScUIsRW1EOVJ0Qjs7QUZzSUg7RUVuSUksMEJuRDJScUIsRW1EMVJ0Qjs7QUZrSUg7RUU5SEksMEJuRHNScUIsRW1EclJ0Qjs7QUFHRDtFQUNFO0lBQ0UsMEJuRGdSbUIsRW1EL1FwQixFQUFBOztBRjBITDtFRTFJSSwwQm5EZ0NhLEVtRC9CZDs7QUZ5SUg7RUV0SUksMEJuRDRCYSxFbUQzQmQ7O0FGcUlIO0VFaklJLDBCbkR1QmEsRW1EdEJkOztBQUdEO0VBQ0U7SUFDRSwwQm5EaUJXLEVtRGhCWixFQUFBOztBQ25CSDtFQUNFLHFCQUFjO0VBQWQsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxzQi9DRThCLEUrQ0QvQjs7QUFDRDtFQUNFLG9CQUFRO0VBQVIsZ0JBQVE7TUFBUixZQUFRO1VBQVIsUUFBUSxFQUNUOztBQUNEO0VBQ0UsMkJBQW1CO01BQW5CLDRCQUFtQjtVQUFuQixtQkFBbUIsRUFDcEI7O0FBQ0Q7RUFDRSw2QkFBcUI7TUFBckIseUJBQXFCO1VBQXJCLHFCQUFxQixFQUN0Qjs7QUFtQ0g7RUFDRSxlQUFlLEVBTWhCO0VBUEQ7SUFLSSxnQkFBZ0IsRUFDakI7O0FBUUg7RUFDRSxtQnRENnNCZ0MsRXNENXNCakM7O0FBRUQ7RUFDRSxvQnREeXNCZ0MsRXNEeHNCakM7O0FBT0Q7RUFDRSxjQUFjO0VBQ2QsbUJ0RDhyQmdDLEVzRDdyQmpDOztBQU9EO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUNsQjs7QUNwRkQ7RUFFRSxnQkFBZ0I7RUFDaEIsaUJBQWlCLEVBQ2xCOztBQU9EO0VBQ0UsbUJBQW1CO0VBQ25CLGVBQWU7RUFDZix5QnZEc3RCNkM7RXVEcHRCN0MsaUJDaEIrQjtFRGlCL0IsMEJDbkJxQztFRG9CckMscUJ2RGdzQmtDLEV1RGxwQm5DO0VBckREO0k1Q0xJLDJCNkNMNkI7STdDTTdCLDBCNkNONkIsRURxQjlCO0VBWEg7SUFjSSxpQkFBaUI7STVDTGpCLDhCNkNuQjZCO0k3Q29CN0IsNkI2Q3BCNkIsRUQwQjlCO0VBaEJIO0lBb0JNLDJCckQrVE07SXFEOVROLG9CdkQyVHNDO0l1RDFUdEMsc0NyRDZUTSxFRTFUUDtJbUR6Qkw7TUEwQlEsZUFBZSxFQUNoQjtJQTNCUDtNQTZCUSwyQnJEc1RJLEVxRHJUTDtFQTlCUDtJQW9DTSxXQUFXO0lBQ1gsWXZEd0x1QjtJdUR2THZCLHNCQUFzQjtJQUN0QiwwQnJEc0hZO0lxRHJIWixzQnJEcUhZLEVFcEliO0ltRHpCTDs7Ozs7OztNQThDUSxlQUFlLEVBQ2hCO0lBL0NQO01BaURRLGV2RDhwQitCLEV1RDdwQmhDOztBQUtQO0VBRUksaUJBQWlCLEVBQ2xCOztBQVNIO0VBQ0UsWUFBWTtFQUNaLFl2RGdwQmtDO0V1RC9vQmxDLG9CQUFvQixFQVlyQjtFQWZEO0lBTUksWXZEOG9CZ0MsRXVEN29CakM7RUFQSDtJQVdJLFl2RHVvQmdDO0l1RHRvQmhDLHNCQUFzQjtJQUN0QiwwQnZEMm5CbUMsRUluc0JsQzs7QXFEcEJIO0VBQ0UsYXZEK1ZRO0V1RDlWUiwwQnZEd0xlLEV1RHZMaEI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkRxSW9CLEV1RHBJckI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkQ4UnFCLEV1RDdSdEI7O0FBRUQ7O0VBQ0UsYXZEMFZRLEV1RHhVVDtFQW5CRDs7SUFJSSxlQUFlLEVBQ2hCO0VBTEg7OztJQVFJLGF2RG1WTTtJdURsVk4sMEJBQXdCLEVyRE16QjtFcURmSDs7OztJQWNNLFlBQVk7SUFDWix3QnZENFVJO0l1RDNVSixvQnZEMlVJLEVFM1RQOztBcURyQ0g7RUFDRSxhdkQrVlE7RXVEOVZSLDBCdkQrQmEsRXVEOUJkOztBQUVEOztFQUNFLGF2RDBWUSxFdUR4VVQ7RUFuQkQ7O0lBSUksZUFBZSxFQUNo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O0lDSUksMkJwRjJWUTtJb0YxVlIsMkM3REd3QjtJNkRGeEIsdUM3REV3QixFckJESDtFaUZQekI7SUNXSSwyQnBGb1ZRO0lvRm5WUiwyQzdESndCO0k2REt4Qix1QzdETHdCLEU2RE16QjtFRGRIOzs7SUNtQkksMkJwRjRVUTtJb0YzVVIsMkM3RFp3QjtJNkRheEIsdUM3RGJ3QixFNkRzQnpCO0lEOUJIOzs7Ozs7O01DMEJNLDJCcEZxVU07TW9GcFVOLDJDN0RsQnVCO002RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtFQUlIO0lBQ0UsZUFBZTtJQUNmLDBCN0Q5QjhCLEU2RG9DL0I7SUFSRDtNQU1JLDJDN0QvQnNCLEU2RGdDdkI7RUR4Q0w7SUMrQ00sMEI3RDFDNEI7STZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0VEakRMO0lDbURNLDBCN0Q5QzRCO0k2RCtDNUIsbUI3RDlDeUIsRXJCQ047RWtGc0V2QjtJQTlFQSwyQnBGZ1dVO0lvRi9WViwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RHFGNUI7SUFkRDtNQXpFRSwyQnBGMlZRO01vRjFWUiw0QzdET2dDO002RE5oQyx3QzdETWdDLEVyQkxYO0lrRnNFdkI7TUFsRUUsMkJwRm9WUTtNb0ZuVlIsNEM3REFnQztNNkRDaEMsd0M3RERnQyxFNkRFakM7SUErREQ7OztNQTFERSwyQnBGNFVRO01vRjNVUiw0QzdEUmdDO002RFNoQyx3QzdEVGdDLEU2RGtCakM7TUErQ0Q7Ozs7Ozs7UUFuREksMkJwRnFVTTtRb0ZwVU4sNEM3RGQrQjtRNkRlL0Isd0M3RGYrQixFNkRnQmhDO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksNEM3RDNCOEIsRTZENEIvQjtJQXFDSDtNQTlCSSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SUE0Qkg7TUExQkksMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtFaUZQekI7SUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGMEtnQjtJb0Z6S2hCLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEb0c1QjtJRDFHSDtNQ0lJLGVwRnFLYztNb0ZwS2QsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEY4SmM7TW9GN0pkLDJDN0RKd0I7TTZES3hCLHVDN0RMd0IsRTZETXpCO0lEZEg7OztNQ21CSSxlcEZzSmM7TW9GckpkLDJDN0Rad0I7TTZEYXhCLHVDN0Rid0IsRTZEc0J6QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEYrSVk7UW9GOUlaLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSxlcEYwS2dCO01vRnpLaEIsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGcUtjO1FvRnBLZCw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGOEpjO1FvRjdKZCw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRnNKYztRb0ZySmQsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRitJWTtVb0Y5SVosNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixtQjdEOUN5QixFckJDTjtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsMkJwRmdXVTtJb0YvVlYsMEI3REtnQztJNkRKaEMsbUI3REs2QixFNkR1RzVCO0lEN0dIO01DSUksMkJwRjJWUTtNb0YxVlIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSwyQnBGb1ZRO01vRm5WUiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMkM3RFp3QjtNNkRheEIsdUM3RGJ3QixFNkRzQnpCO01EOUJIOzs7Ozs7O1FDMEJNLDJCcEZxVU07UW9GcFVOLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSwyQnBGZ1dVO01vRi9WViwwQjdES2dDO002REpoQyxtQjdESzZCLEU2RHFGNUI7TUFkRDtRQXpFRSwyQnBGMlZRO1FvRjFWUiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsMkJwRm9WUTtRb0ZuVlIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSwyQnBGNFVRO1FvRjNVUiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksMkJwRnFVTTtVb0ZwVU4sNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixtQjdEOUN5QixFckJDTjtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGd0lzQjtJb0Z2SXRCLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEMEc1QjtJRGhISDtNQ0lJLGVwRm1Jb0I7TW9GbElwQiwyQzdER3dCO002REZ4Qix1QzdERXdCLEVyQkRIO0lpRlB6QjtNQ1dJLGVwRjRIb0I7TW9GM0hwQiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksZXBGb0hvQjtNb0ZuSHBCLDJDN0Rad0I7TTZEYXhCLHVDN0Rid0IsRTZEc0J6QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEY2R2tCO1FvRjVHbEIsMkM3RGxCdUI7UTZEbUJ2Qix1QzdEbkJ1QixFNkRvQnhCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtJa0ZzRXZCO01BOUVBLGVwRndJc0I7TW9Gdkl0QiwwQjdES2dDO002REpoQyxtQjdESzZCLEU2RHFGNUI7TUFkRDtRQXpFRSxlcEZtSW9CO1FvRmxJcEIsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRjRIb0I7UW9GM0hwQiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRm9Ib0I7UW9GbkhwQiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksZXBGNkdrQjtVb0Y1R2xCLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsbUI3RDlDeUIsRXJCQ047SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRjJMaUI7SW9GMUxqQiwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RDZHNUI7SURuSEg7TUNJSSxlcEZzTGU7TW9GckxmLDJDN0RHd0I7TTZERnhCLHVDN0RFd0IsRXJCREg7SWlGUHpCO01DV0ksZXBGK0tlO01vRjlLZiwyQzdESndCO002REt4Qix1QzdETHdCLEU2RE16QjtJRGRIOzs7TUNtQkksZXBGdUtlO01vRnRLZiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGZ0thO1FvRi9KYiwyQzdEbEJ1QjtRNkRtQnZCLHVDN0RuQnVCLEU2RG9CeEI7SUFJSDtNQUNFLGVBQWU7TUFDZiwwQjdEOUI4QixFNkRvQy9CO01BUkQ7UUFNSSwyQzdEL0JzQixFNkRnQ3ZCO0lEeENMO01DK0NNLDBCN0QxQzRCO002RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lrRnNFdkI7TUE5RUEsZXBGMkxpQjtNb0YxTGpCLDBCN0RLZ0M7TTZESmhDLG1CN0RLNkIsRTZEcUY1QjtNQWREO1FBekVFLGVwRnNMZTtRb0ZyTGYsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRitLZTtRb0Y5S2YsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEZ1S2U7UW9GdEtmLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZnS2E7VW9GL0piLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsbUI3RDlDeUIsRXJCQ047SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRmlTdUI7SW9GaFN2QiwwQjdES2dDO0k2REpoQyxtQjdESzZCLEU2RGdINUI7SUR0SEg7TUNJSSxlcEY0UnFCO01vRjNSckIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEZxUnFCO01vRnBSckIsMkM3REp3QjtNNkRLeEIsdUM3REx3QixFNkRNekI7SURkSDs7O01DbUJJLGVwRjZRcUI7TW9GNVFyQiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGc1FtQjtRb0ZyUW5CLDJDN0RsQnVCO1E2RG1CdkIsdUM3RG5CdUIsRTZEb0J4QjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixtQjdEMUN5QixFNkQyQzFCO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsbUI3RDlDeUIsRXJCQ047SWtGc0V2QjtNQTlFQSxlcEZpU3VCO01vRmhTdkIsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGNFJxQjtRb0YzUnJCLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZxUnFCO1FvRnBSckIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEY2UXFCO1FvRjVRckIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRnNRbUI7VW9GclFuQiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEZrQ2U7SW9GakNmLDBCN0RLZ0M7STZESmhDLG1CN0RLNkIsRTZEbUg1QjtJRHpISDtNQ0lJLGVwRjZCYTtNb0Y1QmIsMkM3REd3QjtNNkRGeEIsdUM3REV3QixFckJESDtJaUZQekI7TUNXSSxlcEZzQmE7TW9GckJiLDJDN0RKd0I7TTZES3hCLHVDN0RMd0IsRTZETXpCO0lEZEg7OztNQ21CSSxlcEZjYTtNb0ZiYiwyQzdEWndCO002RGF4Qix1QzdEYndCLEU2RHNCekI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGT1c7UW9GTlgsMkM3RGxCdUI7UTZEbUJ2Qix1QzdEbkJ1QixFNkRvQnhCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLG1CN0QxQ3lCLEU2RDJDMUI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixtQjdEOUN5QixFckJDTjtJa0ZzRXZCO01BOUVBLGVwRmtDZTtNb0ZqQ2YsMEI3REtnQztNNkRKaEMsbUI3REs2QixFNkRxRjVCO01BZEQ7UUF6RUUsZXBGNkJhO1FvRjVCYiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGc0JhO1FvRnJCYiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLGVwRmNhO1FvRmJiLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZPVztVb0ZOWCw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsbUI3RDFDeUIsRTZEMkMxQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLG1CN0Q5Q3lCLEVyQkNOO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7OztJQ0RFLFl0RjRRbUM7SXNGM1FuQywwQnBGeUtnQjtJb0Z4S2hCLHNCcEZ3S2dCLEVvRmdCZjtJRHpMSDs7O01DSUksWXRGdVFpQztNc0Z0UWpDLDBCQStKbUQ7TUE5Sm5ELHNCQWdLbUIsRWxGL0pFO0lpRlB6Qjs7Ozs7TUNXSSxZdEZnUWlDO01zRi9QakMsMEJBd0ptRDtNQXZKbkQsc0JBeUptQixFQXhKcEI7SURkSDs7Ozs7Ozs7Ozs7OztNQ21CSSxZdEZ3UGlDO01zRnZQakMsMEJBZ0ptRDtNQS9JbkQsc0JBaUptQixFQXhJcEI7TUQ5Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUMwQk0sWXRGaVArQjtRc0ZoUC9CLDBCQXlJaUQ7UUF4SWpELHNCQThJa0IsRUE3SW5CO0lBSUg7OztNQUNFLGVBQWU7TUFDZiwwQnBGc0ljLEVvRmhJZjtNQVJEOzs7UUFNSSwwQkE2SGlELEVBNUhsRDtJRHhDTDs7Ozs7Ozs7O01DK0NNLDBCcEYwSFk7TW9GekhaLHNCcEZ5SFksRW9GeEhiO0lEakRMOzs7OztNQ21ETSwwQnBGc0hZO01vRnJIWixzQnBGcUhZLEVFbEtPO0VpRlB6Qjs7O0lDREUsMkJwRmdXVTtJb0YvVlYsMEJuRkNrQztJbUZBbEMsbUJ0RmdSbUMsRXNGckZsQztJRDVMSDs7O01DSUksMkJwRjJWUTtNb0YxVlIsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLDJCcEZvVlE7TW9GblZSLDBCQXdKbUQ7TUF2Sm5ELHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMEJBZ0ptRDtNQS9JbkQsc0JBaUptQixFQXhJcEI7TUQ5Qkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7UUMwQk0sMkJwRnFVTTtRb0ZwVU4sMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCbkZsQ2dDLEVtRndDakM7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQm5GOUM4QjtNbUYrQzlCLG1CdEZpTytCLEVzRmhPaEM7SURqREw7Ozs7O01DbURNLDBCbkZsRDhCO01tRm1EOUIsbUJ0RjZOK0IsRUkxUVo7RWlGUHpCOzs7SUNERSxZdEZvUm1DO0lzRm5SbkMsMEJwRnVJc0I7SW9GdEl0QixzQnBGc0lzQixFb0Z3RHJCO0lEL0xIOzs7TUNJSSxZdEYrUWlDO01zRjlRakMsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLFl0RndRaUM7TXNGdlFqQywwQkF3Sm1EO01BdkpuRCxzQkF5Sm1CLEVBeEpwQjtJRGRIOzs7Ozs7Ozs7Ozs7O01DbUJJLFl0RmdRaUM7TXNGL1BqQywwQkFnSm1EO01BL0luRCxzQkFpSm1CLEVBeElwQjtNRDlCSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQzBCTSxZdEZ5UCtCO1FzRnhQL0IsMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCcEZvR29CLEVvRjlGckI7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQnBGd0ZrQjtNb0Z2RmxCLHNCcEZ1RmtCLEVvRnRGbkI7SURqREw7Ozs7O01DbURNLDBCcEZvRmtCO01vRm5GbEIsc0JwRm1Ga0IsRUVoSUM7RWlGUHpCOzs7SUNERSxZdEZ3Um1DO0lzRnZSbkMsMEJwRjBMaUI7SW9GekxqQixzQnBGeUxpQixFb0ZRaEI7SURsTUg7OztNQ0lJLFl0Rm1SaUM7TXNGbFJqQywwQkErSm1EO01BOUpuRCxzQkFnS21CLEVsRi9KRTtJaUZQekI7Ozs7O01DV0ksWXRGNFFpQztNc0YzUWpDLDBCQXdKbUQ7TUF2Sm5ELHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksWXRGb1FpQztNc0ZuUWpDLDBCQWdKbUQ7TUEvSW5ELHNCQWlKbUIsRUF4SXBCO01EOUJIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FDMEJNLFl0RjZQK0I7UXNGNVAvQiwwQkF5SWlEO1FBeElqRCxzQkE4SWtCLEVBN0luQjtJQUlIOzs7TUFDRSxlQUFlO01BQ2YsMEJwRnVKZSxFb0ZqSmhCO01BUkQ7OztRQU1JLDBCQTZIaUQsRUE1SGxEO0lEeENMOzs7Ozs7Ozs7TUMrQ00sMEJwRjJJYTtNb0YxSWIsc0JwRjBJYSxFb0Z6SWQ7SURqREw7Ozs7O01DbURNLDBCcEZ1SWE7TW9GdEliLHNCcEZzSWEsRUVuTE07RWlGUHpCOzs7SUNERSxZdEY0Um1DO0lzRjNSbkMsMEJwRmdTdUI7SW9GL1J2QixzQnBGK1J1QixFb0YzRnRCO0lEck1IOzs7TUNJSSxZdEZ1UmlDO01zRnRSakMsMEJBK0ptRDtNQTlKbkQsc0JBZ0ttQixFbEYvSkU7SWlGUHpCOzs7OztNQ1dJLFl0RmdSaUM7TXNGL1FqQywwQkF3Sm1EO01BdkpuRCxzQkF5Sm1CLEVBeEpwQjtJRGRIOzs7Ozs7Ozs7Ozs7O01DbUJJLFl0RndRaUM7TXNGdlFqQywwQkFnSm1EO01BL0luRCxzQkFpSm1CLEVBeElwQjtNRDlCSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztRQzBCTSxZdEZpUStCO1FzRmhRL0IsMEJBeUlpRDtRQXhJakQsc0JBOElrQixFQTdJbkI7SUFJSDs7O01BQ0UsZUFBZTtNQUNmLDBCcEY2UHFCLEVvRnZQdEI7TUFSRDs7O1FBTUksMEJBNkhpRCxFQTVIbEQ7SUR4Q0w7Ozs7Ozs7OztNQytDTSwwQnBGaVBtQjtNb0ZoUG5CLHNCcEZnUG1CLEVvRi9PcEI7SURqREw7Ozs7O01DbURNLDBCcEY2T21CO01vRjVPbkIsc0JwRjRPbUIsRUV6UkE7RWlGUHpCOzs7SUNERSxZdEZnU21DO0lzRi9SbkMsMEJwRmlDZTtJb0ZoQ2Ysc0JwRmdDZSxFb0Z1S2Q7SUR4TUg7OztNQ0lJLFl0RjJSaUM7TXNGMVJqQywwQkErSjZFO01BOUo3RSxzQkFnS21CLEVsRi9KRTtJaUZQekI7Ozs7O01DV0ksWXRGb1JpQztNc0ZuUmpDLDBCQXdKNkU7TUF2SjdFLHNCQXlKbUIsRUF4SnBCO0lEZEg7Ozs7Ozs7Ozs7Ozs7TUNtQkksWXRGNFFpQztNc0YzUWpDLDBCQWdKNkU7TUEvSTdFLHNCQWlKbUIsRUF4SXBCO01EOUJIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1FDMEJNLFl0RnFRK0I7UXNGcFEvQiwwQkF5STJFO1FBeEkzRSxzQkE4SWtCLEVBN0luQjtJQUlIOzs7TUFDRSxlQUFlO01BQ2YsMEJwRkZhLEVvRlFkO01BUkQ7OztRQU1JLDBCQTZIMkUsRUE1SDVFO0lEeENMOzs7Ozs7Ozs7TUMrQ00sMEJwRmRXO01vRmVYLHNCcEZmVyxFb0ZnQlo7SURqREw7Ozs7O01DbURNLDBCcEZsQlc7TW9GbUJYLHNCcEZuQlcsRUUxQlE7RWlGUHpCOzs7OztJQWtDTSxXQUFXO0l4RS9CYix5SFg0VlE7WVc1VlIsaUhYNFZRLEVFM1VQO0VpRnBCTDs7Ozs7SUEwQ00sV0FBVztJeEV2Q2IsZ0ZYNFZRO1lXNVZSLHdFWDRWUSxFbUZsVFA7RUE3Q0w7OztJeEVHSSx3SFg0VlE7WVc1VlIsZ0hYNFZRLEVtRjVSVDtJQW5FSDs7O01BMERNLHlCQUFpQjtjQUFqQixpQkFBaUIsRUFJbEI7TUE5REw7OztRQTREUSx5QkFBaUI7Z0JBQWpCLGlCQUFpQixFRTNEdEI7TUZESDs7Ozs7OztRQTREUSx5QkFBaUI7Z0JBQWpCLGlCQUFpQixFakZOcEI7SW9GeERIOzs7Ozs7Ozs7TUhtRUkseUJBQWlCO2NBQWpCLGlCQUFpQixFRzlEcEI7RUhISDtJQ29JSSwyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLGtCQUFrQixFQUNuQjtFRHZJSDtJQ0RFLDJCcEZnV1U7SW9GL1ZWLDBCN0RLZ0M7STZESmhDLGtDcEY4VlUsRW9Gbk5UO0lENUlIO01DSUksMkJwRjJWUTtNb0YxVlIsMkM3REd3QjtNNkRGeEIsa0NwRnlWUSxFRXhWYTtJaUZQekI7TUNXSSwyQnBGb1ZRO01vRm5WUiwyQzdESndCO002REt4QixrQ3BGa1ZRLEVvRmpWVDtJRGRIOzs7TUNtQkksMkJwRjRVUTtNb0YzVVIsMkM3RFp3QjtNNkRheEIsa0NwRjBVUSxFb0ZqVVQ7TUQ5Qkg7Ozs7Ozs7UUMwQk0sMkJwRnFVTTtRb0ZwVU4sMkM3RGxCdUI7UTZEbUJ2QixrQ3BGbVVNLEVvRmxVUDtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixrQ3BGK1NNLEVvRjlTUDtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLGtDcEYyU00sRUV4VmE7SWtGc0V2QjtNQTlFQSwyQnBGZ1dVO01vRi9WViwwQjdES2dDO002REpoQyxrQ3BGOFZVLEVvRnBRVDtNQWREO1FBekVFLDJCcEYyVlE7UW9GMVZSLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSwyQnBGb1ZRO1FvRm5WUiw0QzdEQWdDO1E2RENoQyx3QzdERGdDLEU2REVqQztNQStERDs7O1FBMURFLDJCcEY0VVE7UW9GM1VSLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSwyQnBGcVVNO1VvRnBVTiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsa0NwRitTTSxFb0Y5U1A7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixrQ3BGMlNNLEVFeFZhO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEYwS2dCO0lvRnpLaEIsMEI3REtnQztJNkRKaEMsc0JwRndLZ0IsRW9GMUJmO0lEL0lIO01DSUksZXBGcUtjO01vRnBLZCwyQzdER3dCO002REZ4QixzQnBGbUtjLEVFbEtPO0lpRlB6QjtNQ1dJLGVwRjhKYztNb0Y3SmQsMkM3REp3QjtNNkRLeEIsc0JwRjRKYyxFb0YzSmY7SURkSDs7O01DbUJJLGVwRnNKYztNb0ZySmQsMkM3RFp3QjtNNkRheEIsc0JwRm9KYyxFb0YzSWY7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGK0lZO1FvRjlJWiwyQzdEbEJ1QjtRNkRtQnZCLHNCcEY2SVksRW9GNUliO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLHNCcEZ5SFksRW9GeEhiO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRnFIWSxFRWxLTztJa0ZzRXZCO01BOUVBLGVwRjBLZ0I7TW9GektoQiwwQjdES2dDO002REpoQyxzQnBGd0tnQixFb0Y5RWY7TUFkRDtRQXpFRSxlcEZxS2M7UW9GcEtkLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEY4SmM7UW9GN0pkLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGc0pjO1FvRnJKZCw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksZXBGK0lZO1VvRjlJWiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsc0JwRnlIWSxFb0Z4SGI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixzQnBGcUhZLEVFbEtPO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSwyQnBGZ1dVO0lvRi9WViwwQjdES2dDO0k2REpoQyxrQ3BGOFZVLEVvRjdNVDtJRGxKSDtNQ0lJLDJCcEYyVlE7TW9GMVZSLDJDN0RHd0I7TTZERnhCLGtDcEZ5VlEsRUV4VmE7SWlGUHpCO01DV0ksMkJwRm9WUTtNb0ZuVlIsMkM3REp3QjtNNkRLeEIsa0NwRmtWUSxFb0ZqVlQ7SURkSDs7O01DbUJJLDJCcEY0VVE7TW9GM1VSLDJDN0Rad0I7TTZEYXhCLGtDcEYwVVEsRW9GalVUO01EOUJIOzs7Ozs7O1FDMEJNLDJCcEZxVU07UW9GcFVOLDJDN0RsQnVCO1E2RG1CdkIsa0NwRm1VTSxFb0ZsVVA7SUFJSDtNQUNFLGVBQWU7TUFDZiwwQjdEOUI4QixFNkRvQy9CO01BUkQ7UUFNSSwyQzdEL0JzQixFNkRnQ3ZCO0lEeENMO01DK0NNLDBCN0QxQzRCO002RDJDNUIsa0NwRitTTSxFb0Y5U1A7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixrQ3BGMlNNLEVFeFZhO0lrRnNFdkI7TUE5RUEsMkJwRmdXVTtNb0YvVlYsMEI3REtnQztNNkRKaEMsa0NwRjhWVSxFb0ZwUVQ7TUFkRDtRQXpFRSwyQnBGMlZRO1FvRjFWUiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsMkJwRm9WUTtRb0ZuVlIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSwyQnBGNFVRO1FvRjNVUiw0QzdEUmdDO1E2RFNoQyx3QzdEVGdDLEU2RGtCakM7UUErQ0Q7Ozs7Ozs7VUFuREksMkJwRnFVTTtVb0ZwVU4sNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLGtDcEYrU00sRW9GOVNQO01BNEJIO1FBMUJJLDBCN0Q5QzRCO1E2RCtDNUIsa0NwRjJTTSxFRXhWYTtJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGd0lzQjtJb0Z2SXRCLDBCN0RLZ0M7STZESmhDLHNCcEZzSXNCLEVvRmNyQjtJRHJKSDtNQ0lJLGVwRm1Jb0I7TW9GbElwQiwyQzdER3dCO002REZ4QixzQnBGaUlvQixFRWhJQztJaUZQekI7TUNXSSxlcEY0SG9CO01vRjNIcEIsMkM3REp3QjtNNkRLeEIsc0JwRjBIb0IsRW9GekhyQjtJRGRIOzs7TUNtQkksZXBGb0hvQjtNb0ZuSHBCLDJDN0Rad0I7TTZEYXhCLHNCcEZrSG9CLEVvRnpHckI7TUQ5Qkg7Ozs7Ozs7UUMwQk0sZXBGNkdrQjtRb0Y1R2xCLDJDN0RsQnVCO1E2RG1CdkIsc0JwRjJHa0IsRW9GMUduQjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGdUZrQixFb0Z0Rm5CO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRm1Ga0IsRUVoSUM7SWtGc0V2QjtNQTlFQSxlcEZ3SXNCO01vRnZJdEIsMEI3REtnQztNNkRKaEMsc0JwRnNJc0IsRW9GNUNyQjtNQWREO1FBekVFLGVwRm1Jb0I7UW9GbElwQiw0QzdET2dDO1E2RE5oQyx3QzdETWdDLEVyQkxYO01rRnNFdkI7UUFsRUUsZXBGNEhvQjtRb0YzSHBCLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGb0hvQjtRb0ZuSHBCLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEY2R2tCO1VvRjVHbEIsNEM3RGQrQjtVNkRlL0Isd0M3RGYrQixFNkRnQmhDO01BSUg7UUFDRSxlQUFlO1FBQ2YsMEI3RDlCOEIsRTZEb0MvQjtRQVJEO1VBTUksNEM3RDNCOEIsRTZENEIvQjtNQXFDSDtRQTlCSSwwQjdEMUM0QjtRNkQyQzVCLHNCcEZ1RmtCLEVvRnRGbkI7TUE0Qkg7UUExQkksMEI3RDlDNEI7UTZEK0M1QixzQnBGbUZrQixFRWhJQztJaUZQekI7TUMrRkksOEJBQThCLEVBQy9CO0VEaEdIO0lDREUsZXBGMkxpQjtJb0YxTGpCLDBCN0RLZ0M7STZESmhDLHNCcEZ5TGlCLEVvRmxDaEI7SUR4Skg7TUNJSSxlcEZzTGU7TW9GckxmLDJDN0RHd0I7TTZERnhCLHNCcEZvTGUsRUVuTE07SWlGUHpCO01DV0ksZXBGK0tlO01vRjlLZiwyQzdESndCO002REt4QixzQnBGNktlLEVvRjVLaEI7SURkSDs7O01DbUJJLGVwRnVLZTtNb0Z0S2YsMkM3RFp3QjtNNkRheEIsc0JwRnFLZSxFb0Y1SmhCO01EOUJIOzs7Ozs7O1FDMEJNLGVwRmdLYTtRb0YvSmIsMkM3RGxCdUI7UTZEbUJ2QixzQnBGOEphLEVvRjdKZDtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGMElhLEVvRnpJZDtJRGpETDtNQ21ETSwwQjdEOUM0QjtNNkQrQzVCLHNCcEZzSWEsRUVuTE07SWtGc0V2QjtNQTlFQSxlcEYyTGlCO01vRjFMakIsMEI3REtnQztNNkRKaEMsc0JwRnlMaUIsRW9GL0ZoQjtNQWREO1FBekVFLGVwRnNMZTtRb0ZyTGYsNEM3RE9nQztRNkROaEMsd0M3RE1nQyxFckJMWDtNa0ZzRXZCO1FBbEVFLGVwRitLZTtRb0Y5S2YsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEZ1S2U7UW9GdEtmLDRDN0RSZ0M7UTZEU2hDLHdDN0RUZ0MsRTZEa0JqQztRQStDRDs7Ozs7OztVQW5ESSxlcEZnS2E7VW9GL0piLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1QixzQnBGMElhLEVvRnpJZDtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLHNCcEZzSWEsRUVuTE07SWlGUHpCO01DK0ZJLDhCQUE4QixFQUMvQjtFRGhHSDtJQ0RFLGVwRmlTdUI7SW9GaFN2QiwwQjdES2dDO0k2REpoQyxzQnBGK1J1QixFb0ZySXRCO0lEM0pIO01DSUksZXBGNFJxQjtNb0YzUnJCLDJDN0RHd0I7TTZERnhCLHNCcEYwUnFCLEVFelJBO0lpRlB6QjtNQ1dJLGVwRnFScUI7TW9GcFJyQiwyQzdESndCO002REt4QixzQnBGbVJxQixFb0ZsUnRCO0lEZEg7OztNQ21CSSxlcEY2UXFCO01vRjVRckIsMkM3RFp3QjtNNkRheEIsc0JwRjJRcUIsRW9GbFF0QjtNRDlCSDs7Ozs7OztRQzBCTSxlcEZzUW1CO1FvRnJRbkIsMkM3RGxCdUI7UTZEbUJ2QixzQnBGb1FtQixFb0ZuUXBCO0lBSUg7TUFDRSxlQUFlO01BQ2YsMEI3RDlCOEIsRTZEb0MvQjtNQVJEO1FBTUksMkM3RC9Cc0IsRTZEZ0N2QjtJRHhDTDtNQytDTSwwQjdEMUM0QjtNNkQyQzVCLHNCcEZnUG1CLEVvRi9PcEI7SURqREw7TUNtRE0sMEI3RDlDNEI7TTZEK0M1QixzQnBGNE9tQixFRXpSQTtJa0ZzRXZCO01BOUVBLGVwRmlTdUI7TW9GaFN2QiwwQjdES2dDO002REpoQyxzQnBGK1J1QixFb0ZyTXRCO01BZEQ7UUF6RUUsZXBGNFJxQjtRb0YzUnJCLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZxUnFCO1FvRnBSckIsNEM3REFnQztRNkRDaEMsd0M3RERnQyxFNkRFakM7TUErREQ7OztRQTFERSxlcEY2UXFCO1FvRjVRckIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRnNRbUI7VW9GclFuQiw0QzdEZCtCO1U2RGUvQix3QzdEZitCLEU2RGdCaEM7TUFJSDtRQUNFLGVBQWU7UUFDZiwwQjdEOUI4QixFNkRvQy9CO1FBUkQ7VUFNSSw0QzdEM0I4QixFNkQ0Qi9CO01BcUNIO1FBOUJJLDBCN0QxQzRCO1E2RDJDNUIsc0JwRmdQbUIsRW9GL09wQjtNQTRCSDtRQTFCSSwwQjdEOUM0QjtRNkQrQzVCLHNCcEY0T21CLEVFelJBO0lpRlB6QjtNQytGSSw4QkFBOEIsRUFDL0I7RURoR0g7SUNERSxlcEZrQ2U7SW9GakNmLDBCN0RLZ0M7STZESmhDLHNCcEZnQ2UsRW9GNkhkO0lEOUpIO01DSUksZXBGNkJhO01vRjVCYiwyQzdER3dCO002REZ4QixzQnBGMkJhLEVFMUJRO0lpRlB6QjtNQ1dJLGVwRnNCYTtNb0ZyQmIsMkM3REp3QjtNNkRLeEIsc0JwRm9CYSxFb0ZuQmQ7SURkSDs7O01DbUJJLGVwRmNhO01vRmJiLDJDN0Rad0I7TTZEYXhCLHNCcEZZYSxFb0ZIZDtNRDlCSDs7Ozs7OztRQzBCTSxlcEZPVztRb0ZOWCwyQzdEbEJ1QjtRNkRtQnZCLHNCcEZLVyxFb0ZKWjtJQUlIO01BQ0UsZUFBZTtNQUNmLDBCN0Q5QjhCLEU2RG9DL0I7TUFSRDtRQU1JLDJDN0QvQnNCLEU2RGdDdkI7SUR4Q0w7TUMrQ00sMEI3RDFDNEI7TTZEMkM1QixzQnBGZlcsRW9GZ0JaO0lEakRMO01DbURNLDBCN0Q5QzRCO002RCtDNUIsc0JwRm5CVyxFRTFCUTtJa0ZzRXZCO01BOUVBLGVwRmtDZTtNb0ZqQ2YsMEI3REtnQztNNkRKaEMsc0JwRmdDZSxFb0YwRGQ7TUFkRDtRQXpFRSxlcEY2QmE7UW9GNUJiLDRDN0RPZ0M7UTZETmhDLHdDN0RNZ0MsRXJCTFg7TWtGc0V2QjtRQWxFRSxlcEZzQmE7UW9GckJiLDRDN0RBZ0M7UTZEQ2hDLHdDN0REZ0MsRTZERWpDO01BK0REOzs7UUExREUsZXBGY2E7UW9GYmIsNEM3RFJnQztRNkRTaEMsd0M3RFRnQyxFNkRrQmpDO1FBK0NEOzs7Ozs7O1VBbkRJLGVwRk9XO1VvRk5YLDRDN0RkK0I7VTZEZS9CLHdDN0RmK0IsRTZEZ0JoQztNQUlIO1FBQ0UsZUFBZTtRQUNmLDBCN0Q5QjhCLEU2RG9DL0I7UUFSRDtVQU1JLDRDN0QzQjhCLEU2RDRCL0I7TUFxQ0g7UUE5QkksMEI3RDFDNEI7UTZEMkM1Qixz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MEIsRUFFN0I7O0FBRUM7RUFFRSxpQkFBMEIsRUFFN0I7O0FHcExQO0VBQ0UsbUJBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQix1QkFBdUIsRUF5QnhCO0VBbENEO0lBWUksbUJBQW1CO0lBQ25CLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsc0MvRzJVUTtJK0cxVVIsb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCw0QkFBZ0I7UUFBaEIsd0JBQWdCO1NBQWhCLHVCQUFnQjtZQUFoQixvQkFBZ0I7SUFDaEIsOEJBQXNCO1FBQXRCLDBCQUFzQjtTQUF0Qix5QkFBc0I7WUFBdEIsc0JBQXNCLEVBV3ZCO0lBakNIO01BeUJNLGFBQWE7TUFDYix1R0FBc0Y7TUFBdEYsK0ZBQXNGO01BQXRGLCtJQUFzRjtNQUF0Rix1RkFBc0Y7TUFBdEYsc01BQXNGLEVBQ3ZGO0lBM0JMO01BOEJNLFdBQVc7TUFDWCxzREFBOEM7TUFBOUMsaURBQThDO01BQTlDLDhDQUE4QyxFQUMvQyIsImZpbGUiOiJib290c3RyYXAtbWF0ZXJpYWwtZGVzaWduLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtaXhpbiBoZWFkaW5ncygpIHtcbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gMTRzcCBmb250XG4lc3RkLWZvbnQge1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2NC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8vXG4vLyAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4vLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbi8vIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLy8gMVxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8vIDJcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8vIDFcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy9cbi8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbi8vXG5cbnRlbXBsYXRlLCAvLyAyXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4vLyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbi8vXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vL1xuLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbi8vXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbi8vXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLy9cbi8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG59XG5cbi8vXG4vLyBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbi8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250OiBpbmhlcml0O1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4vLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsIC8vIDFcbnNlbGVjdCB7IC8vIDJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBTYWZhcmkuXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4vL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHsgLy8gMVxuICBtYXJnaW46IDA7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGluaGVyaXRlbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbi8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGVuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8vIDFcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vXG4vLyBDaGFuZ2UgdGhlIGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbi8vXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vL1xuLy8gUmVzdG9yZSB0aGUgZGVmYXVsdCBjdXJzb3IgdG8gZGlzYWJsZWQgZWxlbWVudHMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vL1xuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8vIDFcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vXG4vLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4vL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5pbnB1dDotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLy9cbi8vIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAzXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4vL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbi8vXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4vL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2Ugb2Ygc2VhcmNoIGlucHV0cyBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbi8vXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZFxuLy8gU2FmYXJpIG9uIE9TIFguXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLmNhcmQge1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjQuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZW1wbGF0ZSxcbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5bZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5pbnB1dDotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyLFxuICAqOjpmaXJzdC1sZXR0ZXIsXG4gICo6OmZpcnN0LWxpbmUge1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLm5hdmJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnRuID4gLmNhcmV0LCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlID4gLmNhcmV0LFxuICAuZHJvcHVwID4gLmJ0biA+IC5jYXJldCxcbiAgLmRyb3B1cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgPiAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAudGFnIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gIC50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50OyB9XG4gICAgLnRhYmxlIHRkLFxuICAgIC50YWJsZSB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDsgfSB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbm9sLFxudWwsXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpmb2N1cywgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMDRhNDM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cywgYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5bcm9sZT1cImJ1dHRvblwiXSxcbmlucHV0LFxubGFiZWwsXG5zZWxlY3QsXG5zdW1tYXJ5LFxudGV4dGFyZWEge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTsgfVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbmJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oNCwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5kaXNwbGF5LTEge1xuICBmb250LXNpemU6IDdyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLmRpc3BsYXktMiB7XG4gIGZvbnQtc2l6ZTogMy41cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5kaXNwbGF5LTMge1xuICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5tYXJrLFxuLm1hcmsge1xuICBwYWRkaW5nOiAwLjJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxpc3QtaW5saW5lLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwQTBcIjsgfVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6IDAuMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLmJsb2NrcXVvdGUtcmV2ZXJzZSAuYmxvY2txdW90ZS1mb290ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IH1cblxuLmltZy1mbHVpZCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0gPiBpbWcsXG4uY2Fyb3VzZWwtaW5uZXIgPiAuY2Fyb3VzZWwtaXRlbSA+IGEgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4ycmVtIDAuNHJlbTtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAjYmQ0MTQ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjJyZW0gMC40cmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMC4xcmVtIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLnByZS1zY3JvbGxhYmxlIHtcbiAgbWF4LWhlaWdodDogMzQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NzZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5NDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTE0MHB4OyB9IH1cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1yaWdodDogLTE1cHg7IH1cblxuLmNvbC14cy0xLCAuY29sLXhzLTIsIC5jb2wteHMtMywgLmNvbC14cy00LCAuY29sLXhzLTUsIC5jb2wteHMtNiwgLmNvbC14cy03LCAuY29sLXhzLTgsIC5jb2wteHMtOSwgLmNvbC14cy0xMCwgLmNvbC14cy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xLCAuY29sLW1kLTIsIC5jb2wtbWQtMywgLmNvbC1tZC00LCAuY29sLW1kLTUsIC5jb2wtbWQtNiwgLmNvbC1tZC03LCAuY29sLW1kLTgsIC5jb2wtbWQtOSwgLmNvbC1tZC0xMCwgLmNvbC1tZC0xMSwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xLCAuY29sLWxnLTIsIC5jb2wtbGctMywgLmNvbC1sZy00LCAuY29sLWxnLTUsIC5jb2wtbGctNiwgLmNvbC1sZy03LCAuY29sLWxnLTgsIC5jb2wtbGctOSwgLmNvbC1sZy0xMCwgLmNvbC1sZy0xMSwgLmNvbC1sZy0xMiwgLmNvbC14bC0xLCAuY29sLXhsLTIsIC5jb2wteGwtMywgLmNvbC14bC00LCAuY29sLXhsLTUsIC5jb2wteGwtNiwgLmNvbC14bC03LCAuY29sLXhsLTgsIC5jb2wteGwtOSwgLmNvbC14bC0xMCwgLmNvbC14bC0xMSwgLmNvbC14bC0xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb2wteHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLmNvbC14cy0yIHtcbiAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC14cy0zIHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLmNvbC14cy00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmNvbC14cy01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC14cy02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLmNvbC14cy03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmNvbC14cy04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC14cy05IHtcbiAgZmxleDogMCAwIDc1JTtcbiAgbWF4LXdpZHRoOiA3NSU7IH1cblxuLmNvbC14cy0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5jb2wteHMtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucHVsbC14cy0wIHtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnB1bGwteHMtMSB7XG4gIHJpZ2h0OiA4LjMzMzMzJTsgfVxuXG4ucHVsbC14cy0yIHtcbiAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuXG4ucHVsbC14cy0zIHtcbiAgcmlnaHQ6IDI1JTsgfVxuXG4ucHVsbC14cy00IHtcbiAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuXG4ucHVsbC14cy01IHtcbiAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuXG4ucHVsbC14cy02IHtcbiAgcmlnaHQ6IDUwJTsgfVxuXG4ucHVsbC14cy03IHtcbiAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4ucHVsbC14cy04IHtcbiAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuXG4ucHVsbC14cy05IHtcbiAgcmlnaHQ6IDc1JTsgfVxuXG4ucHVsbC14cy0xMCB7XG4gIHJpZ2h0OiA4My4zMzMzMyU7IH1cblxuLnB1bGwteHMtMTEge1xuICByaWdodDogOTEuNjY2NjclOyB9XG5cbi5wdWxsLXhzLTEyIHtcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLnB1c2gteHMtMCB7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnB1c2gteHMtMSB7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTIge1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnB1c2gteHMtMyB7XG4gIGxlZnQ6IDI1JTsgfVxuXG4ucHVzaC14cy00IHtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTUge1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnB1c2gteHMtNiB7XG4gIGxlZnQ6IDUwJTsgfVxuXG4ucHVzaC14cy03IHtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5wdXNoLXhzLTgge1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnB1c2gteHMtOSB7XG4gIGxlZnQ6IDc1JTsgfVxuXG4ucHVzaC14cy0xMCB7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ucHVzaC14cy0xMSB7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4ucHVzaC14cy0xMiB7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLm9mZnNldC14cy0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4ub2Zmc2V0LXhzLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4ub2Zmc2V0LXhzLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5vZmZzZXQteHMtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4ub2Zmc2V0LXhzLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4ub2Zmc2V0LXhzLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmNvbC1zbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLmNvbC1zbS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1zbS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLTUge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1zbS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5jb2wtc20tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLTgge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1zbS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5jb2wtc20tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnB1bGwtc20tMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnB1bGwtc20tMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLnB1bGwtc20tMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAucHVsbC1zbS00IHtcbiAgICByaWdodDogMzMuMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLnB1bGwtc20tNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAucHVsbC1zbS03IHtcbiAgICByaWdodDogNTguMzMzMzMlOyB9XG4gIC5wdWxsLXNtLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLnB1bGwtc20tOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAucHVsbC1zbS0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzJTsgfVxuICAucHVsbC1zbS0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTsgfVxuICAucHVsbC1zbS0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLnB1c2gtc20tMCB7XG4gICAgbGVmdDogYXV0bzsgfVxuICAucHVzaC1zbS0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAucHVzaC1zbS0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnB1c2gtc20tMyB7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5wdXNoLXNtLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAucHVzaC1zbS01IHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnB1c2gtc20tNiB7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5wdXNoLXNtLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAucHVzaC1zbS04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnB1c2gtc20tOSB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5wdXNoLXNtLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnB1c2gtc20tMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAucHVzaC1zbS0xMiB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAub2Zmc2V0LXNtLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAub2Zmc2V0LXNtLTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5vZmZzZXQtc20tNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5vZmZzZXQtc20tNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAub2Zmc2V0LXNtLTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm9mZnNldC1zbS05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5vZmZzZXQtc20tMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm9mZnNldC1zbS0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sLW1kIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAuY29sLW1kLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmNvbC1tZC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmNvbC1tZC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAucHVsbC1tZC0wIHtcbiAgICByaWdodDogYXV0bzsgfVxuICAucHVsbC1tZC0xIHtcbiAgICByaWdodDogOC4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuICAucHVsbC1tZC0zIHtcbiAgICByaWdodDogMjUlOyB9XG4gIC5wdWxsLW1kLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuICAucHVsbC1tZC02IHtcbiAgICByaWdodDogNTAlOyB9XG4gIC5wdWxsLW1kLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLnB1bGwtbWQtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuICAucHVsbC1tZC05IHtcbiAgICByaWdodDogNzUlOyB9XG4gIC5wdWxsLW1kLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMlOyB9XG4gIC5wdWxsLW1kLTExIHtcbiAgICByaWdodDogOTEuNjY2NjclOyB9XG4gIC5wdWxsLW1kLTEyIHtcbiAgICByaWdodDogMTAwJTsgfVxuICAucHVzaC1tZC0wIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5wdXNoLW1kLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAucHVzaC1tZC0zIHtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnB1c2gtbWQtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAucHVzaC1tZC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnB1c2gtbWQtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5wdXNoLW1kLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAucHVzaC1tZC05IHtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnB1c2gtbWQtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAucHVzaC1tZC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5wdXNoLW1kLTEyIHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5vZmZzZXQtbWQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5vZmZzZXQtbWQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm9mZnNldC1tZC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm9mZnNldC1tZC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5vZmZzZXQtbWQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAub2Zmc2V0LW1kLTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm9mZnNldC1tZC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAub2Zmc2V0LW1kLTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jb2wtbGctMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1sZy0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbGctMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLWxnLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1sZy01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbGctNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLWxnLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1sZy04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbGctOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLWxnLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtbGctMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1sZy0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wdWxsLWxnLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLWxnLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAucHVsbC1sZy0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLnB1bGwtbGctNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAucHVsbC1sZy01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnB1bGwtbGctNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAucHVsbC1sZy04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5wdWxsLWxnLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLnB1bGwtbGctMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLnB1bGwtbGctMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLnB1bGwtbGctMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wdXNoLWxnLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gtbGctMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnB1c2gtbGctMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucHVzaC1sZy00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnB1c2gtbGctNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucHVzaC1sZy03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gtbGctOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5wdXNoLWxnLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucHVzaC1sZy0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5wdXNoLWxnLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnB1c2gtbGctMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLm9mZnNldC1sZy0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm9mZnNldC1sZy0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LWxnLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LWxnLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC1sZy04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQtbGctOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LWxnLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQtbGctMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wteGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIC5jb2wteGwtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wteGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuY29sLXhsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC14bC01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wteGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuY29sLXhsLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC14bC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wteGwtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuY29sLXhsLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wteGwtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC14bC0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wdWxsLXhsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLXhsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAucHVsbC14bC0yIHtcbiAgICByaWdodDogMTYuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLnB1bGwteGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAucHVsbC14bC01IHtcbiAgICByaWdodDogNDEuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLnB1bGwteGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAucHVsbC14bC04IHtcbiAgICByaWdodDogNjYuNjY2NjclOyB9XG4gIC5wdWxsLXhsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLnB1bGwteGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLnB1bGwteGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLnB1bGwteGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wdXNoLXhsLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnB1c2gteGwtMSB7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLnB1c2gteGwtMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAucHVzaC14bC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnB1c2gteGwtNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAucHVzaC14bC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnB1c2gteGwtOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5wdXNoLXhsLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAucHVzaC14bC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5wdXNoLXhsLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnB1c2gteGwtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLm9mZnNldC14bC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm9mZnNldC14bC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAub2Zmc2V0LXhsLTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAub2Zmc2V0LXhsLTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm9mZnNldC14bC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5vZmZzZXQteGwtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAub2Zmc2V0LXhsLTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5vZmZzZXQteGwtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH0gfVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLnRhYmxlIHRoLFxuICAudGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAudGFibGUgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlIHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC50YWJsZSAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxuLnRhYmxlLXNtIHRoLFxuLnRhYmxlLXNtIHRkIHtcbiAgcGFkZGluZzogMC4zcmVtOyB9XG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLnRhYmxlLWJvcmRlcmVkIHRoZWFkIHRoLFxuICAudGFibGUtYm9yZGVyZWQgdGhlYWQgdGQge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4udGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtYWN0aXZlLFxuLnRhYmxlLWFjdGl2ZSA+IHRoLFxuLnRhYmxlLWFjdGl2ZSA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDc1KTsgfVxuXG4udGFibGUtc3VjY2Vzcyxcbi50YWJsZS1zdWNjZXNzID4gdGgsXG4udGFibGUtc3VjY2VzcyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ4OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0ODsgfVxuXG4udGFibGUtaW5mbyxcbi50YWJsZS1pbmZvID4gdGgsXG4udGFibGUtaW5mbyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5OGRiOyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOThkYjsgfVxuXG4udGFibGUtd2FybmluZyxcbi50YWJsZS13YXJuaW5nID4gdGgsXG4udGFibGUtd2FybmluZyA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NDA5OyB9XG4gIC50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3ZlciA+IHRkLFxuICAudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwOTsgfVxuXG4udGFibGUtZGFuZ2VyLFxuLnRhYmxlLWRhbmdlciA+IHRoLFxuLnRhYmxlLWRhbmdlciA+IHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuXG4udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMzJjMWU7IH1cbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0ZCxcbiAgLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXIgPiB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzMmMxZTsgfVxuXG4udGhlYWQtaW52ZXJzZSB0aCB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG5cbi50aGVhZC1kZWZhdWx0IHRoIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAudGFibGUtaW52ZXJzZSB0aCxcbiAgLnRhYmxlLWludmVyc2UgdGQsXG4gIC50YWJsZS1pbnZlcnNlIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLnRhYmxlLWludmVyc2UudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDsgfVxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogLjAxJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4udGFibGUtcmVmbG93IHRoZWFkIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRhYmxlLXJlZmxvdyB0Ym9keSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi50YWJsZS1yZWZsb3cgdGgsXG4udGFibGUtcmVmbG93IHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAudGFibGUtcmVmbG93IHRoOmxhc3QtY2hpbGQsXG4gIC50YWJsZS1yZWZsb3cgdGQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4udGFibGUtcmVmbG93IHRoZWFkOmxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0aCxcbi50YWJsZS1yZWZsb3cgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkLFxuLnRhYmxlLXJlZmxvdyB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGgsXG4udGFibGUtcmVmbG93IHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZCxcbi50YWJsZS1yZWZsb3cgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRoLFxuLnRhYmxlLXJlZmxvdyB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4udGFibGUtcmVmbG93IHRyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYmxlLXJlZmxvdyB0ciB0aCxcbiAgLnRhYmxlLXJlZmxvdyB0ciB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5mb3JtLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmQsIC5jdXN0b20tZmlsZS1jb250cm9sOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogIzY2YWZlOTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCBub25lOyB9XG4gIC5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldLCBbcmVhZG9ubHldLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gIGhlaWdodDogMi4zNzVyZW07IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbDpmb2N1czo6LW1zLXZhbHVlLCBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiAwLjU2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU2MjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNvbC1mb3JtLWxlZ2VuZCB7XG4gIHBhZGRpbmctdG9wOiAwLjQzNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIG1pbi1oZWlnaHQ6IDIuMzc1cmVtO1xuICBwYWRkaW5nLXRvcDogMC40Mzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljLmZvcm0tY29udHJvbC1zbSwgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5jdXN0b20tZmlsZS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmJ0bixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLXN0YXRpYy5mb3JtLWNvbnRyb2wsIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuYnRuLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZm9ybS1jb250cm9sLXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG5zZWxlY3QuZm9ybS1jb250cm9sLXNtOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwgLmlucHV0LWdyb3VwLXNtID4gc2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSxcbi5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5pbnB1dC1ncm91cC1hZGRvbjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pOjpiZWZvcmUge1xuICBoZWlnaHQ6IDEuODEyNXJlbTsgfVxuXG4uZm9ybS1jb250cm9sLWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuc2VsZWN0LmZvcm0tY29udHJvbC1sZzpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksIC5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLCAuaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb246bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHNlbGVjdC5jdXN0b20tZmlsZS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKTo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAyLjc5MTY3cmVtOyB9XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMC4xMjVyZW07IH1cblxuLmZvcm0tY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAuZm9ybS1jaGVjayArIC5mb3JtLWNoZWNrIHtcbiAgICBtYXJnaW4tdG9wOiAtLjI1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLmRpc2FibGVkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtOyB9XG4gIC5mb3JtLWNoZWNrLWlucHV0Om9ubHktY2hpbGQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5mb3JtLWNoZWNrLWlubGluZSArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTsgfVxuICAuZm9ybS1jaGVjay1pbmxpbmUuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIG1hcmdpbi10b3A6IDAuMTI1cmVtOyB9XG5cbi5mb3JtLWNvbnRyb2wtc3VjY2Vzcyxcbi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNTkzNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMS4xODc1cmVtIDEuMTg3NXJlbTsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmhhcy1zdWNjZXNzIC5yYWRpbyxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSxcbi5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1zdWNjZXNzLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94IGxhYmVsLFxuLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtc3VjY2Vzcy5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6ICM0Y2FmNTA7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWVkYTsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cblxuLmhhcy13YXJuaW5nIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZmY1NzIyO1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYyZWU7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZjBhZDRlJyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtZGFuZ2VyIC5yYWRpbyxcbi5oYXMtZGFuZ2VyIC5jaGVja2JveCxcbi5oYXMtZGFuZ2VyIC5yYWRpby1pbmxpbmUsXG4uaGFzLWRhbmdlciAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1kYW5nZXIucmFkaW8gbGFiZWwsXG4uaGFzLWRhbmdlci5jaGVja2JveCBsYWJlbCxcbi5oYXMtZGFuZ2VyLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtZGFuZ2VyLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5oYXMtZGFuZ2VyIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY4Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNkOTUzNGYnIHZpZXdCb3g9Jy0yIC0yIDcgNyclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZDk1MzRmJyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM0UlM0NjaXJjbGUgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzRSUzQ2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wsIC5mb3JtLWlubGluZSAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbixcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gICAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLFxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wsIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0taW5saW5lIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZm9ybS1pbmxpbmUgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6IDA7IH0gfVxuXG4uYnRuLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC40Njg3NXJlbSAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uZm9jdXMsIC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYWN0aXZlLmZvY3VzLCAuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG46aG92ZXIsIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuLmZvY3VzLCAuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjphY3RpdmUsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmFjdGl2ZSwgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4uZGlzYWJsZWQsIC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46ZGlzYWJsZWQsIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOjpiZWZvcmUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogLjY1O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYS5idG4uZGlzYWJsZWQsIGEuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gIGJvcmRlci1jb2xvcjogIzAwOTY4ODtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MzVhO1xuICAgIGJvcmRlci1jb2xvcjogIzAwNTk1MTsgfVxuICAuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZjM5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gIC5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1jb2xvcjogI2NjYztcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTFlMTtcbiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQ7IH1cbiAgLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlMWUxO1xuICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAuYnRuLXNlY29uZGFyeTphY3RpdmUsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOGM4YzhjOyB9XG4gIC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5idG4taW5mbyB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1pbmZvOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NmMyO1xuICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODsgfVxuICAuYnRuLWluZm86Zm9jdXMsIC5idG4taW5mby5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODZjMjtcbiAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgLmJ0bi1pbmZvOmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NmMyO1xuICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm86YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlOmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNmU5ZTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNTI3NjsgfVxuICAuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gIC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tc3VjY2Vzczpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOGI0MDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7IH1cbiAgLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNkOGI0MDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlciwgLmJ0bi1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwgLmJ0bi1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cyxcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjczMzQ7XG4gICAgICBib3JkZXItY29sb3I6ICMyNTU2Mjc7IH1cbiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2VzczpkaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cblxuLmJ0bi13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTcyMjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwOyB9XG4gIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTAwO1xuICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4td2FybmluZzphY3RpdmU6aG92ZXIsIC5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsIC5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2EzMTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIyNzAwOyB9XG4gIC5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5idG4tZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNjtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhMWMwZDtcbiAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWExYzBkO1xuICAgIGJvcmRlci1jb2xvcjogI2UxMWIwYzsgfVxuICAuYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTExYjBjO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzgxODBiO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIxMzA5OyB9XG4gIC5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAuYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyOmRpc2FibGVkLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMwMDk2ODg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4O1xuICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5idG4tb3V0bGluZS1wcmltYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzZjM5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGZjZTQ7IH1cbiAgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMGZjZTQ7IH1cblxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG4gIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmJ0bi1vdXRsaW5lLWluZm8ge1xuICBjb2xvcjogIzAzYTlmNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDtcbiAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgLmJ0bi1vdXRsaW5lLWluZm86Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJ0bi1vdXRsaW5lLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjZlOWU7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTUyNzY7IH1cbiAgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQuZm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzYwY2NmZDsgfVxuICAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzYwY2NmZDsgfVxuXG4uYnRuLW91dGxpbmUtc3VjY2VzcyB7XG4gIGNvbG9yOiAjNGNhZjUwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwO1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYnRuLW91dGxpbmUtc3VjY2VzczphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyNzMzNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNzsgfVxuICAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZC5mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTJjZjk0OyB9XG4gIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTJjZjk0OyB9XG5cbi5idG4tb3V0bGluZS13YXJuaW5nIHtcbiAgY29sb3I6ICNmZjU3MjI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgIC5idG4tb3V0bGluZS13YXJuaW5nOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2EzMTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYTIyNzAwOyB9XG4gIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmE1ODg7IH1cbiAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmE1ODg7IH1cblxuLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZSxcbiAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M4MTgwYjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2EyMTMwOTsgfVxuICAuYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmOTlkOTc7IH1cbiAgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlcjpkaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjk5ZDk3OyB9XG5cbi5idG4tbGluayB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmFjdGl2ZSwgLmJ0bi1saW5rLmFjdGl2ZSwgLmJ0bi1saW5rOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4tbGluaywgLmJ0bi1saW5rOmZvY3VzLCAuYnRuLWxpbms6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tbGluazpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLWxpbms6Zm9jdXMsIC5idG4tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMDRhNDM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi1saW5rOmRpc2FibGVkOmZvY3VzLCAuYnRuLWxpbms6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cblxuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5idG4tZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcGFkZGluZzogMC40MDYyNXJlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ0bi1ibG9jayxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnRuLWJsb2NrIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4xNXMgbGluZWFyOyB9XG4gIC5mYWRlLmluIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbGxhcHNlLmluIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0OyB9XG5cbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMC4zZW0gc29saWQ7XG4gIGJvcmRlci1yaWdodDogMC4zZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwLjNlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7IH1cblxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAwLjI1cmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDsgfVxuICAuZHJvcGRvd24taXRlbTpmb2N1cywgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG4gIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlOmZvY3VzLCAuZHJvcGRvd24taXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4O1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmZvY3VzLCAuZHJvcGRvd24taXRlbS5kaXNhYmxlZDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgLmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5kcm9wZG93bi1pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiOyB9XG5cbi5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3BlbiA+IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNXB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTA7IH1cblxuLmRyb3B1cCAuY2FyZXQsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmNhcmV0IHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4zZW0gc29saWQ7IH1cblxuLmRyb3B1cCAuZHJvcGRvd24tbWVudSxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYnRuLWdyb3VwID4gLmJ0biwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLCAuYnRuLWdyb3VwID4gLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46aG92ZXIsXG4gICAgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMjsgfVxuXG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLCAuYnRuLWdyb3VwIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuLWdyb3VwICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTsgfVxuICAuYnRuLXRvb2xiYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idG4tdG9vbGJhciAuYnRuLWdyb3VwLFxuICAuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuYnRuLXRvb2xiYXIgPiAuYnRuLCAuYnRuLXRvb2xiYXIgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLXRvb2xiYXIgPiAuYnRuLWdyb3VwLFxuICAuYnRuLXRvb2xiYXIgPiAuaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwgLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOjpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUsXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsIC5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpsYXN0LWNoaWxkOjpiZWZvcmUsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCwgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmJ0biArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0IHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9XG4gIC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1zbSA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLXNtID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTsgfVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwgLmJ0bi1ncm91cC1sZyA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LCAuYnRuLWdyb3VwLWxnID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTsgfVxuXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmJ0biAuY2FyZXQsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1sZyAuY2FyZXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIC5jYXJldCwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwLjNlbSAwLjNlbSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQsIC5kcm9wdXAgLmJ0bi1ncm91cC1sZyA+IC5idG4gLmNhcmV0LCAuZHJvcHVwIC5idG4tZ3JvdXAtbGcgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAwLjNlbSAwLjNlbTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgPiAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBmbG9hdDogbm9uZTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4sIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmJ0biwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5jdXN0b20tZmlsZS1jb250cm9sOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLCAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5idG46bGFzdC1jaGlsZCwgLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmxhc3QtY2hpbGQ6OmJlZm9yZSxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBbZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdID4gLmJ0bi1ncm91cCA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZvY3VzLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmFjdGl2ZSwgLmlucHV0LWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZSwgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6aG92ZXIsIC5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDpob3ZlciB7XG4gICAgICB6LWluZGV4OiAzOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiAwLjQzNzVyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbi5mb3JtLWNvbnRyb2wtc20sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5idG4sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuaW5wdXQtZ3JvdXAtYWRkb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjA2MjVyZW07IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uLmZvcm0tY29udHJvbC1sZyxcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmlucHV0LWdyb3VwLWFkZG9uLmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07IH1cbiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpub3QoOmxhc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpOjpiZWZvcmUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpLCAuaW5wdXQtZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAgPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wgKyAuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksIC5jdXN0b20tZmlsZS1jb250cm9sICsgLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4gKyAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSArIC5idG4sIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmlucHV0LWdyb3VwLWJ0biA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gICAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46Zm9jdXMsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjphY3RpdmUsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46aG92ZXIsIC5pbnB1dC1ncm91cC1idG4gPiAuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLCAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXAge1xuICAgIHotaW5kZXg6IDI7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cbiAgICAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmb2N1cywgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmFjdGl2ZSwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpob3ZlciwgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6Zm9jdXMsXG4gICAgLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6YWN0aXZlLFxuICAgIC5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDM7IH1cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmN1c3RvbS1jb250cm9sICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMDc1cmVtICNmZmYsIDAgMCAwIDAuMnJlbSAjMDA3NGQ5OyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODRjNmZmO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOyB9XG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM3Njc2NzY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC4wNjI1cmVtO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDUwJSA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMC4yNXJlbSAwLjI1cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NGQ5O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2ZmZicgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jdXN0b20tcmFkaW8gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmN1c3RvbS1jb250cm9scy1zdGFja2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICAuY3VzdG9tLWNvbnRyb2xzLXN0YWNrZWQgLmN1c3RvbS1jb250cm9sOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5jdXN0b20tY29udHJvbHMtc3RhY2tlZCAuY3VzdG9tLWNvbnRyb2wgKyAuY3VzdG9tLWNvbnRyb2wge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMzc1cmVtIDEuNzVyZW0gMC4zNzVyZW0gMC43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSBcXDk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzMzMycgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgcmlnaHQgMC43NXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgLmN1c3RvbS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzUxYTdlODtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDVweCByZ2JhKDgxLCAxNjcsIDIzMiwgMC41KTsgfVxuICAgIC5jdXN0b20tc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY3VzdG9tLXNlbGVjdDpkaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5jdXN0b20tc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5jdXN0b20tc2VsZWN0LXNtIHtcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG4gIGZvbnQtc2l6ZTogNzUlOyB9XG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi41cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgbWluLXdpZHRoOiAxNHJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDsgfVxuICAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4wNzVyZW0gI2ZmZiwgMCAwIDAgMC4ycmVtICMwMDc0ZDk7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGhlaWdodDogMi41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6ICM1NTU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwIHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmN1c3RvbS1maWxlLWNvbnRyb2w6bGFuZyhlbik6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIkNob29zZSBmaWxlLi4uXCI7IH1cbiAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogNjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgYm9yZGVyOiAwIHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuY3VzdG9tLWZpbGUtY29udHJvbDpsYW5nKGVuKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiOyB9XG5cbi5uYXYge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5uYXYtbGluazpmb2N1cywgLm5hdi1saW5rOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi1saW5rLmRpc2FibGVkOmZvY3VzLCAubmF2LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi1pbmxpbmUgLm5hdi1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uYXYtaW5saW5lIC5uYXYtaXRlbSArIC5uYXYtaXRlbSxcbi5uYXYtaW5saW5lIC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG4gIC5uYXYtdGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdi10YWJzIC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxuICAgIC5uYXYtdGFicyAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMnJlbTsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluazpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluazpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMikgcmdiYSgwLCAwLCAwLCAwLjEyKSAjZGRkOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlOmhvdmVyLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rOmZvY3VzLFxuICAubmF2LXRhYnMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNkZGQgI2RkZCB0cmFuc3BhcmVudDsgfVxuICAubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4ubmF2LXBpbGxzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubmF2LXBpbGxzIC5uYXYtaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5uYXYtcGlsbHMgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMC4ycmVtOyB9XG5cbi5uYXYtcGlsbHMgLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cblxuLm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLCAubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtcGlsbHMgLm5hdi1saW5rLmFjdGl2ZTpob3Zlcixcbi5uYXYtcGlsbHMgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rLFxuLm5hdi1waWxscyAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2LXBpbGxzIC5uYXYtaXRlbS5vcGVuIC5uYXYtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7IH1cblxuLm5hdi1zdGFja2VkIC5uYXYtaXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTsgfVxuICAubmF2LXN0YWNrZWQgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnRhYi1jb250ZW50ID4gLnRhYi1wYW5lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGFiLWNvbnRlbnQgPiAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07IH1cbiAgLm5hdmJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gICAgLm5hdmJhciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfSB9XG5cbi5uYXZiYXItZnVsbCB7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gICAgLm5hdmJhci1mdWxsIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCxcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7IH1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7IH1cblxuLm5hdmJhci1zdGlja3ktdG9wIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDMwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgICAubmF2YmFyLXN0aWNreS10b3Age1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAubmF2YmFyLWJyYW5kOmZvY3VzLCAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm5hdmJhci1icmFuZCA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHBhZGRpbmctdG9wOiAuNDI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogLjQyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm5hdmJhci1kaXZpZGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7IH1cblxuLm5hdmJhci10b2dnbGVyIHtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLm5hdmJhci10b2dnbGVyOmZvY3VzLCAubmF2YmFyLXRvZ2dsZXI6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWl0ZW0ge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IC40MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAuNDI1cmVtOyB9XG4gIC5uYXZiYXItbmF2IC5uYXYtbGluayArIC5uYXYtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm5hdmJhci1uYXYgLm5hdi1pdGVtICsgLm5hdi1pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuICAubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbmssIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbmssXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5vcGVuLFxuLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpmb2N1cyxcbi5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLm9wZW46aG92ZXIsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsXG4ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5uYXZiYXItbGlnaHQgLm5hdmJhci1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmQ6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7IH1cblxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5vcGVuID4gLm5hdi1saW5rLCAubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm9wZW4gPiAubmF2LWxpbms6Zm9jdXMsIC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAub3BlbiA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlID4gLm5hdi1saW5rLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5hY3RpdmUgPiAubmF2LWxpbms6Zm9jdXMsXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZSA+IC5uYXYtbGluazpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpmb2N1cyxcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsub3Blbjpob3Zlcixcbi5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLFxuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubmF2YmFyLWRhcmsgLm5hdmJhci1kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3NSk7IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLXhzOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQzcHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXhzIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXhzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLXNtOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXNtIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLXNtIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm5hdmJhci10b2dnbGVhYmxlLW1kOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLW1kIC5uYXZiYXItbmF2IC5uYXYtaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhci10b2dnbGVhYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuXG4uY2FyZC1ibG9jayB7XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmNhcmQtYmxvY2s6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IC0wLjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG4uY2FyZCA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5jYXJkID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLmNhcmQtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtIDAuMTI1cmVtIDAgMDsgfVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNhcmQtZm9vdGVyOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwLjEyNXJlbSAwLjEyNXJlbTsgfVxuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuXG4uY2FyZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5jYXJkLXByaW1hcnkgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1wcmltYXJ5IC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcmQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAuY2FyZC1zdWNjZXNzIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtc3VjY2VzcyAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jYXJkLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgLmNhcmQtaW5mbyAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWluZm8gLmNhcmQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uY2FyZC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5jYXJkLXdhcm5pbmcgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC13YXJuaW5nIC5jYXJkLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmNhcmQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gIC5jYXJkLWRhbmdlciAuY2FyZC1oZWFkZXIsXG4gIC5jYXJkLWRhbmdlciAuY2FyZC1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5jYXJkLW91dGxpbmUtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cblxuLmNhcmQtb3V0bGluZS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5jYXJkLW91dGxpbmUtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cblxuLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uY2FyZC1vdXRsaW5lLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5jYXJkLW91dGxpbmUtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWhlYWRlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtZm9vdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cblxuLmNhcmQtaW52ZXJzZSAuY2FyZC1oZWFkZXIsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWZvb3Rlcixcbi5jYXJkLWludmVyc2UgLmNhcmQtdGl0bGUsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWJsb2NrcXVvdGUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uY2FyZC1pbnZlcnNlIC5jYXJkLWxpbmssXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXRleHQsXG4uY2FyZC1pbnZlcnNlIC5jYXJkLXN1YnRpdGxlLFxuLmNhcmQtaW52ZXJzZSAuY2FyZC1ibG9ja3F1b3RlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpOyB9XG5cbi5jYXJkLWludmVyc2UgLmNhcmQtbGluazpmb2N1cywgLmNhcmQtaW52ZXJzZSAuY2FyZC1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmNhcmQtYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5jYXJkLWltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07IH1cblxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuXG4uY2FyZC1pbWctdG9wIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmNhcmQtZGVjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIC5jYXJkLWRlY2sgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgLmNhcmQtZ3JvdXAgLmNhcmQge1xuICAgICAgZmxleDogMSAwIDA7IH1cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuICAgICAgICAuY2FyZC1ncm91cCAuY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cbiAgICAgICAgLmNhcmQtZ3JvdXAgLmNhcmQ6bGFzdC1jaGlsZCAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gICAgICAuY2FyZC1ncm91cCAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgICAuY2FyZC1ncm91cCAuY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIC5jYXJkLWltZy10b3AsXG4gICAgICAgIC5jYXJkLWdyb3VwIC5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTsgfVxuICAgIC5jYXJkLWNvbHVtbnMgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuICAuYnJlYWRjcnVtYjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5icmVhZGNydW1iLWl0ZW0gKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgY29udGVudDogXCIvXCI7IH1cbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWItaXRlbSArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5icmVhZGNydW1iLWl0ZW0uYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cblxuLnBhZ2UtaXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuICAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbms6Zm9jdXMsIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5wYWdlLWl0ZW0uZGlzYWJsZWQgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5rOmZvY3VzLCAucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGNvbG9yOiAjMDA5Njg4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDAgc29saWQgI2RkZDsgfVxuICAucGFnZS1saW5rOmZvY3VzLCAucGFnZS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNGE0MztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjNyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zcmVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4zcmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI3NXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4wNjI1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMDYyNXJlbTsgfVxuXG4udGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjI1ZW0gMC40ZW07XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLnRhZzplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYnRuIC50YWcsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgLnRhZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4OyB9XG5cbmEudGFnOmZvY3VzLCBhLnRhZzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udGFnLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjZlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgYm9yZGVyLXJhZGl1czogMTByZW07IH1cblxuLnRhZy1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAudGFnLWRlZmF1bHRbaHJlZl06Zm9jdXMsIC50YWctZGVmYXVsdFtocmVmXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4udGFnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC50YWctcHJpbWFyeVtocmVmXTpmb2N1cywgLnRhZy1wcmltYXJ5W2hyZWZdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2MzVhOyB9XG5cbi50YWctc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7IH1cbiAgLnRhZy1zdWNjZXNzW2hyZWZdOmZvY3VzLCAudGFnLXN1Y2Nlc3NbaHJlZl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDA7IH1cblxuLnRhZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDsgfVxuICAudGFnLWluZm9baHJlZl06Zm9jdXMsIC50YWctaW5mb1tocmVmXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyODZjMjsgfVxuXG4udGFnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC50YWctd2FybmluZ1tocmVmXTpmb2N1cywgLnRhZy13YXJuaW5nW2hyZWZdOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzOTAwOyB9XG5cbi50YWctZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuICAudGFnLWRhbmdlcltocmVmXTpmb2N1cywgLnRhZy1kYW5nZXJbaHJlZl06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQ7IH1cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAgIC5qdW1ib3Ryb24ge1xuICAgICAgcGFkZGluZzogNHJlbSAycmVtOyB9IH1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4uYWxlcnQtaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogMzVweDsgfVxuICAuYWxlcnQtZGlzbWlzc2libGUgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAtMjFweDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gIGJvcmRlci1jb2xvcjogIzQ0OWQ0ODtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC1zdWNjZXNzIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2Q4YjQwOyB9XG4gIC5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7XG4gIGJvcmRlci1jb2xvcjogIzAzOTFkMTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC1pbmZvIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDI3ZmI4OyB9XG4gIC5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDQwOTtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5hbGVydC13YXJuaW5nIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZWUzOTAwOyB9XG4gIC5hbGVydC13YXJuaW5nIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgYm9yZGVyLWNvbG9yOiAjZjMyYzFlO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLmFsZXJ0LWRhbmdlciBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2VhMWMwZDsgfVxuICAuYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMC41cmVtIDA7IH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfSB9XG5cbi5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlcjogMDsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzRkOTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMTI1cmVtOyB9XG5cbi5wcm9ncmVzc1t2YWx1ZT1cIjEwMFwiXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbmJhc2U6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzW3ZhbHVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwLjFyZW0gcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMC4xcmVtIDAuMXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLnByb2dyZXNzLWJhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIHRleHQtaW5kZW50OiAtOTk5cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc0ZDk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4xMjVyZW07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4xMjVyZW07IH1cbiAgLnByb2dyZXNzW3dpZHRoPVwiMTAwJVwiXSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAuMTI1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjEyNXJlbTsgfSB9XG5cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAwLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMC41cmVtIDAuNXJlbTsgfSB9XG5cbi5wcm9ncmVzcy1hbmltYXRlZFt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWFuaW1hdGVkIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7IH0gfVxuXG4ucHJvZ3Jlc3Mtc3VjY2Vzc1t2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5wcm9ncmVzcy1zdWNjZXNzW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5wcm9ncmVzcy1zdWNjZXNzW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGNhZjUwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLXN1Y2Nlc3MgLnByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfSB9XG5cbi5wcm9ncmVzcy1pbmZvW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuLnByb2dyZXNzLWluZm9bdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuLnByb2dyZXNzLWluZm9bdmFsdWVdOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAucHJvZ3Jlc3MtaW5mbyAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0OyB9IH1cblxuLnByb2dyZXNzLXdhcm5pbmdbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ucHJvZ3Jlc3Mtd2FybmluZ1t2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG4ucHJvZ3Jlc3Mtd2FybmluZ1t2YWx1ZV06Oi1tcy1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTcyMjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gIC5wcm9ncmVzcy13YXJuaW5nIC5wcm9ncmVzcy1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7IH0gfVxuXG4ucHJvZ3Jlc3MtZGFuZ2VyW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7IH1cblxuLnByb2dyZXNzLWRhbmdlclt2YWx1ZV06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjsgfVxuXG4ucHJvZ3Jlc3MtZGFuZ2VyW3ZhbHVlXTo6LW1zLWZpbGwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgLnByb2dyZXNzLWRhbmdlciAucHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9IH1cblxuLm1lZGlhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5tZWRpYS1ib2R5IHtcbiAgZmxleDogMTsgfVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5tZWRpYS1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLm1lZGlhLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi5tZWRpYS1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1ncm91cCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDAgc29saWQgI2RkZDsgfVxuICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cywgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICM2M2ZmZjA7IH1cblxuLmxpc3QtZ3JvdXAtZmx1c2ggLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICM1NTU7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzMzMzsgfVxuICAubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywgLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDg7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQ7IH1cblxuYS5saXN0LWdyb3VwLWl0ZW0taW5mbyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5OGRiOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLCBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyOyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDQwOTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLWRhbmdlcixcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMzJjMWU7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsXG4gIC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4gIC5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogNDIuODU3MTQlOyB9XG5cbi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xYnkxIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzAwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2ZmZjtcbiAgb3BhY2l0eTogLjI7IH1cbiAgLmNsb3NlOmZvY3VzLCAuY2xvc2U6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogLjU7IH1cblxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgLm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTsgfVxuICAubW9kYWwuaW4gLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDEwcHg7IH1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICBib3gtc2hhZG93OiAwIDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG91dGxpbmU6IDA7IH1cblxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmZhZGUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmluIHtcbiAgICBvcGFjaXR5OiAwLjI2OyB9XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuICAubW9kYWwtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cblxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC5tb2RhbC1zbSB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubW9kYWwtbGcge1xuICAgIG1heC13aWR0aDogOTAwcHg7IH0gfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnRvb2x0aXAuaW4ge1xuICAgIG9wYWNpdHk6IDAuOTsgfVxuICAudG9vbHRpcC50b29sdGlwLXRvcCwgLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gICAgLnRvb2x0aXAudG9vbHRpcC10b3AgLnRvb2x0aXAtYXJyb3csIC50b29sdGlwLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuICAudG9vbHRpcC50b29sdGlwLXJpZ2h0LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBtYXJnaW4tbGVmdDogM3B4OyB9XG4gICAgLnRvb2x0aXAudG9vbHRpcC1yaWdodCAudG9vbHRpcC1hcnJvdywgLnRvb2x0aXAuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwOyB9XG4gIC50b29sdGlwLnRvb2x0aXAtYm90dG9tLCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbi10b3A6IDNweDsgfVxuICAgIC50b29sdGlwLnRvb2x0aXAtYm90dG9tIC50b29sdGlwLWFycm93LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3AgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cbiAgLnRvb2x0aXAudG9vbHRpcC1sZWZ0LCAudG9vbHRpcC5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7IH1cbiAgICAudG9vbHRpcC50b29sdGlwLWxlZnQgLnRvb2x0aXAtYXJyb3csIC50b29sdGlwLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNXB4O1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTsgfVxuXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDYwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgcGFkZGluZzogMXB4O1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLnBvcG92ZXIucG9wb3Zlci10b3AsIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgICAucG9wb3Zlci5wb3BvdmVyLXRvcCAucG9wb3Zlci1hcnJvdywgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLTExcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTExcHg7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAgICAgLnBvcG92ZXIucG9wb3Zlci10b3AgLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20gLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAucG9wb3Zlci5wb3BvdmVyLXJpZ2h0LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5wb3BvdmVyLnBvcG92ZXItcmlnaHQgLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLWxlZnQgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAtMTFweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItcmlnaHQgLnBvcG92ZXItYXJyb3c6OmFmdGVyLCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAucG9wb3Zlci5wb3BvdmVyLWJvdHRvbSwgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLnBvcG92ZXIucG9wb3Zlci1ib3R0b20gLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IC0xMXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWFycm93OjphZnRlciwgLnBvcG92ZXIuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtdG9wIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH1cbiAgLnBvcG92ZXIucG9wb3Zlci1sZWZ0LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4OyB9XG4gICAgLnBvcG92ZXIucG9wb3Zlci1sZWZ0IC5wb3BvdmVyLWFycm93LCAucG9wb3Zlci5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1yaWdodCAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cbiAgICAgIC5wb3BvdmVyLnBvcG92ZXItbGVmdCAucG9wb3Zlci1hcnJvdzo6YWZ0ZXIsIC5wb3BvdmVyLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cblxuLnBvcG92ZXItdGl0bGUge1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICBib3JkZXItcmFkaXVzOiAwLjIzNzVyZW0gMC4yMzc1cmVtIDAgMDsgfVxuICAucG9wb3Zlci10aXRsZTplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDE0cHg7IH1cblxuLnBvcG92ZXItYXJyb3csIC5wb3BvdmVyLWFycm93OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6IDExcHg7IH1cblxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4OyB9XG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDsgfVxuICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtID4gaW1nLFxuICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtID4gYSA+IGltZyB7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMHB4OyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLm5leHQsIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLnByZXYsIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLmFjdGl2ZS5sZWZ0IHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5jYXJvdXNlbC1pdGVtLm5leHQubGVmdCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0ucHJldi5yaWdodCwgLmNhcm91c2VsLWlubmVyID4gLmNhcm91c2VsLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCxcbiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dC5sZWZ0LFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTUlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBvcGFjaXR5OiAwLjU7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wubGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTsgfVxuICAuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjUpIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDAwMDAwMDAnLCBlbmRDb2xvcnN0cj0nIzgwMDAwMDAwJywgR3JhZGllbnRUeXBlPTEpOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sOmZvY3VzLCAuY2Fyb3VzZWwtY29udHJvbDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogLjk7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldixcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldiB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICByaWdodDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAzOVwiOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwM2FcIjsgfVxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4OyB9XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmUge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAxNSU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIC5idG4sIC5jYXJvdXNlbC1jYXB0aW9uIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHRleHQtc2hhZG93OiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogMjAlO1xuICAgIGxlZnQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4OyB9IH1cblxuLmJnLWZhZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmOTsgfVxuXG4uYmctcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODggIWltcG9ydGFudDsgfVxuXG5hLmJnLXByaW1hcnk6Zm9jdXMsIGEuYmctcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDYzNWEgIWltcG9ydGFudDsgfVxuXG4uYmctc3VjY2VzcyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTAgIWltcG9ydGFudDsgfVxuXG5hLmJnLXN1Y2Nlc3M6Zm9jdXMsIGEuYmctc3VjY2Vzczpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZDhiNDAgIWltcG9ydGFudDsgfVxuXG4uYmctaW5mbyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwM2E5ZjQgIWltcG9ydGFudDsgfVxuXG5hLmJnLWluZm86Zm9jdXMsIGEuYmctaW5mbzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjg2YzIgIWltcG9ydGFudDsgfVxuXG4uYmctd2FybmluZyB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjIgIWltcG9ydGFudDsgfVxuXG5hLmJnLXdhcm5pbmc6Zm9jdXMsIGEuYmctd2FybmluZzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTM5MDAgIWltcG9ydGFudDsgfVxuXG4uYmctZGFuZ2VyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNiAhaW1wb3J0YW50OyB9XG5cbmEuYmctZGFuZ2VyOmZvY3VzLCBhLmJnLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTFjMGQgIWltcG9ydGFudDsgfVxuXG4uYmctaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDsgfVxuXG5hLmJnLWludmVyc2U6Zm9jdXMsIGEuYmctaW52ZXJzZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NykgIWltcG9ydGFudDsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5kLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4uZmxleC14cy1maXJzdCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4uZmxleC14cy1sYXN0IHtcbiAgb3JkZXI6IDE7IH1cblxuLmZsZXgteHMtdW5vcmRlcmVkIHtcbiAgb3JkZXI6IDA7IH1cblxuLmZsZXgtaXRlbXMteHMtdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmZsZXgtaXRlbXMteHMtbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxleC1pdGVtcy14cy1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmZsZXgteHMtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uZmxleC14cy1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmZsZXgteHMtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uZmxleC1pdGVtcy14cy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uZmxleC1pdGVtcy14cy1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmZsZXgtaXRlbXMteHMtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmZsZXgtc20tZmlyc3Qge1xuICAgIG9yZGVyOiAtMTsgfVxuICAuZmxleC1zbS1sYXN0IHtcbiAgICBvcmRlcjogMTsgfVxuICAuZmxleC1zbS11bm9yZGVyZWQge1xuICAgIG9yZGVyOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LWl0ZW1zLXNtLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMtc20tbWlkZGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LXNtLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxleC1zbS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuZmxleC1zbS1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5mbGV4LWl0ZW1zLXNtLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy1zbS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLXJpZ2h0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5mbGV4LWl0ZW1zLXNtLWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmZsZXgtaXRlbXMtc20tYmV0d2VlbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbGV4LW1kLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmZsZXgtbWQtbGFzdCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZsZXgtbWQtdW5vcmRlcmVkIHtcbiAgICBvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1pdGVtcy1tZC10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWl0ZW1zLW1kLW1pZGRsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy1tZC1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1tZC10b3Age1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtbWQtbWlkZGxlIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLmZsZXgtbWQtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxleC1pdGVtcy1tZC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMtbWQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy1tZC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmxleC1pdGVtcy1tZC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5mbGV4LWl0ZW1zLW1kLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZmxleC1sZy1maXJzdCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5mbGV4LWxnLWxhc3Qge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5mbGV4LWxnLXVub3JkZXJlZCB7XG4gICAgb3JkZXI6IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtaXRlbXMtbGctdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy1sZy1taWRkbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMtbGctYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtbGctdG9wIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWxnLW1pZGRsZSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gIC5mbGV4LWxnLWJvdHRvbSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZsZXgtaXRlbXMtbGctbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mbGV4LWl0ZW1zLWxnLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMtbGctcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLmZsZXgtaXRlbXMtbGctYXJvdW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAuZmxleC1pdGVtcy1sZy1iZXR3ZWVuIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLWZpcnN0IHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmZsZXgteGwtbGFzdCB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmZsZXgteGwtdW5vcmRlcmVkIHtcbiAgICBvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZsZXgtaXRlbXMteGwtdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAuZmxleC1pdGVtcy14bC1taWRkbGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsZXgtaXRlbXMteGwtYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mbGV4LXhsLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAuZmxleC14bC1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAuZmxleC14bC1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmxleC1pdGVtcy14bC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsZXgtaXRlbXMteGwtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxleC1pdGVtcy14bC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZmxleC1pdGVtcy14bC1hcm91bmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5mbGV4LWl0ZW1zLXhsLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi5wdWxsLXhzLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnB1bGwteHMtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLnB1bGwteHMtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIC5wdWxsLXNtLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLXNtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1zbS1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wdWxsLW1kLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLW1kLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1tZC1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wdWxsLWxnLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5wdWxsLWxnLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucHVsbC1sZy1ub25lIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucHVsbC14bC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucHVsbC14bC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnB1bGwteGwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7IH1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSwgLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4udy0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtYXV0byB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMCB7XG4gIG1hcmdpbjogMCAwICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXItMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ubS1sLTAge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5tLXktMCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5tLWEtMSB7XG4gIG1hcmdpbjogMC41cmVtIDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXQtMSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXItMSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tbC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXgtMSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS15LTEge1xuICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS0yIHtcbiAgbWFyZ2luOiAwLjc1cmVtIDAuNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS10LTIge1xuICBtYXJnaW4tdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYi0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLWwtMiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teS0yIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tYS0zIHtcbiAgbWFyZ2luOiAxLjVyZW0gMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tdC0zIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0tci0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1iLTMge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ubS1sLTMge1xuICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLm0teC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tLXktMyB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1hLTAge1xuICBwYWRkaW5nOiAwIDAgIWltcG9ydGFudDsgfVxuXG4ucC10LTAge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLXItMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ucC1iLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5wLWwtMCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi5wLXgtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnAteS0wIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4ucC1hLTEge1xuICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtdC0xIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXItMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC1sLTEge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXgtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXktMSB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMiB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLXQtMiB7XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0yIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWItMiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtbC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0yIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC15LTIge1xuICBwYWRkaW5nLXRvcDogMC43NXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWEtMyB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gIWltcG9ydGFudDsgfVxuXG4ucC10LTMge1xuICBwYWRkaW5nLXRvcDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtci0zIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAtYi0zIHtcbiAgcGFkZGluZy1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wLWwtMyB7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteC0zIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnAteS0zIHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7IH1cblxuLnBvcy1mLXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMzA7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4udGV4dC14cy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udGV4dC14cy1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLnRleHQtc20tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LXNtLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRleHQtbWQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LW1kLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRleHQtbGctbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC50ZXh0LWxnLWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50ZXh0LXhsLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC14bC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4uZm9udC13ZWlnaHQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9udC13ZWlnaHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udGV4dC1tdXRlZCwgLmJtZC1oZWxwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNikgIWltcG9ydGFudDsgfVxuXG5hLnRleHQtbXV0ZWQ6Zm9jdXMsIGEuYm1kLWhlbHA6Zm9jdXMsIGEudGV4dC1tdXRlZDpob3ZlciwgYS5ibWQtaGVscDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogIzAwOTY4OCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1wcmltYXJ5OmZvY3VzLCBhLnRleHQtcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjMDA2MzVhOyB9XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzRjYWY1MCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1zdWNjZXNzOmZvY3VzLCBhLnRleHQtc3VjY2Vzczpob3ZlciB7XG4gIGNvbG9yOiAjM2Q4YjQwOyB9XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogIzAzYTlmNCAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC1pbmZvOmZvY3VzLCBhLnRleHQtaW5mbzpob3ZlciB7XG4gIGNvbG9yOiAjMDI4NmMyOyB9XG5cbi50ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZmNTcyMiAhaW1wb3J0YW50OyB9XG5cbmEudGV4dC13YXJuaW5nOmZvY3VzLCBhLnRleHQtd2FybmluZzpob3ZlciB7XG4gIGNvbG9yOiAjZWUzOTAwOyB9XG5cbi50ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZjQ0MzM2ICFpbXBvcnRhbnQ7IH1cblxuYS50ZXh0LWRhbmdlcjpmb2N1cywgYS50ZXh0LWRhbmdlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWExYzBkOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLmhpZGRlbi14cy11cCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTQzcHgpIHtcbiAgLmhpZGRlbi14cy1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgLmhpZGRlbi1zbS11cCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4tc20tZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oaWRkZW4tbWQtdXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLW1kLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGlkZGVuLWxnLXVwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbGctZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGlkZGVuLXhsLXVwIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZGVuLXhsLWRvd24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuYm9keSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uYm1kLWxheW91dC1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmJtZC1sYXlvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4uYm1kLWxheW91dC1oZWFkZXIge1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuXG4uYm1kLWxheW91dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5ibWQtbGF5b3V0LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4uYm1kLWxheW91dC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgLmJtZC1sYXlvdXQtYmFja2Ryb3Age1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4uYnRuLCAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG46Zm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uZm9jdXMsIC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYWN0aXZlLmZvY3VzLCAuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnRuOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgLmJ0bjpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5mb2N1cywgLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gIC5idG46YWN0aXZlLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5hY3RpdmUsIC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuOmFjdGl2ZTpob3ZlciwgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG46YWN0aXZlOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bjphY3RpdmUuZm9jdXMsIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmFjdGl2ZTpob3ZlciwgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYWN0aXZlOmZvY3VzLCAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5hY3RpdmUuZm9jdXMsIC5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm9wZW4gPiAuYnRuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAuYnRuLmRpc2FibGVkOmZvY3VzLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmRpc2FibGVkLmZvY3VzLCAuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuOmRpc2FibGVkLmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYnRuLmRpc2FibGVkOmhvdmVyLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAuYmctaW52ZXJzZSAuYnRuLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG46aG92ZXIsIC5iZy1pbnZlcnNlIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bjpmb2N1cywgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5mb2N1cywgLmJnLWludmVyc2UgLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuOmFjdGl2ZSwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYWN0aXZlLCAuYmctaW52ZXJzZSAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuOmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG46YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bjphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bi5idG4tbGluaywgLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tcHJpbWFyeSwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDk2ODg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLCAuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZSwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgICAgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeSwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXByaW1hcnkuYnRuLWxpbmssIC5idG4tcHJpbWFyeS5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tc2Vjb25kYXJ5LCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5OmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tc2Vjb25kYXJ5LmFjdGl2ZSwgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXNlY29uZGFyeS5idG4tbGluaywgLmJ0bi1zZWNvbmRhcnkuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLWluZm8sIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4taW5mbzpob3ZlciwgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4taW5mbzpmb2N1cywgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4taW5mby5mb2N1cywgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4taW5mbzphY3RpdmUsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZSwgLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4taW5mbzphY3RpdmU6Zm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4taW5mby5hY3RpdmU6Zm9jdXMsIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8sIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mbzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mbzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1pbmZvLmJ0bi1saW5rLCAuYnRuLWluZm8uYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLXN1Y2Nlc3MsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4tc3VjY2Vzczpob3ZlciwgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2Vzcy5mb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzczpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLXN1Y2Nlc3MuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLXdhcm5pbmcsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzpob3ZlciwgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZy5mb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4td2FybmluZzphY3RpdmUsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAgIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi13YXJuaW5nLmJ0bi1saW5rLCAuYnRuLXdhcm5pbmcuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLWRhbmdlciwgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5idG4uYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLCAuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWRhbmdlcjphY3RpdmUsIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgICAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlciwgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJ0bi1kYW5nZXIuYnRuLWxpbmssIC5idG4tZGFuZ2VyLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnksIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Mjc2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5OmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4Mjc2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA1OTUxOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNzY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDU5NTE7IH1cbiAgICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTphY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5hY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODI3NjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAxNzE0OyB9XG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNzY7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6ZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5OmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXByaW1hcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tcHJpbWFyeTpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FkYWRhZDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeTphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOyB9XG4gICAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeTphY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5OmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tc2Vjb25kYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnk6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8sIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzliZTA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm86Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4taW5mby5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzliZTA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMjdmYjg7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzphY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mby5hY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOWJlMDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAyN2ZiODsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mbzphY3RpdmU6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5hY3RpdmU6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZTpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZTpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86YWN0aXZlOmhvdmVyLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzphY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uYWN0aXZlOmhvdmVyLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5hY3RpdmUuZm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mby5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM5YmUwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTUyNzY7IH1cbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzOWJlMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvOmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpkaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvLmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4taW5mbzpkaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm86ZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mby5kaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4taW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4taW5mbzpkaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1pbmZvLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1pbmZvOmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4taW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAzYTlmNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzcyxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhMTQ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzczpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDZhMTQ5O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMzk4NDNjOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2VzczphY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZSwgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczphY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmExNDk7XG4gICAgICBib3JkZXItY29sb3I6ICMzOTg0M2M7IH1cbiAgICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlcixcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2YTE0OTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjU1NjI3OyB9XG4gICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NmExNDk7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6Zm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzOmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRjYWY1MDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5ibWQtYnRuLWZhYi5idG4tc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tc3VjY2VzczpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Y2FmNTA7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDcwZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZzpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDcwZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U0MzcwMDsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NzBlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTQzNzAwOyB9XG4gICAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nOmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzphY3RpdmUuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzphY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjQ3MGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2EyMjcwMDsgfVxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NzBlOyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpkaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi13YXJuaW5nOmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZzpkaXNhYmxlZC5mb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU3MjI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4td2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4td2FybmluZy5kaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLXdhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1NzIyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcixcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU1NDk7XG4gICAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXI6Zm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTU1NDk7XG4gICAgICBib3JkZXItY29sb3I6ICNlMTFiMGM7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID5cbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NTU0OTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2UxMWIwYzsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjphY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXI6YWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5hY3RpdmU6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+XG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU1NTQ5O1xuICAgICAgICBib3JkZXItY29sb3I6ICNhMjEzMDk7IH1cbiAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm9wZW4gPlxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+XG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgICAub3BlbiA+IC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAub3BlbiA+IC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLm9wZW4gPlxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID5cbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NTU0OTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsIC5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmJ0bi1kYW5nZXI6ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlcjpkaXNhYmxlZC5mb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyLmRpc2FibGVkOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZDpmb2N1cyxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tZGFuZ2VyOmRpc2FibGVkLmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWZhYi5idG4tZGFuZ2VyLmRpc2FibGVkOmhvdmVyLCAuYm1kLWJ0bi1mYWIuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIuYnRuLWRhbmdlcjpkaXNhYmxlZDpob3ZlciwgLmJtZC1idG4tZmFiLmJ0bi1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1yYWlzZWQuYnRuLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZC5idG4tZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLXJhaXNlZC5idG4tZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWRhbmdlcjpkaXNhYmxlZDpob3ZlcixcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAuYnRuLmJtZC1idG4tZmFiOmZvY3VzLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJtZC1idG4tZmFiOmhvdmVyLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQ6Zm9jdXMsIC5idG4tcmFpc2VkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkOmhvdmVyLCAuYnRuLXJhaXNlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46Zm9jdXMsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46aG92ZXIsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuYnRuLmJtZC1idG4tZmFiLmFjdGl2ZSwgLmJtZC1idG4tZmFiLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWI6YWN0aXZlLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmFjdGl2ZSwgLmJ0bi1yYWlzZWQuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkOmFjdGl2ZSwgLmJ0bi1yYWlzZWQuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5hY3RpdmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cC1yYWlzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuMTgpLCAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zNik7IH1cbiAgLmJ0bi5idG4tcmFpc2VkLCAuYnRuLXJhaXNlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4sXG4gIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgIC5idG4uYnRuLXJhaXNlZC5idG4tbGluaywgLmJ0bi1yYWlzZWQuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbmssXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbmsuYWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tbGluay5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tbGluay5hY3RpdmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5idG4uYnRuLXJhaXNlZC5idG4tbGluazpmb2N1cywgLmJ0bi1yYWlzZWQuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbms6YWN0aXZlLCAuYnRuLXJhaXNlZC5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWQuYnRuLWxpbms6aG92ZXIsIC5idG4tcmFpc2VkLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbms6Zm9jdXMsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5idG4tbGluazphY3RpdmUsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG4uYnRuLWxpbms6aG92ZXIsXG4gICAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmJ0bi5idG4tcmFpc2VkLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4tcmFpc2VkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tcmFpc2VkLmRpc2FibGVkLCAuYnRuLXJhaXNlZC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLXJhaXNlZDpkaXNhYmxlZCwgLmJ0bi1yYWlzZWQuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuLmJ0bi1yYWlzZWRbZGlzYWJsZWRdLCAuYnRuLXJhaXNlZFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0biwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmJ0bi5kaXNhYmxlZCxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtcmFpc2VkIC5idG46ZGlzYWJsZWQsXG4gICAgLmJ0bi1ncm91cC1yYWlzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCAuYnRuW2Rpc2FibGVkXSxcbiAgICAuYnRuLWdyb3VwLXJhaXNlZCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5idG4uYnRuLW91dGxpbmUsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSwgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mbywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lOmZvY3VzLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmZvY3VzLCAuYnRuLW91dGxpbmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAuYnRuLmJ0bi1vdXRsaW5lOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmU6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lOmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmU6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZTpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUuYnRuLWxpbmssIC5idG4tb3V0bGluZS5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzAwOTY4ODtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtcHJpbWFyeTpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXByaW1hcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtcHJpbWFyeS5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXByaW1hcnkuYnRuLWxpbmssIC5idG4tb3V0bGluZS1wcmltYXJ5LmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnksIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zZWNvbmRhcnkuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLWluZm8sIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUsIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLFxuICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZTpmb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuNCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwM2E5ZjQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAzYTlmNDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mbzphY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmU6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5hY3RpdmUuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDNhOWY0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpOyB9XG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvLmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1pbmZvOmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtaW5mby5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLmZvY3VzOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwM2E5ZjQ7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1pbmZvLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtaW5mby5idG4tbGluaywgLmJ0bi1vdXRsaW5lLWluZm8uYnRuLWxpbmsuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzcywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogIzRjYWY1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC40KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzRjYWY1MDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2FmNTA7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzczpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZSwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNGNhZjUwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmUuZm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZTpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmhvdmVyLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM0Y2FmNTA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4yNSk7IH1cbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uOmhvdmVyLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQuZm9jdXM6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtc3VjY2Vzcy5idG4tbGluay5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLCAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzphY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmU6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMC4yKTsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1NzIyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLFxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjU3MjI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYWN0aXZlLmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cyxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmNTcyMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiwgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7IH1cbiAgICAgIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmZvY3VzLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtd2FybmluZzpkaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjU3MjI7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLXdhcm5pbmcuYnRuLWxpbmssIC5idG4tb3V0bGluZS13YXJuaW5nLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUsXG4gICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUzLCAxNTMsIDAuMik7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZTpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlLmZvY3VzOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAgICAgLm9wZW4gPiAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgICAub3BlbiA+IC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmZvY3VzLFxuICAgICAgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjQpO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAub3BlbiA+IC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24sIC5vcGVuID4gLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIC5vcGVuID4gLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbjpob3ZlciwgLm9wZW4gPiAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTMsIDE1MywgMTUzLCAwLjIpOyB9XG4gICAgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cbiAgICAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMTUpOyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmUsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSxcbiAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmNDQzMzY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA0LCAyMDQsIDIwNCwgMC4xNSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlcjphY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6YWN0aXZlOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmFjdGl2ZS5mb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmU6aG92ZXIsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmFjdGl2ZS5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5hY3RpdmUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3VzLFxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXM6OmJlZm9yZSxcbiAgICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMsXG4gICAgICAgIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2Y0NDMzNjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjI1KTsgfVxuICAgICAgLm9wZW4gPiAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLCAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICAub3BlbiA+IC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246aG92ZXIsIC5vcGVuID4gLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDQsIDIwNCwgMjA0LCAwLjE1KTsgfVxuICAgICAgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cywgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5mb2N1cy5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmZvY3VzLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6Zm9jdXM6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWQuZm9jdXMsIC5iZy1pbnZlcnNlIC5idG4tb3V0bGluZS1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZC5mb2N1czo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjQ0MzM2OyB9XG4gICAgICAuYmctaW52ZXJzZSAuYnRuLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJnLWludmVyc2UgLmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIC5iZy1pbnZlcnNlIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVkOmhvdmVyLCAuYmctaW52ZXJzZSAuYnRuLW91dGxpbmUtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Y0NDMzNjsgfVxuICAgIC5idG4uYnRuLW91dGxpbmUtZGFuZ2VyLmJ0bi1saW5rLCAuYnRuLW91dGxpbmUtZGFuZ2VyLmJ0bi1saW5rLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLmJtZC1idG4tZmFiLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5idG4tZ3JvdXAtbGcgLmJ0bi5ibWQtYnRuLWZhYiwgLmJ0bi1ncm91cC1sZyAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAgIC5idG4tZ3JvdXAtc20gLmJ0bi5ibWQtYnRuLWZhYixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWZhYi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4uYm1kLWJ0bi1mYWIsIC5ibWQtYnRuLWZhYi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4tZ3JvdXAtbGcgLmJ0bi5ibWQtYnRuLWljb24sIC5idG4tZ3JvdXAtbGcgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4taWNvbixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIgLm1hdGVyaWFsLWljb25zLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5tYXRlcmlhbC1pY29ucywgLmJ0bi5ibWQtYnRuLWljb24gLm1hdGVyaWFsLWljb25zLCAuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0wLjc1cmVtLCAtMC43NXJlbSk7IH1cbiAgLmJ0bi5ibWQtYnRuLWZhYiwgLmJtZC1idG4tZmFiLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBtaW4td2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxLjVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgICAuYnRuLmJtZC1idG4tZmFiIC5yaXBwbGUtY29udGFpbmVyLCAuYm1kLWJ0bi1mYWIuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5idG4uYm1kLWJ0bi1mYWIuYm1kLWJ0bi1mYWItc20sIC5ibWQtYnRuLWZhYi5ibWQtYnRuLWZhYi1zbS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4tZmFiLFxuICAgIC5idG4tZ3JvdXAtc20gLmJtZC1idG4tZmFiLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgbWluLXdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuYnRuLmJtZC1idG4taWNvbiwgLmJtZC1idG4taWNvbi5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJ0bi5ibWQtYnRuLWljb24uYm1kLWJ0bi1pY29uLXNtLCAuYm1kLWJ0bi1pY29uLmJtZC1idG4taWNvbi1zbS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsXG4gICAgLmJ0bi1ncm91cC1zbSAuYnRuLmJtZC1idG4taWNvbixcbiAgICAuYnRuLWdyb3VwLXNtIC5ibWQtYnRuLWljb24uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBtaW4td2lkdGg6IDEuNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAgICAgLmJ0bi5ibWQtYnRuLWljb24uYm1kLWJ0bi1pY29uLXNtIC5tYXRlcmlhbC1pY29ucywgLmJtZC1idG4taWNvbi5ibWQtYnRuLWljb24tc20uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlIC5tYXRlcmlhbC1pY29ucyxcbiAgICAgIC5idG4tZ3JvdXAtc20gLmJ0bi5ibWQtYnRuLWljb24gLm1hdGVyaWFsLWljb25zLFxuICAgICAgLmJ0bi1ncm91cC1zbSAuYm1kLWJ0bi1pY29uLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC41NjI1cmVtLCAtMC41NjI1cmVtKTsgfVxuICAuYnRuIC5tYXRlcmlhbC1pY29ucywgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSAubWF0ZXJpYWwtaWNvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC4yNWVtO1xuICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFlbTtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9XG4gIC5idG4uYnRuLWxnLCAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmJ0bi1ncm91cC1sZyA+IC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG4tbGcuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLWxnIC5idG4sXG4gIC5idG4tZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTsgfVxuICAuYnRuLmJ0bi1zbSwgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5idG4tZ3JvdXAtc20gPiAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLXNtLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC1zbSAuYnRuLFxuICAuYnRuLWdyb3VwLXNtIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgIHBhZGRpbmc6IDAuNDA2MjVyZW0gMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMDYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bi5kaXNhYmxlZCwgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJ0bjpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJ0bltkaXNhYmxlZF0sIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4uaW5wdXQtZ3JvdXAtYnRuIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbi5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZCxcbi5pbnB1dC1ncm91cC1idG4gLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bjpkaXNhYmxlZCxcbi5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbi5pbnB1dC1ncm91cC1idG4gLmJ0bltkaXNhYmxlZF0sXG4uaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC5kaXNhYmxlZCxcbi5idG4tZ3JvdXA6ZGlzYWJsZWQsXG4uYnRuLWdyb3VwW2Rpc2FibGVkXSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCxcbi5idG4tZ3JvdXAtdmVydGljYWwuZGlzYWJsZWQsXG4uYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbFtkaXNhYmxlZF0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAuYmctaW52ZXJzZSBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIC5iZy1pbnZlcnNlIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bi5kaXNhYmxlZCwgLmJnLWludmVyc2UgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bjpkaXNhYmxlZCwgLmJnLWludmVyc2UgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJnLWludmVyc2UgLmJ0bltkaXNhYmxlZF0sIC5iZy1pbnZlcnNlIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZSBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0biwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5iZy1pbnZlcnNlXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZCwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYmctaW52ZXJzZVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46ZGlzYWJsZWQsIC5iZy1pbnZlcnNlXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuW2Rpc2FibGVkXSwgLmJnLWludmVyc2VcbiAgLmlucHV0LWdyb3VwLWJ0biBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwOmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwW2Rpc2FibGVkXSwgLmJnLWludmVyc2UgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLCAuYmctaW52ZXJzZVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfVxuICBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5idG4sIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuYnRuOmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmJ0bjpmb2N1cywgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuLmRpc2FibGVkLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLmRpc2FibGVkOmhvdmVyLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLCAuYnRuLmRpc2FibGVkOmZvY3VzLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCAuYnRuOmRpc2FibGVkLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmhvdmVyLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpob3Zlcjo6YmVmb3JlLCAuYnRuOmRpc2FibGVkOmZvY3VzLCAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLCAuYnRuW2Rpc2FibGVkXSwgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIC5idG5bZGlzYWJsZWRdOmhvdmVyLCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgLmJ0bltkaXNhYmxlZF06Zm9jdXMsIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0biwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmhvdmVyLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6aG92ZXI6OmJlZm9yZSwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46Zm9jdXMsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmlucHV0LWdyb3VwLWJ0biAuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG4uZGlzYWJsZWQsXG4gIC5pbnB1dC1ncm91cC1idG4gLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuLmRpc2FibGVkOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5kaXNhYmxlZC5jdXN0b20tZmlsZS1jb250cm9sOmhvdmVyOjpiZWZvcmUsXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bi5kaXNhYmxlZDpmb2N1cyxcbiAgLmlucHV0LWdyb3VwLWJ0biAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG46ZGlzYWJsZWQsXG4gIC5pbnB1dC1ncm91cC1idG4gLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQ6OmJlZm9yZSxcbiAgLmlucHV0LWdyb3VwLWJ0biAuYnRuOmRpc2FibGVkOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkOmhvdmVyOjpiZWZvcmUsXG4gIC5pbnB1dC1ncm91cC1idG4gLmJ0bjpkaXNhYmxlZDpmb2N1cyxcbiAgLmlucHV0LWdyb3VwLWJ0biAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZDpmb2N1czo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdOmhvdmVyLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpob3Zlcjo6YmVmb3JlLFxuICAuaW5wdXQtZ3JvdXAtYnRuIC5idG5bZGlzYWJsZWRdOmZvY3VzLFxuICAuaW5wdXQtZ3JvdXAtYnRuIFtkaXNhYmxlZF0uY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1czo6YmVmb3JlLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5idG4tZ3JvdXAsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmJ0bi1ncm91cDpob3ZlciwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwOmZvY3VzLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwOmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwW2Rpc2FibGVkXSxcbiAgLmJ0bi1ncm91cFtkaXNhYmxlZF06aG92ZXIsXG4gIC5idG4tZ3JvdXBbZGlzYWJsZWRdOmZvY3VzLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdXG4gIC5idG4tZ3JvdXAtdmVydGljYWwsIGZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF1cbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbDpob3ZlciwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXVxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkOmhvdmVyLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsOmRpc2FibGVkOmZvY3VzLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsW2Rpc2FibGVkXSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbFtkaXNhYmxlZF06aG92ZXIsXG4gIC5idG4tZ3JvdXAtdmVydGljYWxbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxMHB4IDFweDsgfVxuICAuYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51LFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5kcm9wZG93bi1tZW51IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4xMjVyZW0gMC4xMjVyZW07IH1cbiAgLmJ0bi1ncm91cC5idG4tZ3JvdXAtcmFpc2VkLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsLmJ0bi1ncm91cC1yYWlzZWQge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLCAuYnRuLWdyb3VwIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLCAuYnRuLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwIC5idG4sXG4gIC5idG4tZ3JvdXAgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cCAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuYnRuLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4gKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUgKyAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlLFxuICAuYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuOmFjdGl2ZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuY3VzdG9tLWZpbGUtY29udHJvbDphY3RpdmU6OmJlZm9yZSxcbiAgLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAsXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNoZWNrYm94IGxhYmVsLFxubGFiZWwuY2hlY2tib3gtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvcixcbiAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMTI1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDIuMywgMi4zLCAxKTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2sge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtOyB9XG4gICAgICAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSxcbiAgICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCBpbnNldDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LW9mZjsgfVxuICAgICAgICAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSwgLmlzLWZvY3VzZWRcbiAgICAgICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUge1xuICAgICAgICAgIGFuaW1hdGlvbjogY2hlY2tib3gtb2ZmIDAuM3MgZm9yd2FyZHM7IH1cbiAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZvY3VzICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2sge1xuICAgICAgY29sb3I6ICMwMDk2ODg7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDA5Njg4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweDtcbiAgICAgIGFuaW1hdGlvbjogY2hlY2tib3gtb24gMC4zcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247IH1cbiAgICAgIC5pcy1mb2N1c2VkIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLCAuaXMtZm9jdXNlZFxuICAgICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9uIDUwMG1zOyB9XG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmOyB9XG4gICAgICAuaXMtZm9jdXNlZCAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSwgLmlzLWZvY3VzZWRcbiAgICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmNoZWNrZWQpICsgLmNoZWNrYm94LWRlY29yYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgNTAwbXM7IH1cbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpjaGVja2VkKSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBhbmltYXRpb246IHJpcHBsZU9mZiA1MDBtcyBmb3J3YXJkczsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSAuY2hlY2s6OmFmdGVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2s6OmFmdGVyLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjazo6YWZ0ZXIsXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSAuY2hlY2s6OmFmdGVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0gLmNoZWNrOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICAuY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIC5jaGVjayxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94IGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2ssXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2ssXG4gICAgbGFiZWwuY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0gLmNoZWNrLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSAuY2hlY2sge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb24ge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4OyB9XG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAycHggMCAxMXB4OyB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsIDEwcHggLTEwcHggMCAxMHB4LCAzMnB4IDAgMCAyMHB4LCAwIDMycHggMCAyMHB4LCAtNXB4IDVweCAwIDEwcHgsIDIwcHggLTEycHggMCAxMXB4OyB9IH1cblxuQGtleWZyYW1lcyBjaGVja2JveC1vZmYge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMjBweCAtMTJweCAwIDExcHgsIDAgMCAwIDAgaW5zZXQ7IH1cbiAgMjUlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LCAxMHB4IC0xMHB4IDAgMTBweCwgMzJweCAwIDAgMjBweCwgMCAzMnB4IDAgMjBweCwgLTVweCA1cHggMCAxMHB4LCAyMHB4IC0xMnB4IDAgMTFweCwgMCAwIDAgMCBpbnNldDsgfVxuICA1MCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCwgMTBweCAtMTBweCAwIDEwcHgsIDMycHggMCAwIDIwcHgsIDAgMzJweCAwIDIwcHgsIC01cHggNXB4IDAgMTBweCwgMTVweCAycHggMCAxMXB4LCAwIDAgMCAwIGluc2V0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICA1MSUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDAsIDAgMCAwIDEwcHggaW5zZXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCwgMCAwIDAgMCBpbnNldDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcmlwcGxlT24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uY3VzdG9tLWZpbGUtY29udHJvbCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sOmludmFsaWQsIC5jdXN0b20tZmlsZS1jb250cm9sIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2w6cmVhZC1vbmx5LCAuY3VzdG9tLWZpbGUtY29udHJvbCAuY3VzdG9tLWZpbGUtY29udHJvbDpyZWFkLW9ubHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sIC5jdXN0b20tZmlsZS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLmRpc2FibGVkLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuY3VzdG9tLWZpbGUtY29udHJvbCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yNikgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNikgMzAlLCB0cmFuc3BhcmVudCAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDFweDsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwOTY4OCAycHgsIHJnYmEoMCwgMTUwLCAxMzYsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA5Njg4IDJweCwgcmdiYSgwLCAxNTAsIDEzNiwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5yYWRpbyxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuY2hlY2tib3gtaW5saW5lLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkLnJhZGlvLWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAucmFkaW8sXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLnJhZGlvLWlubGluZSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkLmNoZWNrYm94IGxhYmVsLFxuLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24sIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuY3VzdG9tLWZpbGUtY29udHJvbC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5jdXN0b20tZmlsZS1jb250cm9sIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgY29sb3I6ICMwMDk2ODg7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5jdXN0b20tZmlsZS1jb250cm9sLmlzLWZvY3VzZWQgLmJtZC1oZWxwIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cblxuLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpOyB9XG5cbi5zd2l0Y2ggbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMi40Mzc1cmVtOyB9XG4gIC5zd2l0Y2ggbGFiZWwgLmJtZC1zd2l0Y2gtdHJhY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMzEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi4xMjVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDUwJSwgIzQ5ZGNjZSA1MCUsICM0OWRjY2UgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiA0LjI1cmVtIDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIuMTI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluOyB9XG4gICAgLnN3aXRjaCBsYWJlbCAuYm1kLXN3aXRjaC10cmFjazo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1pbiwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAuc3dpdGNoIGxhYmVsIC5ibWQtc3dpdGNoLXRyYWNrOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgLnN3aXRjaCBsYWJlbCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpjaGVja2VkICsgLmJtZC1zd2l0Y2gtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMCU7IH1cbiAgICAgIC5zd2l0Y2ggbGFiZWwgaW5wdXQ6Y2hlY2tlZCArIC5ibWQtc3dpdGNoLXRyYWNrOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIC5ibWQtc3dpdGNoLXRyYWNrOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLnN3aXRjaCBsYWJlbCBpbnB1dDpkaXNhYmxlZCArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgICAgIC5zd2l0Y2ggbGFiZWwgaW5wdXQ6ZGlzYWJsZWQgKyAuYm1kLXN3aXRjaC10cmFjazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYmRiZGJkOyB9XG5cbi5yYWRpbyBsYWJlbCxcbmxhYmVsLnJhZGlvLWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH1cbiAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7IH1cbiAgICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAucmFkaW8gbGFiZWwgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZSAuMjhzOyB9XG4gICAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgLnJhZGlvIGxhYmVsIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLmJtZC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTY4ODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIC4yOHM7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7IH1cbiAgICAgIC5yYWRpbyBsYWJlbCAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIC5yYWRpbyBsYWJlbCAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlcixcbiAgICAgIGxhYmVsLnJhZGlvLWlubGluZSAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZS5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMWVtO1xuICAgICAgICBsZWZ0OiAtMWVtO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEpOyB9XG4gIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSxcbiAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Njg4OyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAwOTY4ODsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC41NSwgMC41NSwgMSk7IH1cbiAgICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLFxuICAgICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZTo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9uOyB9XG4gICAgICAgIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLCAuaXMtZm9jdXNlZFxuICAgICAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlOjphZnRlciB7XG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiA1MDBtczsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zOyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgKyAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dICsgLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAgIC5iZy1pbnZlcnNlIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2UgLnJhZGlvIGxhYmVsIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXSB+IC5ibWQtcmFkaW8taW5uZXItY2lyY2xlLCAuYmctaW52ZXJzZVxuICAgIGxhYmVsLnJhZGlvLWlubGluZSBpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cbiAgICAuYmctaW52ZXJzZSAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlIC5yYWRpbyBsYWJlbCBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCB+IC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAuYmctaW52ZXJzZVxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8gbGFiZWwgaW5wdXRbdHlwZT1yYWRpb10gfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSwgLmJnLWludmVyc2VcbiAgICBsYWJlbC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUsIC5iZy1pbnZlcnNlXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdXG4gICAgbGFiZWwucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIH4gLmJtZC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7IH1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJpcHBsZU9mZiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLm5hdmJhciBmb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm5hdmJhciBmb3JtIC5ibWQtZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5uYXZiYXIgZm9ybSAuYnRuLCAubmF2YmFyIGZvcm0gLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mb3JtLWNvbnRyb2wsIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlO1xuICBib3JkZXI6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMHMgZWFzZS1vdXQ7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cywgLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH1cblxuLmJtZC1oZWxwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmJtZC1oZWxwOm50aC1vZi10eXBlKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAuYm1kLWhlbHAgKyAuYm1kLWhlbHAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yYWRpbyBsYWJlbCxcbi5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCxcbi5yYWRpby1pbmxpbmUsXG4uaXMtZm9jdXNlZFxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveCBsYWJlbCxcbi5pcy1mb2N1c2VkXG4uY2hlY2tib3ggbGFiZWwsXG4uY2hlY2tib3gtaW5saW5lLFxuLmlzLWZvY3VzZWRcbi5jaGVja2JveC1pbmxpbmUsXG4uc3dpdGNoIGxhYmVsLFxuLmlzLWZvY3VzZWRcbi5zd2l0Y2ggbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuICAucmFkaW8gbGFiZWw6Zm9jdXMsIC5yYWRpbyBsYWJlbDphY3RpdmUsIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsOmZvY3VzLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWw6YWN0aXZlLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWw6aG92ZXIsXG4gIC5yYWRpby1pbmxpbmU6Zm9jdXMsXG4gIC5yYWRpby1pbmxpbmU6YWN0aXZlLFxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmZvY3VzLFxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZTpob3ZlcixcbiAgLmNoZWNrYm94IGxhYmVsOmZvY3VzLFxuICAuY2hlY2tib3ggbGFiZWw6YWN0aXZlLFxuICAuY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsOmhvdmVyLFxuICAuY2hlY2tib3gtaW5saW5lOmZvY3VzLFxuICAuY2hlY2tib3gtaW5saW5lOmFjdGl2ZSxcbiAgLmNoZWNrYm94LWlubGluZTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTphY3RpdmUsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveC1pbmxpbmU6aG92ZXIsXG4gIC5zd2l0Y2ggbGFiZWw6Zm9jdXMsXG4gIC5zd2l0Y2ggbGFiZWw6YWN0aXZlLFxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmZvY3VzLFxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmFjdGl2ZSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbDpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7IH1cbiAgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWQgLnJhZGlvIGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZCAucmFkaW8gbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkIC5yYWRpbyBsYWJlbDpmb2N1cyxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5yYWRpby1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLnJhZGlvLWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5yYWRpby1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAucmFkaW8taW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLnJhZGlvLWlubGluZTpmb2N1cyxcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94IGxhYmVsIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLFxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3ggbGFiZWwgbGFiZWw6aGFzKGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSk6aG92ZXIsXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveCBsYWJlbDpmb2N1cyxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuY2hlY2tib3gtaW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZSBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAuY2hlY2tib3gtaW5saW5lOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLmNoZWNrYm94LWlubGluZTpmb2N1cyxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5zd2l0Y2ggbGFiZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLnN3aXRjaCBsYWJlbDpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKTpmb2N1cyxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKSxcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpob3ZlcixcbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbCBsYWJlbDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdKTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdXG4gIC5pcy1mb2N1c2VkXG4gIC5zd2l0Y2ggbGFiZWwsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXVxuICAuaXMtZm9jdXNlZFxuICAuc3dpdGNoIGxhYmVsOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF1cbiAgLmlzLWZvY3VzZWRcbiAgLnN3aXRjaCBsYWJlbDpmb2N1cyB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG5bY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4uZm9ybS1jb250cm9sLCAuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uZm9ybS1jb250cm9sOmludmFsaWQsIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5mb3JtLWNvbnRyb2w6cmVhZC1vbmx5LCAuY3VzdG9tLWZpbGUtY29udHJvbDpyZWFkLW9ubHkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmRpc2FibGVkLCAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmN1c3RvbS1maWxlLWNvbnRyb2w6ZGlzYWJsZWQsIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCBbZGlzYWJsZWRdLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4yNikgMCUsIHJnYmEoMCwgMCwgMCwgMC4yNikgMzAlLCB0cmFuc3BhcmVudCAzMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogM3B4IDFweDsgfVxuXG4uZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICMwMDk2ODggMnB4LCByZ2JhKDAsIDE1MCwgMTM2LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAwOTY4OCAycHgsIHJnYmEoMCwgMTUwLCAxMzYsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDA5Njg4IDJweCwgcmdiYSgwLCAxNTAsIDEzNiwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5pcy1mb2N1c2VkIC5yYWRpbyxcbi5pcy1mb2N1c2VkIC5jaGVja2JveCxcbi5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaXMtZm9jdXNlZCAuY2hlY2tib3gtaW5saW5lLFxuLmlzLWZvY3VzZWQucmFkaW8gbGFiZWwsXG4uaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5pcy1mb2N1c2VkLnJhZGlvLWlubGluZSBsYWJlbCxcbi5pcy1mb2N1c2VkLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCxcbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWxhYmVsLFxuLmlzLWZvY3VzZWQgLnJhZGlvLFxuLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmlzLWZvY3VzZWQgLnJhZGlvLWlubGluZSxcbi5pcy1mb2N1c2VkIC5jaGVja2JveC1pbmxpbmUsXG4uaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5pcy1mb2N1c2VkLmNoZWNrYm94IGxhYmVsLFxuLmlzLWZvY3VzZWQucmFkaW8taW5saW5lIGxhYmVsLFxuLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1jb250cm9sIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cblxuLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjI2KTsgfVxuXG4uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmlzLWZvY3VzZWQgW2NsYXNzKj0nIGJtZC1sYWJlbCddLFxuLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAwOTY4ODsgfVxuXG4uaXMtZm9jdXNlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyLFxuLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCxcbi5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5pcy1mb2N1c2VkIC5ibWQtaGVscCxcbi5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtc3VjY2VzcyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtc3VjY2VzcyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbCwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLXN1Y2Nlc3MgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjNGNhZjUwIDJweCwgcmdiYSg3NiwgMTc1LCA4MCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1zdWNjZXNzIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtc3VjY2VzcyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtc3VjY2VzcyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLXN1Y2Nlc3MgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzRjYWY1MCAycHgsIHJnYmEoNzYsIDE3NSwgODAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzRjYWY1MDtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWRhOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM0Y2FmNTA7IH1cblxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1zdWNjZXNzIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLXN1Y2Nlc3MuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzRjYWY1MDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy1zdWNjZXNzLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXN1Y2Nlc3MgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZjUwOyB9XG5cbi5oYXMtc3VjY2VzcyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtc3VjY2Vzcy5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtaW5mbyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtaW5mbyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmZvcm0tY29udHJvbCwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWluZm8gLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMDNhOWY0IDJweCwgcmdiYSgzLCAxNjksIDI0NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtaW5mbyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1pbmZvIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtaW5mbyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtaW5mbyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtaW5mbyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLWluZm8gW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtaW5mbyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1pbmZvIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtaW5mbyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgIzAzYTlmNCAycHgsIHJnYmEoMywgMTY5LCAyNDQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtaW5mbyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtaW5mby5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtaW5mby5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1pbmZvLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWluZm8uaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy1pbmZvIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzAzYTlmNDtcbiAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzVlY2ZlOyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLWluZm8uaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICMwM2E5ZjQ7IH1cblxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1pbmZvIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWluZm8uaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogIzAzYTlmNDsgfVxuXG4uaGFzLWluZm8gLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy1pbmZvLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDNhOWY0OyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLWluZm8gLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDNhOWY0OyB9XG5cbi5oYXMtaW5mbyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtaW5mby5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtd2FybmluZyBbY2xhc3NePSdibWQtbGFiZWwnXSxcbi5oYXMtd2FybmluZyBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbCwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLXdhcm5pbmcgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZmY1NzIyIDJweCwgcmdiYSgyNTUsIDg3LCAzNCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6aW52YWxpZCwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sOmludmFsaWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZDUwMDAwIDJweCwgcmdiYSgyMTMsIDAsIDAsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy13YXJuaW5nIC5jdXN0b20tZmlsZS1jb250cm9sOnJlYWQtb25seSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG5maWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLCBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdIC5oYXMtd2FybmluZyAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZGlzYWJsZWQsIC5oYXMtd2FybmluZyAuZGlzYWJsZWQuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtd2FybmluZyAuY3VzdG9tLWZpbGUtY29udHJvbDpkaXNhYmxlZCwgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuaGFzLXdhcm5pbmcgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjM1Y2I4NWMnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbi5pcy1mb2N1c2VkIC5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2ZmNTcyMiAycHgsIHJnYmEoMjU1LCA4NywgMzQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQuY2hlY2tib3gtaW5saW5lIGxhYmVsLFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbCwgLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogI2ZmNTcyMjtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMmVlOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNmZjU3MjI7IH1cblxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy13YXJuaW5nIC5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLXdhcm5pbmcuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICBjb2xvcjogI2ZmNTcyMjsgfVxuXG4uaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciwgLmhhcy13YXJuaW5nLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLCAuaGFzLXdhcm5pbmcgLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY1NzIyOyB9XG5cbi5oYXMtd2FybmluZyAuaXMtZm9jdXNlZCAuYm1kLWhlbHAsIC5oYXMtd2FybmluZy5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5oYXMtZGFuZ2VyIFtjbGFzc149J2JtZC1sYWJlbCddLFxuLmhhcy1kYW5nZXIgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbCwgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLFxuLmlzLWZvY3VzZWQgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjQ0MzM2IDJweCwgcmdiYSgyNDQsIDY3LCA1NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCk7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbDppbnZhbGlkLCAuaGFzLWRhbmdlciAuY3VzdG9tLWZpbGUtY29udHJvbDppbnZhbGlkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Q1MDAwMCAycHgsIHJnYmEoMjEzLCAwLCAwLCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sOnJlYWQtb25seSwgLmhhcy1kYW5nZXIgLmN1c3RvbS1maWxlLWNvbnRyb2w6cmVhZC1vbmx5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpOyB9XG5cbmZpZWxkc2V0W2Rpc2FibGVkXVtkaXNhYmxlZF0gLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbCwgZmllbGRzZXRbZGlzYWJsZWRdW2Rpc2FibGVkXSAuaGFzLWRhbmdlciAuY3VzdG9tLWZpbGUtY29udHJvbCwgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC5kaXNhYmxlZCwgLmhhcy1kYW5nZXIgLmRpc2FibGVkLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsIC5oYXMtZGFuZ2VyIC5jdXN0b20tZmlsZS1jb250cm9sOmRpc2FibGVkLCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSwgLmhhcy1kYW5nZXIgW2Rpc2FibGVkXS5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMjYpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7IH1cblxuLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuLmlzLWZvY3VzZWQgLmhhcy1kYW5nZXIgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjZjQ0MzM2IDJweCwgcmdiYSgyNDQsIDY3LCA1NCwgMCkgMnB4KSwgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjI2KSAxcHgsIHRyYW5zcGFyZW50IDFweCksIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyMzVjYjg1YycgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCxcbi5pcy1mb2N1c2VkIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmNDQzMzYgMnB4LCByZ2JhKDI0NCwgNjcsIDU0LCAwKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuMjYpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSwgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZjBhZDRlJyBkPSdNNC40IDUuMzI0aC0uOHYtMi40NmguOHptMCAxLjQyaC0uOFY1Ljg5aC44ek0zLjc2LjYzTC4wNCA3LjA3NWMtLjExNS4yLjAxNi40MjUuMjYuNDI2aDcuMzk3Yy4yNDIgMCAuMzcyLS4yMjYuMjU4LS40MjZDNi43MjYgNC45MjQgNS40NyAyLjc5IDQuMjUzLjYzYy0uMTEzLS4xNzQtLjM5LS4xNzQtLjQ5NCAweicvJTNFJTNDL3N2ZyUzRVwiKTsgfVxuXG4uaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5oYXMtZGFuZ2VyIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4uaXMtZm9jdXNlZCAuaGFzLWRhbmdlciAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI2Y0NDMzNiAycHgsIHJnYmEoMjQ0LCA2NywgNTQsIDApIDJweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC4yNikgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2Q5NTM0Zicgdmlld0JveD0nLTIgLTIgNyA3JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNkOTUzNGYnIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzRSUzQ2NpcmNsZSByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN5PSczJyByPScuNScvJTNFJTNDY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzRSUzQy9zdmclM0VcIik7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAucmFkaW8sXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAucmFkaW8taW5saW5lLFxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZC5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCAuY3VzdG9tLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1sYWJlbCxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLnJhZGlvLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZCAuY2hlY2tib3gsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5yYWRpby1pbmxpbmUsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkLnJhZGlvIGxhYmVsLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZC5jaGVja2JveCBsYWJlbCxcbi5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1kYW5nZXIuaXMtZm9jdXNlZC5jaGVja2JveC1pbmxpbmUgbGFiZWwsXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5jdXN0b20tY29udHJvbCB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmlucHV0LWdyb3VwLWFkZG9uLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY4Zjc7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1mZWVkYmFjaywgLmhhcy1kYW5nZXIuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWRhbmdlciAuaXMtZm9jdXNlZCBbY2xhc3MqPScgYm1kLWxhYmVsJ10sIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4uaGFzLWRhbmdlci5pcy1mb2N1c2VkIFtjbGFzcyo9JyBibWQtbGFiZWwnXSB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZjQ0MzM2OyB9XG5cbi5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyIC5pcy1mb2N1c2VkIC5jdXN0b20tZmlsZS1jb250cm9sLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wsIC5oYXMtZGFuZ2VyLmlzLWZvY3VzZWQgLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7IH1cblxuLmhhcy1kYW5nZXIgLmlzLWZvY3VzZWQgLmJtZC1oZWxwLCAuaGFzLWRhbmdlci5pcy1mb2N1c2VkIC5ibWQtaGVscCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi5ibWQtZm9ybS1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDEuNzVyZW07IH1cbiAgLmJtZC1mb3JtLWdyb3VwIFtjbGFzc149J2JtZC1sYWJlbCddLFxuICAuYm1kLWZvcm0tZ3JvdXAgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCBbY2xhc3NePSdibWQtbGFiZWwnXS5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwIFtjbGFzcyo9JyBibWQtbGFiZWwnXS5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHRvcCwgY29udGVudHM7IH1cbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZpbGxlZCAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtY29sbGFwc2UtaW5saW5lIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1jb2xsYXBzZS1pbmxpbmUgLmNvbGxhcHNlLmluIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWNvbGxhcHNlLWlubGluZSAuY29sbGFwc2luZyxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWNvbGxhcHNlLWlubGluZSAud2lkdGg6bm90KC5jb2xsYXBzZSksXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1jb2xsYXBzZS1pbmxpbmUgLmNvbGxhcHNlLmluIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtY29sbGFwc2UtaW5saW5lIC5jb2xsYXBzaW5nIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAuYm1kLWZvcm0tZ3JvdXAgbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5ibWQtZm9ybS1ncm91cCAucmFkaW8gbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC5ibWQtZm9ybS1ncm91cCAuY2hlY2tib3ggbGFiZWwsXG4gIC5ibWQtZm9ybS1ncm91cCBsYWJlbC5jaGVja2JveC1pbmxpbmUsXG4gIC5ibWQtZm9ybS1ncm91cCAuc3dpdGNoIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5ibWQtZm9ybS1ncm91cCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmNoZWNrYm94IGxhYmVsLFxuICAuYm1kLWZvcm0tZ3JvdXAgLnJhZGlvIGxhYmVsLFxuICAuYm1kLWZvcm0tZ3JvdXAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgLmJtZC1mb3JtLWdyb3VwIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgIHRvcDogMi4xODc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gIC5ibWQtZm9ybS1ncm91cCAuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLCAuYm1kLWZvcm0tZ3JvdXAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gIC5ibWQtZm9ybS1ncm91cCAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1sYWJlbC1zdGF0aWMge1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmJtZC1oZWxwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSwgMC45Mzc1cmVtIDAuOTM3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXI6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpLCBjZW50ZXIgcmlnaHQgMC40Njg3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcjpmb2N1cywgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbiAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSB7XG4gICAgcGFkZGluZy10b3A6IDEuNDA2MjVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5jdXN0b20tZmlsZS1jb250cm9sLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5yYWRpbyBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gbGFiZWwucmFkaW8taW5saW5lLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuY2hlY2tib3ggbGFiZWwsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIGxhYmVsLmNoZWNrYm94LWlubGluZSxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLnN3aXRjaCBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5jaGVja2JveCBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLnJhZGlvIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgICAgdG9wOiAxLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmlzLWZvY3VzZWQgLmJtZC1sYWJlbC1mbG9hdGluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgdG9wOiAwLjc1cmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42NTYyNXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuYm1kLWxhYmVsLXN0YXRpYyB7XG4gICAgICB0b3A6IDAuNzVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5ibWQtaGVscCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjY1NjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSwgMC42ODc1cmVtIDAuNjg3NXJlbTsgfVxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3M6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZzpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbSwgY2VudGVyIGNhbGMoMTAwJSAtIDFweCksIGNlbnRlciByaWdodCAwLjM0Mzc1cmVtOyB9XG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2Vzczpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcjpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSwgMTAwJSAxMDAlLCAwLjY4NzVyZW0gMC42ODc1cmVtOyB9XG4gIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyB7XG4gICAgcGFkZGluZy10b3A6IDEuOTM3NXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLnJhZGlvIGxhYmVsLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyBsYWJlbC5yYWRpby1pbmxpbmUsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5jaGVja2JveCBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgbGFiZWwuY2hlY2tib3gtaW5saW5lLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuc3dpdGNoIGxhYmVsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuY2hlY2tib3ggbGFiZWwsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5yYWRpbyBsYWJlbCxcbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtbGFiZWwtcGxhY2Vob2xkZXIge1xuICAgICAgdG9wOiAyLjVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcuaXMtZmlsbGVkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5pcy1maWxsZWQgLmJtZC1sYWJlbC1mbG9hdGluZyB7XG4gICAgICB0b3A6IDFyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmJtZC1sYWJlbC1zdGF0aWMge1xuICAgICAgdG9wOiAxcmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5ibWQtaGVscCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlLCAxLjE4NzVyZW0gMS4xODc1cmVtOyB9XG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2Vzczpmb2N1cywgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXI6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlcixcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tLCBjZW50ZXIgY2FsYygxMDAlIC0gMXB4KSwgY2VudGVyIHJpZ2h0IDAuNTkzNzVyZW07IH1cbiAgICAgIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2w6Zm9jdXMsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbCwgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmc6Zm9jdXMsIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAgICAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gICAgICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuYm1kLWZvcm0tZ3JvdXAuYm1kLWZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDEuMTg3NXJlbSAxLjE4NzVyZW07IH1cblxuLmZvcm0tY29udHJvbCwgLmN1c3RvbS1maWxlLWNvbnRyb2wsXG5sYWJlbCxcbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yYWRpbyBsYWJlbCxcbmxhYmVsLnJhZGlvLWlubGluZSxcbi5jaGVja2JveCBsYWJlbCxcbmxhYmVsLmNoZWNrYm94LWlubGluZSxcbi5zd2l0Y2ggbGFiZWwge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uY2hlY2tib3ggbGFiZWwsXG4ucmFkaW8gbGFiZWwsXG5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gIHRvcDogMi4xODc1cmVtOyB9XG5cbi5pcy1mb2N1c2VkIC5ibWQtbGFiZWwtZmxvYXRpbmcsXG4uaXMtZm9jdXNlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nLFxuLmlzLWZpbGxlZCAuYm1kLWxhYmVsLWZsb2F0aW5nIHtcbiAgdG9wOiAxcmVtO1xuICBsZWZ0OiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmJtZC1sYWJlbC1zdGF0aWMge1xuICB0b3A6IDFyZW07XG4gIGxlZnQ6IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uYm1kLWhlbHAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcywgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLXNpemU6IDAgMTAwJSwgMTAwJSAxMDAlLCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXN1Y2Nlc3MsIC5mb3JtLWNvbnRyb2wtc3VjY2Vzcy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmcsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sLCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nOmZvY3VzLCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC13YXJuaW5nLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLWRhbmdlciwgLmZvcm0tY29udHJvbC1kYW5nZXIuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20sIGNlbnRlciBjYWxjKDEwMCUgLSAxcHgpLCBjZW50ZXIgcmlnaHQgMC40Njg3NXJlbTsgfVxuICAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1zdWNjZXNzOmZvY3VzLCAuZm9ybS1jb250cm9sLXN1Y2Nlc3MuY3VzdG9tLWZpbGUtY29udHJvbDpmb2N1cyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtc3VjY2VzcyxcbiAgLmJtZC1mb3JtLWdyb3VwLmlzLWZvY3VzZWQgLmZvcm0tY29udHJvbC1zdWNjZXNzLmN1c3RvbS1maWxlLWNvbnRyb2wsIC5mb3JtLWNvbnRyb2wuZm9ybS1jb250cm9sLXdhcm5pbmc6Zm9jdXMsIC5mb3JtLWNvbnRyb2wtd2FybmluZy5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC13YXJuaW5nLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLXdhcm5pbmcuY3VzdG9tLWZpbGUtY29udHJvbCwgLmZvcm0tY29udHJvbC5mb3JtLWNvbnRyb2wtZGFuZ2VyOmZvY3VzLCAuZm9ybS1jb250cm9sLWRhbmdlci5jdXN0b20tZmlsZS1jb250cm9sOmZvY3VzLFxuICAuYm1kLWZvcm0tZ3JvdXAuaXMtZm9jdXNlZCAuZm9ybS1jb250cm9sLmZvcm0tY29udHJvbC1kYW5nZXIsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkIC5mb3JtLWNvbnRyb2wtZGFuZ2VyLmN1c3RvbS1maWxlLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlLCAxMDAlIDEwMCUsIDAuOTM3NXJlbSAwLjkzNzVyZW07IH1cblxuc2VsZWN0LCBzZWxlY3QuZm9ybS1jb250cm9sLCBzZWxlY3QuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NDRweCkge1xuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uICsgaW5wdXQsXG4uaW5wdXQtZ3JvdXAgaW5wdXQgKyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBtYXJnaW4tbGVmdDogLjc1cmVtOyB9XG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nOiAuNXJlbSAwOyB9XG4gIC5saXN0LWdyb3VwLmJtZC1saXN0LWdyb3VwLXNtIHtcbiAgICBwYWRkaW5nOiAuMjVyZW0gMDsgfVxuICAgIC5saXN0LWdyb3VwLmJtZC1saXN0LWdyb3VwLXNtIC5saXN0LWdyb3VwLWl0ZW0ge1xuICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTsgfVxuXG4uYm1kLWxpc3QtZ3JvdXAtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC1oZWlnaHQ6IDIuMTg4cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbSA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAubGlzdC1ncm91cC1pdGVtID4gLnB1bGwteHMtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAucHVsbC1zbS1yaWdodCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5wdWxsLW1kLXJpZ2h0LFxuICAubGlzdC1ncm91cC1pdGVtID4gLnB1bGwtbGctcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAucHVsbC14bC1yaWdodCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICogfiAubGFiZWw6bGFzdC1jaGlsZCxcbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICogfiAubWF0ZXJpYWwtaWNvbnM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwteHMtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtc20tcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtbWQtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwtbGctcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zLnB1bGwteGwtcmlnaHQsXG4gIC5saXN0LWdyb3VwLWl0ZW0gLm1hdGVyaWFsLWljb25zIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubGlzdC1ncm91cC1pdGVtIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG5cbi50YWJsZS1pbnZlcnNlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cblxuLm5hdi1saW5rIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBwYWRkaW5nOiAwLjUzMjFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLm5hdi10YWJzLFxuLm5hdi1waWxscyB7XG4gIGJvcmRlcjogMDsgfVxuICAubmF2LXRhYnMgLm5hdi1saW5rLFxuICAubmF2LXBpbGxzIC5uYXYtbGluayB7XG4gICAgcGFkZGluZzogMS40Mjg2ZW0gMC44NTc1ZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlcjogMDsgfVxuXG4ubmF2LXRhYnMgLm5hdi1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4yMTRyZW0gc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLm5hdi10YWJzIC5uYXYtbGluayB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ODg7IH1cbiAgICAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDA5Njg4OyB9XG4gIC5uYXYtdGFicyAubmF2LWxpbmsuZGlzYWJsZWQge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG4gICAgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG4ubmF2LXRhYnMuYmctcHJpbWFyeSAubmF2LWxpbmsge1xuICBjb2xvcjogd2hpdGU7IH1cbiAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmRpc2FibGVkIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg0KTsgfVxuICAgIC5uYXYtdGFicy5iZy1wcmltYXJ5IC5uYXYtbGluay5kaXNhYmxlZCwgLm5hdi10YWJzLmJnLXByaW1hcnkgLm5hdi1saW5rLmRpc2FibGVkOmZvY3VzLCAubmF2LXRhYnMuYmctcHJpbWFyeSAubmF2LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cblxuLm5hdi10YWJzLmJnLWludmVyc2UgLm5hdi1saW5rIHtcbiAgY29sb3I6IHdoaXRlOyB9XG4gIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAgIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmU6Zm9jdXMsIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5hY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5kaXNhYmxlZCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NCk7IH1cbiAgICAubmF2LXRhYnMuYmctaW52ZXJzZSAubmF2LWxpbmsuZGlzYWJsZWQsIC5uYXYtdGFicy5iZy1pbnZlcnNlIC5uYXYtbGluay5kaXNhYmxlZDpmb2N1cywgLm5hdi10YWJzLmJnLWludmVyc2UgLm5hdi1saW5rLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODQpOyB9XG5cbi5uYXYgLm5hdi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5uYXZiYXIge1xuICB6LWluZGV4OiAxO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuICAubmF2YmFyIC5uYXZiYXItYnJhbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmF2YmFyID4gKiB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm5hdmJhciA+IC5jb250YWluZXIge1xuICAgIGZsZXg6IDE7IH1cblxuLmFsZXJ0IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiAjYzhjOGM4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5wcm9ncmVzcyAucHJvZ3Jlc3MtYmFyIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluaywgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayA+IC5tYXRlcmlhbC1pY29ucywgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsgPiAubWF0ZXJpYWwtaWNvbnMge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cblxuLnBhZ2UtbGluayB7XG4gIG1pbi13aWR0aDogMi42ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNGVtOyB9XG4gIC5wYWdlLWxpbms6Zm9jdXMsIC5wYWdlLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgbWluLXdpZHRoOiAyLjhlbTsgfVxuXG4ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5rIHtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNGVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0ZW07IH1cblxuLnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNGVtO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIuMmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWxpbmsge1xuICBwYWRkaW5nOiAwLjI3NXJlbSAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNGVtOyB9XG5cbi5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRlbTsgfVxuXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNhcmQge1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAuY2FyZCAuY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDFyZW07IH1cbiAgLmNhcmQgaDEuY2FyZC10aXRsZSwgLmNhcmQgaDIuY2FyZC10aXRsZSwgLmNhcmQgaDMuY2FyZC10aXRsZSwgLmNhcmQgaDQuY2FyZC10aXRsZSwgLmNhcmQgaDUuY2FyZC10aXRsZSwgLmNhcmQgaDYuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuY2FyZCAuYm1kLWNhcmQtYWN0aW9ucyxcbiAgLmNhcmQgLmNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTsgfVxuICAuY2FyZC5ibWQtY2FyZC1yYWlzZWQge1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2FyZC5ibWQtY2FyZC1mbGF0IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4ubW9kYWwtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07IH1cbiAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAubW9kYWwtY29udGVudCAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7IH1cbiAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuLCAubW9kYWwtY29udGVudCAubW9kYWwtZm9vdGVyIC5jdXN0b20tZmlsZS1jb250cm9sOjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuICsgLmJ0biwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmJ0biwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuYnRuICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSwgLm1vZGFsLWNvbnRlbnQgLm1vZGFsLWZvb3RlciAuY3VzdG9tLWZpbGUtY29udHJvbDo6YmVmb3JlICsgLmN1c3RvbS1maWxlLWNvbnRyb2w6OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbi5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IC4yNXJlbSAwO1xuICBib3JkZXI6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcGFkZGluZzogLjVyZW0gMDsgfSB9XG4gIC5vcGVuID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LWxlZnQge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDsgfVxuICAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuICAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogN3JlbTtcbiAgICBtYXgtd2lkdGg6IDE3LjVyZW07XG4gICAgbWluLWhlaWdodDogM3JlbTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMXJlbSAwLjhyZW0gMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtOyB9IH1cblxuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb246OmFmdGVyLCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24gfiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiB+IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtdG9wLXJpZ2h0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiIH4gLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS10b3AtbGVmdCwgLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWZhYiB+IC5kcm9wZG93bi1tZW51LmRyb3Bkb3duLW1lbnUtdG9wLXJpZ2h0IHtcbiAgYm90dG9tOiAycmVtOyB9XG5cbi5kcm9wZG93bi10b2dnbGUuYm1kLWJ0bi1mYWItc20gfiAuZHJvcGRvd24tbWVudS5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LCAuZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4tZmFiLXNtIH4gLmRyb3Bkb3duLW1lbnUuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICBib3R0b206IDIuNXJlbTsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlLmJtZC1idG4taWNvbiB+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiAqIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiBoZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAuYm1kLWxheW91dC1kcmF3ZXIgPiBoZWFkZXIgLm5hdmJhci1icmFuZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYm1kLWxheW91dC1kcmF3ZXIgPiAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAuYm1kLWxheW91dC1kcmF3ZXIgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cblxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG5cbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMTBweCk7IH1cblxuLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDExMHB4KTsgfVxuXG4uYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4uYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheSA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG5Ac3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5ID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLW92ZXJsYXkgPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItb3ZlcmxheSA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkuYm1kLWRyYXdlci1vdmVybGF5LmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU0NHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTQ0cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXNtLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tc20tdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1zbS11cC5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93bi5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXNtLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1zbS1kb3duLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktc20tZG93bi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNDBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbWQtdXAuYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1tZC11cC5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLW1kLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbWQtZG93bi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIEBzdXBwb3J0cyAocG9pbnRlci1ldmVudHM6IGF1dG8pIHtcbiAgICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcC5pbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LW1kLWRvd24uYm1kLWRyYXdlci1mLXQgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1tZC1kb3duLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi1sZy11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLWxnLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4tbGctdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LWxnLWRvd24uYm1kLWRyYXdlci1mLWwgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LWxnLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbGctZG93bi5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AgLmluIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAc3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gICAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duID4gLmJtZC1sYXlvdXQtYmFja2Ryb3AuaW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS1sZy1kb3duLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXktbGctZG93bi5ibWQtZHJhd2VyLWYtYiA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtbCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1yID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4teGwtdXAuYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtciA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMjQwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi10ID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1pbi14bC11cC5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWRyYXdlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLWluLXhsLXVwLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItaW4teGwtdXAuYm1kLWRyYXdlci1mLWIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wIC5pbiB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG5Ac3VwcG9ydHMgKHBvaW50ZXItZXZlbnRzOiBhdXRvKSB7XG4gIDpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93biA+IC5ibWQtbGF5b3V0LWJhY2tkcm9wLmluIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1sID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1oZWFkZXIsXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24uYm1kLWRyYXdlci1mLXIgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG46bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcCAuaW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICA6bm90KC5ibWQtZHJhd2VyLW91dCkuYm1kLWRyYXdlci1vdmVybGF5LXhsLWRvd24gPiAuYm1kLWxheW91dC1iYWNrZHJvcC5pbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbjpub3QoLmJtZC1kcmF3ZXItb3V0KS5ibWQtZHJhd2VyLW92ZXJsYXkteGwtZG93bi5ibWQtZHJhd2VyLWYtdCA+IC5ibWQtbGF5b3V0LWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuOm5vdCguYm1kLWRyYXdlci1vdXQpLmJtZC1kcmF3ZXItb3ZlcmxheS14bC1kb3duLmJtZC1kcmF3ZXItZi1iID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJpcHBsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsgfVxuICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7IH1cbiAgICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvci5yaXBwbGUtb24ge1xuICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluIDBzLCB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIDAuMXM7IH1cbiAgICAucmlwcGxlLWNvbnRhaW5lciAucmlwcGxlLWRlY29yYXRvci5yaXBwbGUtb3V0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgbGluZWFyIDBzICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzc1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4vLyBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIsXG4gICAgKjo6Zmlyc3QtbGV0dGVyLFxuICAgICo6OmZpcnN0LWxpbmUge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9hW2hyZWZdOjphZnRlciB7XG4gICAgLy8gIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIC8vfVxuXG4gICAgYWJiclt0aXRsZV06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL1xuICAgIC8vIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgLy8gb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgIC8vXG5cbiAgICAvL2FbaHJlZl49XCIjXCJdOjphZnRlcixcbiAgICAvL2FbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICM5OTk7ICAgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICA+IC5jYXJldCB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhZyB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICB0ZCxcbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgUXVhbGlmeWluZ0VsZW1lbnQsIER1cGxpY2F0ZVByb3BlcnR5XG5cbi8vIFJlYm9vdFxuLy9cbi8vIEdsb2JhbCByZXNldHMgdG8gY29tbW9uIEhUTUwgZWxlbWVudHMgYW5kIG1vcmUgZm9yIGVhc2llciB1c2FnZSBieSBCb290c3RyYXAuXG4vLyBBZGRzIGFkZGl0aW9uYWwgcnVsZXMgb24gdG9wIG9mIE5vcm1hbGl6ZS5jc3MsIGluY2x1ZGluZyBzZXZlcmFsIG92ZXJyaWRlcy5cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgdG8gYGJvcmRlci1ib3hgIHNvIHRoYXQgd2hlbiB5b3UgYWRkXG4vLyBgcGFkZGluZ2Agb3IgYGJvcmRlcmBzIHRvIGFuIGVsZW1lbnQsIHRoZSBvdmVyYWxsIGRlY2xhcmVkIGB3aWR0aGAgZG9lcyBub3Rcbi8vIGNoYW5nZS4gRm9yIGV4YW1wbGUsIGB3aWR0aDogMTAwcHg7YCB3aWxsIGFsd2F5cyBiZSBgMTAwcHhgIGRlc3BpdGUgdGhlXG4vLyBgYm9yZGVyOiAxMHB4IHNvbGlkIHJlZDtgIGFuZCBgcGFkZGluZzogMjBweDtgLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuIEZvclxuLy8gcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmcuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cblxuLy8gTWFrZSB2aWV3cG9ydCByZXNwb25zaXZlXG4vL1xuLy8gQHZpZXdwb3J0IGlzIG5lZWRlZCBiZWNhdXNlIElFIDEwKyBkb2Vzbid0IGhvbm9yIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiPiBpblxuLy8gc29tZSBjYXNlcy4gU2VlIGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduLy5cbi8vIEV2ZW50dWFsbHkgQHZpZXdwb3J0IHdpbGwgcmVwbGFjZSA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj4uXG4vL1xuLy8gSG93ZXZlciwgYGRldmljZS13aWR0aGAgaXMgYnJva2VuIG9uIElFIDEwIG9uIFdpbmRvd3MgKFBob25lKSA4LFxuLy8gKHNlZSBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoLyBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5Nylcbi8vIGFuZCB0aGUgZml4IGZvciB0aGF0IGludm9sdmVzIGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50XG4vLyBhbmQgYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MuXG4vL1xuLy8gU2VlIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoIGZvciB0aGUgcmVsZXZhbnQgaGFjay5cbi8vXG4vLyBXcmFwIGBAdmlld3BvcnRgIHdpdGggYEBhdC1yb290YCBmb3Igd2hlbiBmb2xrcyBkbyBhIG5lc3RlZCBpbXBvcnQgKGUuZy4sXG4vLyBgLmNsYXNzLW5hbWUgeyBAaW1wb3J0IFwiYm9vdHN0cmFwXCI7IH1gKS5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7IHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cbn1cblxuXG4vL1xuLy8gUmVzZXQgSFRNTCwgYm9keSwgYW5kIG1vcmVcbi8vXG5cbmh0bWwge1xuICAvLyBTZXRzIGEgc3BlY2lmaWMgZGVmYXVsdCBgZm9udC1zaXplYCBmb3IgdXNlciB3aXRoIGByZW1gIHR5cGUgc2NhbGVzLlxuICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcbiAgLy8gQXMgYSBzaWRlLWVmZmVjdCBvZiBzZXR0aW5nIHRoZSBAdmlld3BvcnQgYWJvdmUsXG4gIC8vIElFMTEgJiBFZGdlIG1ha2UgdGhlIHNjcm9sbGJhciBvdmVybGFwIHRoZSBjb250ZW50IGFuZCBhdXRvbWF0aWNhbGx5IGhpZGUgaXRzZWxmIHdoZW4gbm90IGluIHVzZS5cbiAgLy8gVW5mb3J0dW5hdGVseSwgdGhlIGF1dG8tc2hvd2luZyBvZiB0aGUgc2Nyb2xsYmFyIGlzIHNvbWV0aW1lcyB0b28gc2Vuc2l0aXZlLFxuICAvLyB0aHVzIG1ha2luZyBpdCBoYXJkIHRvIGNsaWNrIG9uIHN0dWZmIG5lYXIgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIHBhZ2UuXG4gIC8vIFNvIHdlIGFkZCB0aGlzIHN0eWxlIHRvIGZvcmNlIElFMTEgJiBFZGdlIHRvIHVzZSBhIFwibm9ybWFsXCIsIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhci5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTg1NDNcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC8vIENoYW5nZXMgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgLy8gTWFrZSB0aGUgYGJvZHlgIHVzZSB0aGUgYGZvbnQtc2l6ZS1yb290YFxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIC8vIEdvIGVhc3kgb24gdGhlIGV5ZXMgYW5kIHVzZSBzb21ldGhpbmcgb3RoZXIgdGhhbiBgIzAwMGAgZm9yIHRleHRcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAvLyBCeSBkZWZhdWx0LCBgPGJvZHk+YCBoYXMgbm8gYGJhY2tncm91bmQtY29sb3JgIHNvIHdlIHNldCBvbmUgYXMgYSBiZXN0IHByYWN0aWNlLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBMaW5rc1xuLy9cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBOb3JtYWxpemUgdjQgcmVtb3ZlZCB0aGlzIHByb3BlcnR5LCBjYXVzaW5nIGA8cHJlPmAgY29udGVudCB0byBicmVhayBvdXQgb2Ygd3JhcHBpbmcgY29kZSBzbmlwcGV0c1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gTm9ybWFsaXplIGFkZHMgYG1hcmdpbmAgdG8gYGZpZ3VyZWBzIGFzIGJyb3dzZXJzIGFwcGx5IGl0IGluY29uc2lzdGVudGx5LlxuICAvLyBXZSByZXNldCB0aGF0IHRvIGNyZWF0ZSBhIGJldHRlciBmbG93IGluLXBhZ2UuXG4gIG1hcmdpbjogMCAwIDFyZW07XG59XG5cblxuLy9cbi8vIEltYWdlc1xuLy9cblxuaW1nIHtcbiAgLy8gQnkgZGVmYXVsdCwgYDxpbWc+YHMgYXJlIGBpbmxpbmUtYmxvY2tgLiBUaGlzIGFzc3VtZXMgdGhhdCwgYW5kIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVycyB0aGVtLiBUaGlzIHdvbid0IGFwcGx5IHNob3VsZCB5b3UgcmVzZXQgdGhlbSB0byBgYmxvY2tgIGxldmVsLlxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvLyBOb3RlOiBgPGltZz5gcyBhcmUgZGVsaWJlcmF0ZWx5IG5vdCBtYWRlIHJlc3BvbnNpdmUgYnkgZGVmYXVsdC5cbiAgLy8gRm9yIHRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMsIHNlZSB0aGUgY29tbWVudHMgb24gdGhlIGAuaW1nLWZsdWlkYCBjbGFzcy5cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vIEF2b2lkIDMwMG1zIGNsaWNrIGRlbGF5IG9uIHRvdWNoIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBgdG91Y2gtYWN0aW9uYCBDU1MgcHJvcGVydHkuXG4vL1xuLy8gSW4gcGFydGljdWxhciwgdW5saWtlIG1vc3Qgb3RoZXIgYnJvd3NlcnMsIElFMTErRWRnZSBvbiBXaW5kb3dzIDEwIG9uIHRvdWNoIGRldmljZXMgYW5kIElFIE1vYmlsZSAxMC0xMVxuLy8gRE9OJ1QgcmVtb3ZlIHRoZSBjbGljayBkZWxheSB3aGVuIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoXCI+YCBpcyBwcmVzZW50LlxuLy8gSG93ZXZlciwgdGhleSBETyBzdXBwb3J0IHJlbW92aW5nIHRoZSBjbGljayBkZWxheSB2aWEgYHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uYC5cbi8vIFNlZTpcbi8vICogaHR0cDovL3Y0LWFscGhhLmdldGJvb3RzdHJhcC5jb20vY29udGVudC9yZWJvb3QvI2NsaWNrLWRlbGF5LW9wdGltaXphdGlvbi1mb3ItdG91Y2hcbi8vICogaHR0cDovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy10b3VjaC1hY3Rpb25cbi8vICogaHR0cDovL3BhdHJpY2tobGF1a2UuZ2l0aHViLmlvL3RvdWNoL3Rlc3RzL3Jlc3VsdHMvI3N1cHByZXNzaW5nLTMwMG1zLWRlbGF5XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cblxuLy9cbi8vIFRhYmxlc1xuLy9cblxudGFibGUge1xuICAvLyBObyBsb25nZXIgcGFydCBvZiBOb3JtYWxpemUgc2luY2UgdjRcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBDZW50ZXJlZCBieSBkZWZhdWx0LCBidXQgbGVmdC1hbGlnbi1lZCB0byBtYXRjaCB0aGUgYHRkYHMgYmVsb3cuXG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAvLyBSZW1vdmUgYWxsIGBtYXJnaW5gcyBzbyBvdXIgY2xhc3NlcyBkb24ndCBoYXZlIHRvIGRvIGl0IHRoZW1zZWx2ZXMuXG4gIG1hcmdpbjogMDtcbiAgLy8gTm9ybWFsaXplIGluY2x1ZGVzIGBmb250OiBpbmhlcml0O2AsIHNvIGBmb250LWZhbWlseWAuIGBmb250LXNpemVgLCBldGMgYXJlXG4gIC8vIHByb3Blcmx5IGluaGVyaXRlZC4gSG93ZXZlciwgYGxpbmUtaGVpZ2h0YCBpc24ndCBhZGRyZXNzZWQgdGhlcmUuIFVzaW5nIHRoaXNcbiAgLy8gZW5zdXJlcyB3ZSBkb24ndCBuZWVkIHRvIHVubmVjZXNzYXJpbHkgcmVkZWNsYXJlIHRoZSBnbG9iYWwgZm9udCBzdGFjay5cbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIC8vIGlPUyBhZGRzIHJvdW5kZWQgYm9yZGVycyBieSBkZWZhdWx0XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIC8vIEFwcGx5IGEgZGlzYWJsZWQgY3Vyc29yIGZvciByYWRpb3MgYW5kIGNoZWNrYm94ZXMuXG4gIC8vXG4gIC8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy9cbiAgLy8gQnVnIHJlcG9ydDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI2NlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIENocm9tZSBhbmQgRmlyZWZveCBzZXQgYSBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gc28gd2UgcmVzZXQgdGhhdCB0byBlbnN1cmUgaXQgYmVoYXZlcyBtb3JlIGxpa2UgYSBzdGFuZGFyZCBibG9jayBlbGVtZW50LlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMjM1OS5cbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIC8vIFJlc2V0IHRoZSBlbnRpcmUgbGVnZW5kIGVsZW1lbnQgdG8gbWF0Y2ggdGhlIGBmaWVsZHNldGBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vIHRvZG86IG5lZWRlZD9cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbi8vICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuLy8gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG59XG5cbi8vIEFsd2F5cyBoaWRlIGFuIGVsZW1lbnQgd2l0aCB0aGUgYGhpZGRlbmAgSFRNTCBhdHRyaWJ1dGUgKGZyb20gUHVyZUNTUykuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIENvcHkgc2V0dGluZ3MgZnJvbSB0aGlzIGZpbGUgaW50byB0aGUgcHJvdmlkZWQgYF9jdXN0b20uc2Nzc2AgdG8gb3ZlcnJpZGVcbi8vIHRoZSBCb290c3RyYXAgZGVmYXVsdHMgd2l0aG91dCBtb2RpZnlpbmcga2V5LCB2ZXJzaW9uZWQgZmlsZXMuXG5cblxuLy8gVGFibGUgb2YgQ29udGVudHNcbi8vXG4vLyBDb2xvcnNcbi8vIE9wdGlvbnNcbi8vIFNwYWNpbmdcbi8vIEJvZHlcbi8vIExpbmtzXG4vLyBHcmlkIGJyZWFrcG9pbnRzXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vIEdyaWQgY29sdW1uc1xuLy8gRm9udHNcbi8vIENvbXBvbmVudHNcblxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gR2VuZXJhbCB2YXJpYWJsZSBzdHJ1Y3R1cmVcbi8vXG4vLyBWYXJpYWJsZSBmb3JtYXQgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtbW9kaWZpZXItc3RhdGUtcHJvcGVydHlgIG9yZGVyLlxuXG5cbi8vIENvbG9yc1xuLy9cbi8vIEdyYXlzY2FsZSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktZGFyazogICAgICAgICAgICAgICAgICMzNzNhM2MgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgICAgIzU1NTk1YyAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICAjODE4YTkxICFkZWZhdWx0O1xuJGdyYXktbGlnaHRlcjogICAgICAgICAgICAgICNlY2VlZWYgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVzdDogICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICMwMjc1ZDggIWRlZmF1bHQ7XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAgICAgIzVjYjg1YyAhZGVmYXVsdDtcbiRicmFuZC1pbmZvOiAgICAgICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAgICAgI2Q5NTM0ZiAhZGVmYXVsdDtcbiRicmFuZC1pbnZlcnNlOiAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtZmxleDogICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogICAxcmVtICFkZWZhdWx0O1xuJHNwYWNlci14OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlci15OiAkc3BhY2VyICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogKFxuICAgIHg6IDAsXG4gICAgeTogMFxuICApLFxuICAxOiAoXG4gICAgeDogJHNwYWNlci14LFxuICAgIHk6ICRzcGFjZXIteVxuICApLFxuICAyOiAoXG4gICAgeDogKCRzcGFjZXIteCAqIDEuNSksXG4gICAgeTogKCRzcGFjZXIteSAqIDEuNSlcbiAgKSxcbiAgMzogKFxuICAgIHg6ICgkc3BhY2VyLXggKiAzKSxcbiAgICB5OiAoJHNwYWNlci15ICogMylcbiAgKVxuKSAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU0NHB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTc2cHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk0MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogMzBweCAhZGVmYXVsdDtcblxuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFBpeGVsIHZhbHVlIHVzZWQgdG8gcmVzcG9uc2l2ZWx5IHNjYWxlIGFsbCB0eXBvZ3JhcGh5LiBBcHBsaWVkIHRvIHRoZSBgPGh0bWw+YCBlbGVtZW50LlxuJGZvbnQtc2l6ZS1yb290OiAxNnB4ICFkZWZhdWx0O1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAgIC44NzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLXhzOiAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNSAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1oMTogMi41cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMjogMnJlbSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg1OiAxLjI1cmVtICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oNjogMXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6IDZyZW0gIWRlZmF1bHQ7XG4kZGlzcGxheTItc2l6ZTogNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6IDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAzLjVyZW0gIWRlZmF1bHQ7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5Mi13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5My13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5NC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAxLjI1cmVtICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRhYmJyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci13aWR0aDogLjI1cmVtICFkZWZhdWx0O1xuXG4kaHItYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6IC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgwLDAsMCwuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICg0IC8gMykgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgIC4zZW0gIWRlZmF1bHQ7XG4kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdGFibGUtc20tY2VsbC1wYWRkaW5nOiAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWJnLWFjY2VudDogICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xNSksIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgICRidG4tcHJpbWFyeS1iZyAhZGVmYXVsdDtcblxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXNlY29uZGFyeS1ib3JkZXI6ICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICAkYnRuLWluZm8tYmcgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgJGJ0bi13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgICRidG4tZGFuZ2VyLWJnICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXRvb2xiYXItbWFyZ2luOiAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZy1mb2N1czogICAgICAgICAgICAgICAgICRpbnB1dC1iZztcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1mb2N1czogICAgICAgICAgICAgICRpbnB1dC1jb2xvcjtcblxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteC1zbTogICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkgKyAoJGlucHV0LXBhZGRpbmcteSAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1zbSAqICRsaW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LXBhZGRpbmcteS1zbSAqIDIpKSAhZGVmYXVsdDtcblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci15OiAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yOiAgICAgICAgICAgICAkY3Vyc29yLWRpc2FibGVkICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZzogICAgICAgI2VlZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1kaXNhYmxlZC1kZXNjcmlwdGlvbi1jb2xvcjogICM3Njc2NzYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1jaGVja2VkLWluZGljYXRvci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnOiAgICAgICAgICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWZvY3VzLWluZGljYXRvci1ib3gtc2hhZG93OiAwIDAgMCAuMDc1cmVtICNmZmYsIDAgMCAwIC4ycmVtICMwMDc0ZDkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtYWN0aXZlLWluZGljYXRvci1iZzogICAgICAgICAjODRjNmZmICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtYmc6ICMwMDc0ZDkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaWNvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzRSUzQ3BhdGggc3Ryb2tlPSclMjNmZmYnIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nJTIzMzMzJyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogIzUxYTdlOCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgLjA3NSksIDAgMCA1cHggcmdiYSg4MSwgMTY3LCAyMzIsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3Qtc20tcGFkZGluZy15OiAuMnJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXNtLWZvbnQtc2l6ZTogNzUlICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgMi41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXdpZHRoOiAgICAgICAgICAgIDE0cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIC4wNzVyZW0gI2ZmZiwgMCAwIDAgLjJyZW0gIzAwNzRkOSAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgMS41ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICNkZGQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgaW5zZXQgMCAuMnJlbSAuNHJlbSByZ2JhKDAsMCwwLC4wNSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgJGN1c3RvbS1maWxlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJ1dHRvbi1iZzogICAgICNlZWUgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBwbGFjZWhvbGRlcjogKFxuICAgIGVuOiBcIkNob29zZSBmaWxlLi4uXCJcbiAgKSxcbiAgYnV0dG9uLWxhYmVsOiAoXG4gICAgZW46IFwiQnJvd3NlXCJcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiRmb3JtLWljb24tc3VjY2VzczogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzNWNiODVjJyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGZvcm0taWNvbi13YXJuaW5nOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBmaWxsPSclMjNmMGFkNGUnIGQ9J000LjQgNS4zMjRoLS44di0yLjQ2aC44em0wIDEuNDJoLS44VjUuODloLjh6TTMuNzYuNjNMLjA0IDcuMDc1Yy0uMTE1LjIuMDE2LjQyNS4yNi40MjZoNy4zOTdjLjI0MiAwIC4zNzItLjIyNi4yNTgtLjQyNkM2LjcyNiA0LjkyNCA1LjQ3IDIuNzkgNC4yNTMuNjNjLS4xMTMtLjE3NC0uMzktLjE3NC0uNDk0IDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xuJGZvcm0taWNvbi1kYW5nZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZDk1MzRmJyB2aWV3Qm94PSctMiAtMiA3IDcnJTNFJTNDcGF0aCBzdHJva2U9JyUyM2Q5NTM0ZicgZD0nTTAgMGwzIDNtMC0zTDAgMycvJTNFJTNDY2lyY2xlIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3k9JzMnIHI9Jy41Jy8lM0UlM0NjaXJjbGUgY3g9JzMnIGN5PSczJyByPScuNScvJTNFJTNDL3N2ZyUzRVwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgIDE2MHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbi10b3A6ICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd24tYmFja2Ryb3A6ICA5OTAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLXN0aWNreTogICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJnOiAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwuMjUpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgwLDAsMCwuOCkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG5cblxuLy8gTmF2c1xuXG4kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJG5hdi1pdGVtLWlubGluZS1zcGFjZXI6ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWJnOiAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWNvbG9yOiAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc6ICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxuXG4kc3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICAjM2M3NjNkICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbigkc3RhdGUtc3VjY2Vzcy1iZywgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkc3RhdGUtaW5mby1iZywgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRtYXJrLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKCRzdGF0ZS13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRzdGF0ZS1kYW5nZXItYmcsIDUlKSAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci13aWR0aDogICAgICAgIDFweCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgwLDAsMCwuMTI1KSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXI6ICRjYXJkLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtbGluay1ob3Zlci1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1zbS11cC1jb2x1bW4tZ2FwOiAxLjI1cmVtICFkZWZhdWx0O1xuXG5cbi8vIFRvb2x0aXBzXG5cbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgIDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDNweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDogICAgICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteTogICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteDogICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1jb250ZW50LXBhZGRpbmcteTogICAgICAgICAgIDlweCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxcHgpICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUYWdzXG5cbiR0YWctZGVmYXVsdC1iZzogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiR0YWctcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiR0YWctc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiR0YWctaW5mby1iZzogICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiR0YWctd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiR0YWctZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4kdGFnLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiR0YWctbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJHRhZy1mb250LXNpemU6ICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiR0YWctZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhZy1wYWRkaW5nLXg6ICAgICAgICAgICAgIC40ZW0gIWRlZmF1bHQ7XG4kdGFnLXBhZGRpbmcteTogICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG5cbiR0YWctcGlsbC1wYWRkaW5nLXg6ICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJHRhZy1waWxsLWJvcmRlci1yYWRpdXM6ICAgIDEwcmVtICFkZWZhdWx0O1xuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1zbS11cC1tYXJnaW4teTogMzBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQteHMtYm94LXNoYWRvdzogICAgMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtc20tdXAtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNlZWUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjMDA3NGQ5ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoMCwwLDAsLjEpICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1pbmZvLWJnOiAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG5cblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICBsaWdodGVuKCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgNDAlKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1pdGVtLXBhZGRpbmcteTogICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLW1hcmdpbi1ib3R0b206IDVweCAhZGVmYXVsdDtcblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG5cbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLWNvbG9yOiAgICAgICNkZGQgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogOTAlICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1wYWRkaW5nOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vIE1lZGlhIG9iamVjdHNcblxuJG1lZGlhLW1hcmdpbi10b3A6ICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtZWRpYS1oZWFkaW5nLW1hcmdpbi1ib3R0b206ICA1cHggIWRlZmF1bHQ7XG4kbWVkaWEtYWxpZ25tZW50LXBhZGRpbmcteDogICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemU6ICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3JzLXdpZHRoOiAgICAgICAgICAgICAgICAgICA2MCUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtc2l6ZTogICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGg6ICAgICAgICAgICAgICAgIDYwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgIDkwJSAhZGVmYXVsdDtcbiRjb2RlLXBhZGRpbmcteDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZy15OiAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYmQ0MTQ3ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y3ZjdmOSAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmN2Y3ZjkgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuIiwiLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gaHR0cDovL3d3dy5nZXRtZGwuaW8vc3R5bGVzL2luZGV4Lmh0bWxcblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICdSb2JvdG8nLCAnSGVsdmV0aWNhJywgJ0FyaWFsJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuLy8kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBQaXhlbCB2YWx1ZSB1c2VkIHRvIHJlc3BvbnNpdmVseSBzY2FsZSBhbGwgdHlwb2dyYXBoeS4gQXBwbGllZCB0byB0aGUgYDxodG1sPmAgZWxlbWVudC5cbi8vJGZvbnQtc2l6ZS1yb290OiAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuLy9cbi8vJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtc206ICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbi8vJGZvbnQtc2l6ZS14czogICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4vL1xuLy8kZm9udC1zaXplLWgxOiAgICAgICAgICAgICAgIDIuNXJlbSAhZGVmYXVsdDtcbi8vJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtaDQ6ICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuLy8kZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRmb250LXNpemUtaDY6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbi8vXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA3cmVtICFkZWZhdWx0OyAvLyBtZCBkaXNwbGF5LTQgMTEycHggd2FzIDZyZW07XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICAzLjVyZW0gIWRlZmF1bHQ7IC8vIG1kIGRpc3BsYXktMyA1NnB4IHdhcyA1LjVyZW1cbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDIuODEyNXJlbSAhZGVmYXVsdDsgLy8gbWQgZGlzcGxheS0yIDQ1cHggd2FzIDQuNXJlbVxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMi4xMjVyZW0gIWRlZmF1bHQ7IC8vIG1kIGRpc3BsYXktMSAzNHB4IHdhcyAzLjVyZW1cbi8vXG4vLyRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbi8vJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuLy8kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4vLyRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbi8vXG4vLyRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4vL1xuLy8kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4vLyRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgNDAwICFkZWZhdWx0OyAvLyB3YXMgNTAwXG4vLyRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgMS4xICFkZWZhdWx0O1xuLy8kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vL1xuLy8kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4vLyRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuLy9cbi8vJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vL1xuLy8kYWJici1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vXG4vLyRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vL1xuLy8kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xKSAhZGVmYXVsdDtcbi8vJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vXG4vLyRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vXG4vLyRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4vL1xuLy8kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG5cbiIsIi8vXG4vL1RvIGdldCB0aGlzIGxpc3Qgb2YgY29sb3JzIGluamVjdCBqUXVlcnkgYXQgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWwjY29sb3ItY29sb3ItcGFsZXR0ZVxuLy9cbi8vVGhlbiwgcnVuIHRoaXMgc2NyaXB0IHRvIGdldCB0aGUgbGlzdEBtaXhpbiAoZnVuY3Rpb24oKXtcbi8vICB2YXIgY29sb3JzID0ge30sIG1haW4gPSB7fTtcbi8vICAkKFwiLmNvbG9yLWdyb3VwXCIpQG1peGluIGVhY2goZnVuY3Rpb24oKXtcbi8vICAgIHZhciBjb2xvciA9ICQodGhpcykuZmluZChcIi5uYW1lXCIpLnRleHQoKS50cmltKCkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKFwiIFwiLCBcIi1cIik7XG4vLyAgICBjb2xvcnNbY29sb3JdID0ge307XG4vL1xuLy8gICAgJCh0aGlzKUBtaXhpbiBmaW5kKFwiLmNvbG9yXCIpLm5vdChcIi5tYWluLWNvbG9yXCIpLmVhY2goZnVuY3Rpb24oKXtcbi8vICAgICAgdmFyIHNoYWRlID0gJCh0aGlzKS5maW5kKFwiLnNoYWRlXCIpLnRleHQoKS50cmltKCksXG4vLyAgICAgICAgICBoZXggICA9ICQodGhpcykuZmluZChcIi5oZXhcIikudGV4dCgpLnRyaW0oKTtcbi8vXG4vLyAgICAgIGNvbG9yc1tjb2xvcl1bc2hhZGVdID0gaGV4O1xuLy8gICAgfSk7XG4vLyAgICBtYWluW2NvbG9yXSA9IGNvbG9yICsgXCItXCIgKyAkKHRoaXMpLmZpbmQoXCIubWFpbi1jb2xvciAuc2hhZGVcIikudGV4dCgpLnRyaW0oKTtcbi8vXG4vLyAgfSk7XG4vLyAgdmFyIExFU1MgPSBcIlwiO1xuLy8gICRAbWl4aW4gZWFjaChjb2xvcnMsIGZ1bmN0aW9uKG5hbWUsIHNoYWRlcyl7XG4vLyAgICBMRVNTICs9IFwiXFxuXFxuXCI7XG4vLyAgICAkQG1peGluIGVhY2goc2hhZGVzLCBmdW5jdGlvbihzaGFkZSwgaGV4KXtcbi8vICAgICAgTEVTUyArPSBcIiRcIiArIG5hbWUgKyBcIi1cIiArIHNoYWRlICsgXCI6IFwiICsgaGV4ICsgXCI7XFxuXCIgIWRlZmF1bHQ7XG4vLyAgICB9KTtcbi8vICAgIGlmIChtYWluW25hbWVdKSB7XG4vLyAgICAgIExFU1MgKz0gXCIkXCIgKyBuYW1lICsgXCI6IFwiICsgbWFpbltuYW1lXSArIFwiO1xcblwiICFkZWZhdWx0O1xuLy8gICAgfVxuLy8gIH0pO1xuLy8gIGNvbnNvbGUubG9nKExFU1MpO1xuLy99KSgpO1xuXG4kcmVkLTUwOiAjZmZlYmVlICFkZWZhdWx0O1xuJHJlZC0xMDA6ICNmZmNkZDIgIWRlZmF1bHQ7XG4kcmVkLTIwMDogI2VmOWE5YSAhZGVmYXVsdDtcbiRyZWQtMzAwOiAjZTU3MzczICFkZWZhdWx0O1xuJHJlZC00MDA6ICNlZjUzNTAgIWRlZmF1bHQ7XG4kcmVkLTUwMDogI2Y0NDMzNiAhZGVmYXVsdDtcbiRyZWQtNjAwOiAjZTUzOTM1ICFkZWZhdWx0O1xuJHJlZC03MDA6ICNkMzJmMmYgIWRlZmF1bHQ7XG4kcmVkLTgwMDogI2M2MjgyOCAhZGVmYXVsdDtcbiRyZWQtOTAwOiAjYjcxYzFjICFkZWZhdWx0O1xuJHJlZC1hMTAwOiAjZmY4YTgwICFkZWZhdWx0O1xuJHJlZC1hMjAwOiAjZmY1MjUyICFkZWZhdWx0O1xuJHJlZC1hNDAwOiAjZmYxNzQ0ICFkZWZhdWx0O1xuJHJlZC1hNzAwOiAjZDUwMDAwICFkZWZhdWx0O1xuJHJlZDogJHJlZC01MDAgIWRlZmF1bHQ7XG5cblxuJHBpbmstNTA6ICNmY2U0ZWMgIWRlZmF1bHQ7XG4kcGluay0xMDA6ICNmOGJiZDAgIWRlZmF1bHQ7XG4kcGluay0yMDA6ICNmNDhmYjEgIWRlZmF1bHQ7XG4kcGluay0zMDA6ICNmMDYyOTIgIWRlZmF1bHQ7XG4kcGluay00MDA6ICNlYzQwN2EgIWRlZmF1bHQ7XG4kcGluay01MDA6ICNlOTFlNjMgIWRlZmF1bHQ7XG4kcGluay02MDA6ICNkODFiNjAgIWRlZmF1bHQ7XG4kcGluay03MDA6ICNjMjE4NWIgIWRlZmF1bHQ7XG4kcGluay04MDA6ICNhZDE0NTcgIWRlZmF1bHQ7XG4kcGluay05MDA6ICM4ODBlNGYgIWRlZmF1bHQ7XG4kcGluay1hMTAwOiAjZmY4MGFiICFkZWZhdWx0O1xuJHBpbmstYTIwMDogI2ZmNDA4MSAhZGVmYXVsdDtcbiRwaW5rLWE0MDA6ICNmNTAwNTcgIWRlZmF1bHQ7XG4kcGluay1hNzAwOiAjYzUxMTYyICFkZWZhdWx0O1xuJHBpbms6ICRwaW5rLTUwMCAhZGVmYXVsdDtcblxuXG4kcHVycGxlLTUwOiAjZjNlNWY1ICFkZWZhdWx0O1xuJHB1cnBsZS0xMDA6ICNlMWJlZTcgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogI2NlOTNkOCAhZGVmYXVsdDtcbiRwdXJwbGUtMzAwOiAjYmE2OGM4ICFkZWZhdWx0O1xuJHB1cnBsZS00MDA6ICNhYjQ3YmMgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogIzljMjdiMCAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiAjOGUyNGFhICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6ICM3YjFmYTIgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogIzZhMWI5YSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiAjNGExNDhjICFkZWZhdWx0O1xuJHB1cnBsZS1hMTAwOiAjZWE4MGZjICFkZWZhdWx0O1xuJHB1cnBsZS1hMjAwOiAjZTA0MGZiICFkZWZhdWx0O1xuJHB1cnBsZS1hNDAwOiAjZDUwMGY5ICFkZWZhdWx0O1xuJHB1cnBsZS1hNzAwOiAjYTBmICFkZWZhdWx0O1xuJHB1cnBsZTogJHB1cnBsZS01MDAgIWRlZmF1bHQ7XG5cblxuJGRlZXAtcHVycGxlLTUwOiAjZWRlN2Y2ICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTEwMDogI2QxYzRlOSAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS0yMDA6ICNiMzlkZGIgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtMzAwOiAjOTU3NWNkICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTQwMDogIzdlNTdjMiAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS01MDA6ICM2NzNhYjcgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtNjAwOiAjNWUzNWIxICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLTcwMDogIzUxMmRhOCAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS04MDA6ICM0NTI3YTAgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtOTAwOiAjMzExYjkyICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLWExMDA6ICNiMzg4ZmYgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGUtYTIwMDogIzdjNGRmZiAhZGVmYXVsdDtcbiRkZWVwLXB1cnBsZS1hNDAwOiAjNjUxZmZmICFkZWZhdWx0O1xuJGRlZXAtcHVycGxlLWE3MDA6ICM2MjAwZWEgIWRlZmF1bHQ7XG4kZGVlcC1wdXJwbGU6ICRkZWVwLXB1cnBsZS01MDAgIWRlZmF1bHQ7XG5cblxuJGluZGlnby01MDogI2U4ZWFmNiAhZGVmYXVsdDtcbiRpbmRpZ28tMTAwOiAjYzVjYWU5ICFkZWZhdWx0O1xuJGluZGlnby0yMDA6ICM5ZmE4ZGEgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogIzc5ODZjYiAhZGVmYXVsdDtcbiRpbmRpZ28tNDAwOiAjNWM2YmMwICFkZWZhdWx0O1xuJGluZGlnby01MDA6ICMzZjUxYjUgIWRlZmF1bHQ7XG4kaW5kaWdvLTYwMDogIzM5NDlhYiAhZGVmYXVsdDtcbiRpbmRpZ28tNzAwOiAjMzAzZjlmICFkZWZhdWx0O1xuJGluZGlnby04MDA6ICMyODM1OTMgIWRlZmF1bHQ7XG4kaW5kaWdvLTkwMDogIzFhMjM3ZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTEwMDogIzhjOWVmZiAhZGVmYXVsdDtcbiRpbmRpZ28tYTIwMDogIzUzNmRmZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTQwMDogIzNkNWFmZSAhZGVmYXVsdDtcbiRpbmRpZ28tYTcwMDogIzMwNGZmZSAhZGVmYXVsdDtcbiRpbmRpZ286ICRpbmRpZ28tNTAwICFkZWZhdWx0O1xuXG5cbiRibHVlLTUwOiAjZTNmMmZkICFkZWZhdWx0O1xuJGJsdWUtMTAwOiAjYmJkZWZiICFkZWZhdWx0O1xuJGJsdWUtMjAwOiAjOTBjYWY5ICFkZWZhdWx0O1xuJGJsdWUtMzAwOiAjNjRiNWY2ICFkZWZhdWx0O1xuJGJsdWUtNDAwOiAjNDJhNWY1ICFkZWZhdWx0O1xuJGJsdWUtNTAwOiAjMjE5NmYzICFkZWZhdWx0O1xuJGJsdWUtNjAwOiAjMWU4OGU1ICFkZWZhdWx0O1xuJGJsdWUtNzAwOiAjMTk3NmQyICFkZWZhdWx0O1xuJGJsdWUtODAwOiAjMTU2NWMwICFkZWZhdWx0O1xuJGJsdWUtOTAwOiAjMGQ0N2ExICFkZWZhdWx0O1xuJGJsdWUtYTEwMDogIzgyYjFmZiAhZGVmYXVsdDtcbiRibHVlLWEyMDA6ICM0NDhhZmYgIWRlZmF1bHQ7XG4kYmx1ZS1hNDAwOiAjMjk3OWZmICFkZWZhdWx0O1xuJGJsdWUtYTcwMDogIzI5NjJmZiAhZGVmYXVsdDtcbiRibHVlOiAkYmx1ZS01MDAgIWRlZmF1bHQ7XG5cblxuJGxpZ2h0LWJsdWUtNTA6ICNlMWY1ZmUgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0xMDA6ICNiM2U1ZmMgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0yMDA6ICM4MWQ0ZmEgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS0zMDA6ICM0ZmMzZjcgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS00MDA6ICMyOWI2ZjYgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS01MDA6ICMwM2E5ZjQgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS02MDA6ICMwMzliZTUgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS03MDA6ICMwMjg4ZDEgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS04MDA6ICMwMjc3YmQgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS05MDA6ICMwMTU3OWIgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS1hMTAwOiAjODBkOGZmICFkZWZhdWx0O1xuJGxpZ2h0LWJsdWUtYTIwMDogIzQwYzRmZiAhZGVmYXVsdDtcbiRsaWdodC1ibHVlLWE0MDA6ICMwMGIwZmYgIWRlZmF1bHQ7XG4kbGlnaHQtYmx1ZS1hNzAwOiAjMDA5MWVhICFkZWZhdWx0O1xuJGxpZ2h0LWJsdWU6ICRsaWdodC1ibHVlLTUwMCAhZGVmYXVsdDtcblxuXG4kY3lhbi01MDogI2UwZjdmYSAhZGVmYXVsdDtcbiRjeWFuLTEwMDogI2IyZWJmMiAhZGVmYXVsdDtcbiRjeWFuLTIwMDogIzgwZGVlYSAhZGVmYXVsdDtcbiRjeWFuLTMwMDogIzRkZDBlMSAhZGVmYXVsdDtcbiRjeWFuLTQwMDogIzI2YzZkYSAhZGVmYXVsdDtcbiRjeWFuLTUwMDogIzAwYmNkNCAhZGVmYXVsdDtcbiRjeWFuLTYwMDogIzAwYWNjMSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogIzAwOTdhNyAhZGVmYXVsdDtcbiRjeWFuLTgwMDogIzAwODM4ZiAhZGVmYXVsdDtcbiRjeWFuLTkwMDogIzAwNjA2NCAhZGVmYXVsdDtcbiRjeWFuLWExMDA6ICM4NGZmZmYgIWRlZmF1bHQ7XG4kY3lhbi1hMjAwOiAjMThmZmZmICFkZWZhdWx0O1xuJGN5YW4tYTQwMDogIzAwZTVmZiAhZGVmYXVsdDtcbiRjeWFuLWE3MDA6ICMwMGI4ZDQgIWRlZmF1bHQ7XG4kY3lhbjogJGN5YW4tNTAwICFkZWZhdWx0O1xuXG5cbiR0ZWFsLTUwOiAjZTBmMmYxICFkZWZhdWx0O1xuJHRlYWwtMTAwOiAjYjJkZmRiICFkZWZhdWx0O1xuJHRlYWwtMjAwOiAjODBjYmM0ICFkZWZhdWx0O1xuJHRlYWwtMzAwOiAjNGRiNmFjICFkZWZhdWx0O1xuJHRlYWwtNDAwOiAjMjZhNjlhICFkZWZhdWx0O1xuJHRlYWwtNTAwOiAjMDA5Njg4ICFkZWZhdWx0O1xuJHRlYWwtNjAwOiAjMDA4OTdiICFkZWZhdWx0O1xuJHRlYWwtNzAwOiAjMDA3OTZiICFkZWZhdWx0O1xuJHRlYWwtODAwOiAjMDA2OTVjICFkZWZhdWx0O1xuJHRlYWwtOTAwOiAjMDA0ZDQwICFkZWZhdWx0O1xuJHRlYWwtYTEwMDogI2E3ZmZlYiAhZGVmYXVsdDtcbiR0ZWFsLWEyMDA6ICM2NGZmZGEgIWRlZmF1bHQ7XG4kdGVhbC1hNDAwOiAjMWRlOWI2ICFkZWZhdWx0O1xuJHRlYWwtYTcwMDogIzAwYmZhNSAhZGVmYXVsdDtcbiR0ZWFsOiAkdGVhbC01MDAgIWRlZmF1bHQ7XG5cblxuJGdyZWVuLTUwOiAjZThmNWU5ICFkZWZhdWx0O1xuJGdyZWVuLTEwMDogI2M4ZTZjOSAhZGVmYXVsdDtcbiRncmVlbi0yMDA6ICNhNWQ2YTcgIWRlZmF1bHQ7XG4kZ3JlZW4tMzAwOiAjODFjNzg0ICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogIzY2YmI2YSAhZGVmYXVsdDtcbiRncmVlbi01MDA6ICM0Y2FmNTAgIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiAjNDNhMDQ3ICFkZWZhdWx0O1xuJGdyZWVuLTcwMDogIzM4OGUzYyAhZGVmYXVsdDtcbiRncmVlbi04MDA6ICMyZTdkMzIgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiAjMWI1ZTIwICFkZWZhdWx0O1xuJGdyZWVuLWExMDA6ICNiOWY2Y2EgIWRlZmF1bHQ7XG4kZ3JlZW4tYTIwMDogIzY5ZjBhZSAhZGVmYXVsdDtcbiRncmVlbi1hNDAwOiAjMDBlNjc2ICFkZWZhdWx0O1xuJGdyZWVuLWE3MDA6ICMwMGM4NTMgIWRlZmF1bHQ7XG4kZ3JlZW46ICRncmVlbi01MDAgIWRlZmF1bHQ7XG5cblxuJGxpZ2h0LWdyZWVuLTUwOiAjZjFmOGU5ICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTEwMDogI2RjZWRjOCAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi0yMDA6ICNjNWUxYTUgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tMzAwOiAjYWVkNTgxICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTQwMDogIzljY2M2NSAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi01MDA6ICM4YmMzNGEgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tNjAwOiAjN2NiMzQyICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLTcwMDogIzY4OWYzOCAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi04MDA6ICM1NThiMmYgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tOTAwOiAjMzM2OTFlICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLWExMDA6ICNjY2ZmOTAgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW4tYTIwMDogI2IyZmY1OSAhZGVmYXVsdDtcbiRsaWdodC1ncmVlbi1hNDAwOiAjNzZmZjAzICFkZWZhdWx0O1xuJGxpZ2h0LWdyZWVuLWE3MDA6ICM2NGRkMTcgIWRlZmF1bHQ7XG4kbGlnaHQtZ3JlZW46ICRsaWdodC1ncmVlbi01MDAgIWRlZmF1bHQ7XG5cblxuJGxpbWUtNTA6ICNmOWZiZTcgIWRlZmF1bHQ7XG4kbGltZS0xMDA6ICNmMGY0YzMgIWRlZmF1bHQ7XG4kbGltZS0yMDA6ICNlNmVlOWMgIWRlZmF1bHQ7XG4kbGltZS0zMDA6ICNkY2U3NzUgIWRlZmF1bHQ7XG4kbGltZS00MDA6ICNkNGUxNTcgIWRlZmF1bHQ7XG4kbGltZS01MDA6ICNjZGRjMzkgIWRlZmF1bHQ7XG4kbGltZS02MDA6ICNjMGNhMzMgIWRlZmF1bHQ7XG4kbGltZS03MDA6ICNhZmI0MmIgIWRlZmF1bHQ7XG4kbGltZS04MDA6ICM5ZTlkMjQgIWRlZmF1bHQ7XG4kbGltZS05MDA6ICM4Mjc3MTcgIWRlZmF1bHQ7XG4kbGltZS1hMTAwOiAjZjRmZjgxICFkZWZhdWx0O1xuJGxpbWUtYTIwMDogI2VlZmY0MSAhZGVmYXVsdDtcbiRsaW1lLWE0MDA6ICNjNmZmMDAgIWRlZmF1bHQ7XG4kbGltZS1hNzAwOiAjYWVlYTAwICFkZWZhdWx0O1xuJGxpbWU6ICRsaW1lLTUwMCAhZGVmYXVsdDtcblxuXG4keWVsbG93LTUwOiAjZmZmZGU3ICFkZWZhdWx0O1xuJHllbGxvdy0xMDA6ICNmZmY5YzQgIWRlZmF1bHQ7XG4keWVsbG93LTIwMDogI2ZmZjU5ZCAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiAjZmZmMTc2ICFkZWZhdWx0O1xuJHllbGxvdy00MDA6ICNmZmVlNTggIWRlZmF1bHQ7XG4keWVsbG93LTUwMDogI2ZmZWIzYiAhZGVmYXVsdDtcbiR5ZWxsb3ctNjAwOiAjZmRkODM1ICFkZWZhdWx0O1xuJHllbGxvdy03MDA6ICNmYmMwMmQgIWRlZmF1bHQ7XG4keWVsbG93LTgwMDogI2Y5YTgyNSAhZGVmYXVsdDtcbiR5ZWxsb3ctOTAwOiAjZjU3ZjE3ICFkZWZhdWx0O1xuJHllbGxvdy1hMTAwOiAjZmZmZjhkICFkZWZhdWx0O1xuJHllbGxvdy1hMjAwOiAjZmYwICFkZWZhdWx0O1xuJHllbGxvdy1hNDAwOiAjZmZlYTAwICFkZWZhdWx0O1xuJHllbGxvdy1hNzAwOiAjZmZkNjAwICFkZWZhdWx0O1xuJHllbGxvdzogJHllbGxvdy01MDAgIWRlZmF1bHQ7XG5cblxuJGFtYmVyLTUwOiAjZmZmOGUxICFkZWZhdWx0O1xuJGFtYmVyLTEwMDogI2ZmZWNiMyAhZGVmYXVsdDtcbiRhbWJlci0yMDA6ICNmZmUwODIgIWRlZmF1bHQ7XG4kYW1iZXItMzAwOiAjZmZkNTRmICFkZWZhdWx0O1xuJGFtYmVyLTQwMDogI2ZmY2EyOCAhZGVmYXVsdDtcbiRhbWJlci01MDA6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kYW1iZXItNjAwOiAjZmZiMzAwICFkZWZhdWx0O1xuJGFtYmVyLTcwMDogI2ZmYTAwMCAhZGVmYXVsdDtcbiRhbWJlci04MDA6ICNmZjhmMDAgIWRlZmF1bHQ7XG4kYW1iZXItOTAwOiAjZmY2ZjAwICFkZWZhdWx0O1xuJGFtYmVyLWExMDA6ICNmZmU1N2YgIWRlZmF1bHQ7XG4kYW1iZXItYTIwMDogI2ZmZDc0MCAhZGVmYXVsdDtcbiRhbWJlci1hNDAwOiAjZmZjNDAwICFkZWZhdWx0O1xuJGFtYmVyLWE3MDA6ICNmZmFiMDAgIWRlZmF1bHQ7XG4kYW1iZXI6ICRhbWJlci01MDAgIWRlZmF1bHQ7XG5cblxuJG9yYW5nZS01MDogI2ZmZjNlMCAhZGVmYXVsdDtcbiRvcmFuZ2UtMTAwOiAjZmZlMGIyICFkZWZhdWx0O1xuJG9yYW5nZS0yMDA6ICNmZmNjODAgIWRlZmF1bHQ7XG4kb3JhbmdlLTMwMDogI2ZmYjc0ZCAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiAjZmZhNzI2ICFkZWZhdWx0O1xuJG9yYW5nZS01MDA6ICNmZjk4MDAgIWRlZmF1bHQ7XG4kb3JhbmdlLTYwMDogI2ZiOGMwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtNzAwOiAjZjU3YzAwICFkZWZhdWx0O1xuJG9yYW5nZS04MDA6ICNlZjZjMDAgIWRlZmF1bHQ7XG4kb3JhbmdlLTkwMDogI2U2NTEwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTEwMDogI2ZmZDE4MCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTIwMDogI2ZmYWI0MCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTQwMDogI2ZmOTEwMCAhZGVmYXVsdDtcbiRvcmFuZ2UtYTcwMDogI2ZmNmQwMCAhZGVmYXVsdDtcbiRvcmFuZ2U6ICRvcmFuZ2UtNTAwICFkZWZhdWx0O1xuXG5cbiRkZWVwLW9yYW5nZS01MDogI2ZiZTllNyAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS0xMDA6ICNmZmNjYmMgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtMjAwOiAjZmZhYjkxICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTMwMDogI2ZmOGE2NSAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS00MDA6ICNmZjcwNDMgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtNTAwOiAjZmY1NzIyICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTYwMDogI2Y0NTExZSAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS03MDA6ICNlNjRhMTkgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtODAwOiAjZDg0MzE1ICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLTkwMDogI2JmMzYwYyAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS1hMTAwOiAjZmY5ZTgwICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlLWEyMDA6ICNmZjZlNDAgIWRlZmF1bHQ7XG4kZGVlcC1vcmFuZ2UtYTQwMDogI2ZmM2QwMCAhZGVmYXVsdDtcbiRkZWVwLW9yYW5nZS1hNzAwOiAjZGQyYzAwICFkZWZhdWx0O1xuJGRlZXAtb3JhbmdlOiAkZGVlcC1vcmFuZ2UtNTAwICFkZWZhdWx0O1xuXG5cbiRicm93bi01MDogI2VmZWJlOSAhZGVmYXVsdDtcbiRicm93bi0xMDA6ICNkN2NjYzggIWRlZmF1bHQ7XG4kYnJvd24tMjAwOiAjYmNhYWE0ICFkZWZhdWx0O1xuJGJyb3duLTMwMDogI2ExODg3ZiAhZGVmYXVsdDtcbiRicm93bi00MDA6ICM4ZDZlNjMgIWRlZmF1bHQ7XG4kYnJvd24tNTAwOiAjNzk1NTQ4ICFkZWZhdWx0O1xuJGJyb3duLTYwMDogIzZkNGM0MSAhZGVmYXVsdDtcbiRicm93bi03MDA6ICM1ZDQwMzcgIWRlZmF1bHQ7XG4kYnJvd24tODAwOiAjNGUzNDJlICFkZWZhdWx0O1xuJGJyb3duLTkwMDogIzNlMjcyMyAhZGVmYXVsdDtcbiRicm93bi1hMTAwOiAjZDdjY2M4ICFkZWZhdWx0O1xuJGJyb3duLWEyMDA6ICNiY2FhYTQgIWRlZmF1bHQ7XG4kYnJvd24tYTQwMDogIzhkNmU2MyAhZGVmYXVsdDtcbiRicm93bi1hNzAwOiAjNWQ0MDM3ICFkZWZhdWx0O1xuJGJyb3duOiAkYnJvd24tNTAwICFkZWZhdWx0O1xuXG5cbiRncmV5LTUwOiAjZmFmYWZhICFkZWZhdWx0O1xuJGdyZXktMTAwOiAjZjVmNWY1ICFkZWZhdWx0O1xuJGdyZXktMjAwOiAjZWVlICFkZWZhdWx0O1xuJGdyZXktMzAwOiAjZTBlMGUwICFkZWZhdWx0O1xuJGdyZXktNDAwOiAjYmRiZGJkICFkZWZhdWx0O1xuJGdyZXktNTAwOiAjOWU5ZTllO1xuJGdyZXktNjAwOiAjNzU3NTc1ICFkZWZhdWx0O1xuJGdyZXktNzAwOiAjNjE2MTYxICFkZWZhdWx0O1xuJGdyZXktODAwOiAjNDI0MjQyICFkZWZhdWx0O1xuJGdyZXktOTAwOiAjMjEyMTIxICFkZWZhdWx0O1xuJGdyZXktYTEwMDogI2Y1ZjVmNSAhZGVmYXVsdDtcbiRncmV5LWEyMDA6ICNlZWUgIWRlZmF1bHQ7XG4kZ3JleS1hNDAwOiAjYmRiZGJkICFkZWZhdWx0O1xuJGdyZXktYTcwMDogIzYxNjE2MSAhZGVmYXVsdDtcbiRncmV5OiAkZ3JleS01MDAgIWRlZmF1bHQ7XG5cblxuJGJsdWUtZ3JleS01MDogI2VjZWZmMSAhZGVmYXVsdDtcbiRibHVlLWdyZXktMTAwOiAjY2ZkOGRjICFkZWZhdWx0O1xuJGJsdWUtZ3JleS0yMDA6ICNiMGJlYzUgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTMwMDogIzkwYTRhZSAhZGVmYXVsdDtcbiRibHVlLWdyZXktNDAwOiAjNzg5MDljICFkZWZhdWx0O1xuJGJsdWUtZ3JleS01MDA6ICM2MDdkOGIgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTYwMDogIzU0NmU3YSAhZGVmYXVsdDtcbiRibHVlLWdyZXktNzAwOiAjNDU1YTY0ICFkZWZhdWx0O1xuJGJsdWUtZ3JleS04MDA6ICMzNzQ3NGYgIWRlZmF1bHQ7XG4kYmx1ZS1ncmV5LTkwMDogIzI2MzIzOCAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTEwMDogI2NmZDhkYyAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTIwMDogI2IwYmVjNSAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTQwMDogIzc4OTA5YyAhZGVmYXVsdDtcbiRibHVlLWdyZXktYTcwMDogIzQ1NWE2NCAhZGVmYXVsdDtcbiRibHVlLWdyZXk6ICRibHVlLWdyZXktNTAwICFkZWZhdWx0O1xuXG5cbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiIsIi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAgI2ZhZmFmYSAhZGVmYXVsdDtcbi8vJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuIiwiQG1peGluIGhvdmVyIHtcbiAgLy8gVE9ETzogcmUtZW5hYmxlIGFsb25nIHdpdGggbXE0LWhvdmVyLXNoaW1cbi8vICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4vLyAgICAvLyBTZWUgTWVkaWEgUXVlcmllcyBMZXZlbCA0OiBodHRwOi8vZHJhZnRzLmNzc3dnLm9yZy9tZWRpYXF1ZXJpZXMvI2hvdmVyXG4vLyAgICAvLyBDdXJyZW50bHkgc2hpbW1lZCBieSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9tcTQtaG92ZXItc2hpbVxuLy8gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbi8vICAgICAgJjpob3ZlciB7IEBjb250ZW50IH1cbi8vICAgIH1cbi8vICB9XG4vLyAgQGVsc2Uge1xuICAgICY6aG92ZXIgeyBAY29udGVudCB9XG4vLyAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyB7IEBjb250ZW50IH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gIEBpZiAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5IHtcbiAgICAmLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIgeyBAY29udGVudCB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICBAaWYgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAY29udGVudFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7IEBjb250ZW50IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICB9XG59XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG59XG4uZGlzcGxheS0yIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTItc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5Mi13ZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTMtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG59XG5cblxuLy9cbi8vIEhvcml6b250YWwgcnVsZXNcbi8vXG5cbmhyIHtcbiAgbWFyZ2luLXRvcDogJHNwYWNlci15O1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogJGhyLWJvcmRlci13aWR0aCBzb2xpZCAkaHItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vXG4vLyBFbXBoYXNpc1xuLy9cblxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJHNwYWNlciAvIDIpICRzcGFjZXI7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogJGJsb2NrcXVvdGUtYm9yZGVyLXdpZHRoIHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi5ibG9ja3F1b3RlLXJldmVyc2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBib3JkZXItcmlnaHQ6ICRibG9ja3F1b3RlLWJvcmRlci13aWR0aCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlIC5ibG9ja3F1b3RlLWZvb3RlciB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXDAwQTAgXFwyMDE0XCI7IC8vIG5ic3AsIGVtIGRhc2hcbiAgfVxufVxuXG5AaWYgbm90ICRlbmFibGUtZmxleCB7XG4gIC8vIENsZWFuIHVwIHNvbWUgaG9yaXpvbnRhbCBgPGRsPmBzIGJ1aWx0IHdpdGggZ3JpZHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgZGwucm93IHtcbiAgICA+IGRkICsgZHQge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgUXVhbGlmeWluZ0VsZW1lbnRcbn1cbiIsIi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG5cbiRzcGFjZXI6ICAgICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7IC8vIDFyZW0gIWRlZmF1bHQ7ICAgIC8vICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b20gdXNlcyAkc3BhY2VyLXkuICBEZWNpZGVkIHRvIHRyeSB0aGlzIGdsb2JhbGx5IGFuZCBzZWUgaG93IGl0IHdvcmtzIG91dC5cbi8vJHNwYWNlci14OiAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuLy8kc3BhY2VyLXk6ICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4vLyRzcGFjZXJzOiAoXG4vLyAgMDogKFxuLy8gICAgeDogICAwLFxuLy8gICAgeTogICAwXG4vLyAgKSxcbi8vICAxOiAoXG4vLyAgICB4OiAgICRzcGFjZXIteCxcbi8vICAgIHk6ICAgJHNwYWNlci15XG4vLyAgKSxcbi8vICAyOiAoXG4vLyAgICB4OiAgICgkc3BhY2VyLXggKiAxLjUpLFxuLy8gICAgeTogICAoJHNwYWNlci15ICogMS41KVxuLy8gICksXG4vLyAgMzogKFxuLy8gICAgeDogICAoJHNwYWNlci14ICogMyksXG4vLyAgICB5OiAgICgkc3BhY2VyLXkgKiAzKVxuLy8gIClcbi8vKSAhZGVmYXVsdDtcbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi8vXG4vLyBUaGlzIGlzIHB1cnBvc2VmdWxseSBvcHQtaW4gdmlhIGFuIGV4cGxpY2l0IGNsYXNzIHJhdGhlciB0aGFuIGJlaW5nIHRoZSBkZWZhdWx0IGZvciBhbGwgYDxpbWc+YHMuXG4vLyBXZSBwcmV2aW91c2x5IHRyaWVkIHRoZSBcImltYWdlcyBhcmUgcmVzcG9uc2l2ZSBieSBkZWZhdWx0XCIgYXBwcm9hY2ggaW4gQm9vdHN0cmFwIHYyLFxuLy8gYW5kIGFiYW5kb25lZCBpdCBpbiBCb290c3RyYXAgdjMgYmVjYXVzZSBpdCBicmVha3MgbG90cyBvZiB0aGlyZC1wYXJ0eSB3aWRnZXRzIChpbmNsdWRpbmcgR29vZ2xlIE1hcHMpXG4vLyB3aGljaCB3ZXJlbid0IGV4cGVjdGluZyB0aGUgaW1hZ2VzIHdpdGhpbiB0aGVtc2VsdmVzIHRvIGJlIGludm9sdW50YXJpbHkgcmVzaXplZC5cbi8vIFNlZSBhbHNvIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTgxNzhcbi5pbWctZmx1aWQge1xuICBAaW5jbHVkZSBpbWctZmx1aWQoKTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXItd2lkdGggc29saWQgJHRodW1ibmFpbC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkdGh1bWJuYWlsLWJveC1zaGFkb3cpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICBAaW5jbHVkZSBpbWctZmx1aWQoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuLmZpZ3VyZSB7XG4gIC8vIEVuc3VyZXMgdGhlIGNhcHRpb24ncyB0ZXh0IGFsaWducyB3aXRoIHRoZSBpbWFnZS5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZmlndXJlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206ICgkc3BhY2VyLXkgLyAyKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRncmF5LWxpZ2h0O1xufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbkBtaXhpbiBpbWctZmx1aWQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwOi8vY2FuaXVzZS5jb20vI2ZlYXQ9Y3NzLW1lZGlhLXJlc29sdXRpb25cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIC8vIElFOS0xMSBkb24ndCBzdXBwb3J0IGRwcHhcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuLy8kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgKDQgLyAzKSAhZGVmYXVsdDtcbi8vJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcbi8vXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDsgLy8gLjI1cmVtICFkZWZhdWx0O1xuLy8kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgLjA2MjVyZW0gIWRlZmF1bHQ7IC8vIC4ycmVtICFkZWZhdWx0O1xuLy9cbi8vJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4vLyRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vXG4vLyRjYXJldC13aWR0aDogICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuLy8kY2FyZXQtd2lkdGgtbGc6ICAgICAgICAgJGNhcmV0LXdpZHRoICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICB9XG59XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWdcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFiLWZvY3VzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuXG4vLyAvLyBDb21wb25lbnRzXG5AaW1wb3J0IFwibWl4aW5zL2FsZXJ0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2FyZHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcIm1peGlucy9saXN0c1wiO1xuQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi1kaXZpZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Byb2dyZXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuXG4vLyAvLyBTa2luc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG4vLyBAaW1wb3J0IFwibWl4aW5zL25hdmJhci1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL3B1bGxzXCI7XG4iLCIvLyBJbmxpbmUgYW5kIGJsb2NrIGNvZGUgc3R5bGVzXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xufVxuXG4vLyBJbmxpbmUgY29kZVxuY29kZSB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVXNlciBpbnB1dCB0eXBpY2FsbHkgZW50ZXJlZCB2aWEga2V5Ym9hcmRcbmtiZCB7XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmcteSAkY29kZS1wYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJGtiZC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGtiZC1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1zbSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGtiZC1ib3gtc2hhZG93KTtcblxuICBrYmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAkbmVzdGVkLWtiZC1mb250LXdlaWdodDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkcHJlLWNvbG9yO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRW5hYmxlIHNjcm9sbGFibGUgYmxvY2tzIG9mIGNvZGVcbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6ICRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLmNvbnRhaW5lci1mbHVpZCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcbiAgfVxufVxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICB9XG59XG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgQGlmIG5vdCAkZW5hYmxlLWZsZXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG4gIG1hcmdpbi1sZWZ0OiAgKCRndXR0ZXIgLyAtMik7XG4gIG1hcmdpbi1yaWdodDogKCRndXR0ZXIgLyAtMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1yZWFkeSgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG5cbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAgIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAgIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAgIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1wdXNoKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBsZWZ0OiBpZigkc2l6ZSA+IDAsIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyksIGF1dG8pO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcHVsbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgcmlnaHQ6IGlmKCRzaXplID4gMCwgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKSwgYXV0byk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1tb2RpZmllcigkdHlwZSwgJHNpemUsICRjb2x1bW5zKSB7XG4gIC8vIFdvcmsgYXJvdW5kIHRoZSBsYWNrIG9mIGR5bmFtaWMgbWl4aW4gQGluY2x1ZGUgc3VwcG9ydCAoaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvNjI2KVxuICBAaWYgJHR5cGUgPT0gcHVzaCB7XG4gICAgQGluY2x1ZGUgbWFrZS1jb2wtcHVzaCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9IEBlbHNlIGlmICR0eXBlID09IHB1bGwge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLXB1bGwoJHNpemUsICRjb2x1bW5zKTtcbiAgfSBAZWxzZSBpZiAkdHlwZSA9PSBvZmZzZXQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnMpO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgNTQ0cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTQ0cHgsIG1kOiA3NjhweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgLy8gQ29tbW9uIHByb3BlcnRpZXMgZm9yIGFsbCBicmVha3BvaW50c1xuICAlZ3JpZC1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICRicmVha3BvaW50LWNvdW50ZXI6IDA7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRicmVha3BvaW50LWNvdW50ZXI6ICgkYnJlYWtwb2ludC1jb3VudGVyICsgMSk7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgIC5jb2wtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICAgICAgLmNvbC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLmNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zLCAkZ3V0dGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkbW9kaWZpZXIgaW4gKHB1bGwsIHB1c2gpIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgICAgLiN7JG1vZGlmaWVyfS0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1tb2RpZmllcigkbW9kaWZpZXIsICRpLCAkY29sdW1ucylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICgkY29sdW1ucyAtIDEpIHtcbiAgICAgICAgQGlmICRicmVha3BvaW50LWNvdW50ZXIgIT0gMSBvciAkaSAhPSAwIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LXhzLTBcbiAgICAgICAgICAub2Zmc2V0LSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLW1vZGlmaWVyKG9mZnNldCwgJGksICRjb2x1bW5zKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtLWNlbGwtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoYWN0aXZlLCAkdGFibGUtYmctYWN0aXZlKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gSW52ZXJzZSBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZeKAlGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLnRoZWFkLWludmVyc2Uge1xuICB0aCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcbiAgfVxufVxuXG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICBjb2xvcjogJGdyYXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcbiAgfVxufVxuXG4udGFibGUtaW52ZXJzZSB7XG4gIGNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIH1cblxuICAmLnRhYmxlLWJvcmRlcmVkIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcbiAgb3ZlcmZsb3cteDogYXV0bztcblxuICAvLyBUT0RPOiBmaW5kIG91dCBpZiB3ZSBuZWVkIHRoaXMgc3RpbGwuXG4gIC8vXG4gIC8vIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAvLyAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwMDU3XG59XG5cblxuLnRhYmxlLXJlZmxvdyB7XG4gIHRoZWFkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgdGgsXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgdHI6bGFzdC1jaGlsZCB0aCxcbiAgICAgIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuICB0ciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG4gIC8vIHNjc3MtbGludDplbmFibGUgSW1wb3J0YW50UnVsZVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vL1xuLy8gVGV4dHVhbCBmb3JtIGNvbnRyb2xzXG4vL1xuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAvLyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIC8vIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0LlxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBDdXN0b21pemUgdGhlIGA6Zm9jdXNgIHN0YXRlIHRvIGltaXRhdGUgbmF0aXZlIFdlYktpdCBzdHlsZXMuXG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICY6ZGlzYWJsZWQsXG4gICZbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmctZGlzYWJsZWQ7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vXG4vLyBMYWJlbHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIHRleHQgdG9cbi8vIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPmAgZGVmYXVsdFxufVxuXG4uY29sLWZvcm0tbGFiZWwtbGcge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteS1sZztcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXktbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15LXNtO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG59XG5cblxuLy9cbi8vIExlZ2VuZHNcbi8vXG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxlZ2VuZCB0ZXh0IHRvXG4vLyBiZSB0aGUgc2FtZSBzaXplIGFzIHJlZ3VsYXIgbGFiZWxzLCBhbmQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sZWdlbmQge1xuICBwYWRkaW5nLXRvcDogJGlucHV0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRpbnB1dC1wYWRkaW5nLXk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGFuIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW4gYVxuLy8gaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogKCRzcGFjZXIgKiAuMjUpO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogKCRzcGFjZXIgKiAuNzUpO1xuXG4gIC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG4gICsgLmZvcm0tY2hlY2sge1xuICAgIG1hcmdpbi10b3A6IC0uMjVyZW07XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcm0tY2hlY2staW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuXG4gICY6b25seS1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4uZm9ybS1jaGVjay1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICArIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC43NXJlbTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgbWFyZ2luLXRvcDogKCRzcGFjZXIgKiAuMjUpO1xufVxuXG4uZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4uZm9ybS1jb250cm9sLXdhcm5pbmcsXG4uZm9ybS1jb250cm9sLWRhbmdlciB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtcGFkZGluZy14ICogMyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAoJGlucHV0LWhlaWdodCAvIDQpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICgkaW5wdXQtaGVpZ2h0IC8gMikgKCRpbnB1dC1oZWlnaHQgLyAyKTtcbn1cblxuLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJGJyYW5kLXN1Y2Nlc3MpO1xuXG4gIC5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGZvcm0taWNvbi1zdWNjZXNzO1xuICB9XG59XG5cbi5oYXMtd2FybmluZyB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC13YXJuaW5nKTtcblxuICAuZm9ybS1jb250cm9sLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRmb3JtLWljb24td2FybmluZztcbiAgfVxufVxuXG4uaGFzLWRhbmdlciB7XG4gIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRicmFuZC1kYW5nZXIpO1xuXG4gIC5mb3JtLWNvbnRyb2wtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkZm9ybS1pY29uLWRhbmdlcjtcbiAgfVxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3Jtc1xuXG4vL1xuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0OyAvLyAjZmZmICFkZWZhdWx0O1xuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIDApICFkZWZhdWx0OyAvLyAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy9cbi8vJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDsgLy8gI2NjYyAhZGVmYXVsdDtcbi8vJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnNcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkgIWRlZmF1bHQ7XG4vL1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8gJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbi8vXG4vLyRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogICAgICAgICBub25lICFkZWZhdWx0OyAvLyByZ2JhKDEwMiwxNzUsMjMzLC42KSAhZGVmYXVsdDtcbi8vXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAkYm1kLWxhYmVsLWNvbG9yICFkZWZhdWx0OyAvLyAjOTk5ICFkZWZhdWx0O1xuXG5cblxuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDsgLy8gLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjQzNzVyZW0gIWRlZmF1bHQ7IC8vIHNwZWMgOHB4IC8vIC4zNzVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7IC8vIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDsgLy8gc3BlYyA0cHggLy8uMjc1cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAwICFkZWZhdWx0OyAvLyAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAuNTYyNXJlbSAhZGVmYXVsdDsgLy8gbm8tc3BlYyA5cHggLy8gLjc1cmVtICFkZWZhdWx0O1xuXG4vLyRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpICsgKCRpbnB1dC1wYWRkaW5nLXkgKiAyKSkgIWRlZmF1bHQ7XG4vLyRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1sZyAqICRsaW5lLWhlaWdodC1sZykgKyAoJGlucHV0LXBhZGRpbmcteS1sZyAqIDIpKSAhZGVmYXVsdDtcbi8vJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLXNtICogJGxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtcGFkZGluZy15LXNtICogMikpICFkZWZhdWx0O1xuLy9cbi8vJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgJHNwYWNlci15ICFkZWZhdWx0O1xuLy9cbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDsgLy8kZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogIHRyYW5zcGFyZW50ICFkZWZhdWx0OyAvLyRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcbi8vXG4vLy8vIEZvcm0gdmFsaWRhdGlvbiBpY29uc1xuLy8kZm9ybS1pY29uLXN1Y2Nlc3M6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqTldOaU9EVmpJaUJrUFNKTk1qTXpMamdnTmpFd1l5MHhNeTR6SURBdE1qWXROaTB6TkMweE5pNDRURGt3TGpVZ05EUTRMamhETnpZdU15QTBNekFnT0RBZ05EQXpMak1nT1RndU9DQXpPRGxqTVRndU9DMHhOQzR5SURRMUxqVXRNVEF1TkNBMU9TNDRJRGd1Tkd3M01pQTVOVXcwTlRFdU15QXlOREpqTVRJdU5TMHlNQ0F6T0M0NExUSTJMaklnTlRndU9DMHhNeTQzSURJd0lERXlMalFnTWpZZ016Z3VOeUF4TXk0M0lEVTRMamhNTWpjd0lEVTVNR010Tnk0MElERXlMVEl3TGpJZ01Ua3VOQzB6TkM0eklESXdhQzB5ZWlJdlBqd3ZjM1puUGc9PVwiO1xuLy8kZm9ybS1pY29uLXdhcm5pbmc6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWmpCaFpEUmxJaUJrUFNKTk5qQXpJRFkwTUM0eWJDMHlOemd1TlMwMU1EbGpMVE11T0MwMkxqWXRNVEF1T0MweE1DNDJMVEU0TGpVdE1UQXVObk10TVRRdU55QTBMVEU0TGpVZ01UQXVOa3c1SURZME1DNHlZeTB6TGpjZ05pNDFMVE11TmlBeE5DNDBMaklnTWpBdU9DQXpMamdnTmk0MUlERXdMamdnTVRBdU5DQXhPQzR6SURFd0xqUm9OVFUzWXpjdU5pQXdJREUwTGpZdE5DQXhPQzQwTFRFd0xqUWdNeTQxTFRZdU5DQXpMall0TVRRdU5DQXdMVEl3TGpoNmJTMHlOall1TkMwek1HZ3ROakV1TWxZMU5EbG9OakV1TW5ZMk1TNHllbTB3TFRFd04yZ3ROakV1TWxZek1EUm9OakV1TW5ZeE9UbDZJaTgrUEM5emRtYytcIjtcbi8vJGZvcm0taWNvbi1kYW5nZXI6IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQTJNVElnTnpreUlqNDhjR0YwYUNCbWFXeHNQU0lqWkRrMU16Um1JaUJrUFNKTk5EUTNJRFUwTkM0MFl5MHhOQzQwSURFMExqUXRNemN1TmlBeE5DNDBMVFV5SURCc0xUZzVMVGt5TGpjdE9Ea2dPVEl1TjJNdE1UUXVOU0F4TkM0MExUTTNMamNnTVRRdU5DMDFNaUF3TFRFMExqUXRNVFF1TkMweE5DNDBMVE0zTGpZZ01DMDFNbXc1TWk0MExUazJMak10T1RJdU5DMDVOaTR6WXkweE5DNDBMVEUwTGpRdE1UUXVOQzB6Tnk0MklEQXROVEp6TXpjdU5pMHhOQzR6SURVeUlEQnNPRGtnT1RJdU9DQTRPUzR5TFRreUxqZGpNVFF1TkMweE5DNDBJRE0zTGpZdE1UUXVOQ0ExTWlBd0lERTBMak1nTVRRdU5DQXhOQzR6SURNM0xqWWdNQ0ExTWt3ek5UUXVOaUF6T1Rac09USXVOQ0E1Tmk0MFl6RTBMalFnTVRRdU5DQXhOQzQwSURNM0xqWWdNQ0ExTW5vaUx6NDhMM04yWno0PVwiO1xuXG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBfZm9ybXMuc2NzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkY29sb3IpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbiAgLmZvcm0tY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCxcbiAgLmN1c3RvbS1jb250cm9sIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAvLyBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlci1jb2xvciwgMTAlKTtcbiAgICAgIC8vICRzaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlci1jb2xvciwgMjAlKTtcbiAgICAgIC8vIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDQwJSk7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWNvbG9yLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1mb2N1cztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkaW5wdXQtYm94LXNoYWRvdy1mb2N1cztcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBzZWxlY3QjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gIH1cblxuICB0ZXh0YXJlYSN7JHBhcmVudH0sXG4gIHNlbGVjdFttdWx0aXBsZV0jeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkYnRuLWxpbmUtaGVpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIHRhYi1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAuNjU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcbi8vXG5cbi5idG4tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1jb2xvciwgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi5idG4tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWJnLCAkYnRuLXNlY29uZGFyeS1ib3JkZXIpO1xufVxuLmJ0bi1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1pbmZvLWNvbG9yLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1ib3JkZXIpO1xufVxuLmJ0bi1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWNvbG9yLCAkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1ib3JkZXIpO1xufVxuLmJ0bi13YXJuaW5nIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWNvbG9yLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1ib3JkZXIpO1xufVxuLmJ0bi1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRhbmdlci1jb2xvciwgJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJvcmRlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbn1cbi5idG4tb3V0bGluZS1pbmZvIHtcbiAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmJ0bi1vdXRsaW5lLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tc3VjY2Vzcy1iZyk7XG59XG4uYnRuLW91dGxpbmUtd2FybmluZyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnKTtcbn1cbi5idG4tb3V0bGluZS1kYW5nZXIge1xuICBAaW5jbHVkZSBidXR0b24tb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuXG4vL1xuLy8gTGluayBidXR0b25zXG4vL1xuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LWxnLCAkYnRuLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGJ0bi1wYWRkaW5nLXktc20sICRidG4tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkYnRuLWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG5cbi8vXG4vLyBCbG9jayBidXR0b25cbi8vXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbnM6XG4kYm1kLWJ0bi1mb250LXNpemU6IC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0cHhcbiRibWQtYnRuLWZvbnQtc2l6ZS1sZzogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtYnRuLWZvbnQtc2l6ZS1zbTogLjgxMjVyZW0gIWRlZmF1bHQ7IC8vIDEzcHhcbiRibWQtYnRuLW1hcmdpbi1ib3R0b206IC4zMTI1cmVtICFkZWZhdWx0OyAvLyA1cHhcblxuLy8gZGVmYXVsdCBidG4gd2l0aCBubyBzcGVjaWZpYyB0eXBlIGRlc2lnbmF0aW9uXG4kYm1kLWJ0bi1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJtZC1idG4tYmc6ICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDsgLy8kYm9keS1iZyAhZGVmYXVsdDsgLy8gI2ZmZlxuJGJtZC1idG4tYm9yZGVyOiAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJtZC1idG4tZm9jdXMtYmc6IHJnYmEoIzk5OSwgLjIwKSAhZGVmYXVsdDsgLy8gc3BlYzogYmcgSG92ZXI6IDIwJSAjOTk5OTk5XG4kYm1kLWJ0bi1hY3RpdmUtYmc6IHJnYmEoIzk5OSwgLjQwKSAhZGVmYXVsdDsgLy8gc3BlYzogYmcgUHJlc3NlZDogNDAlICM5OTk5OTlcbiRibWQtYnRuLWRpc2FibGVkOiByZ2JhKCRibGFjaywgLjI2KSAhZGVmYXVsdDsgLy8gc3BlYzogbGlnaHQgdGhlbWU6IERpc2FibGVkIHRleHQ6IDI2JSAkYmxhY2tcblxuJGJtZC1pbnZlcnNlLWJ0bi1mb2N1cy1iZzogcmdiYSgjY2NjLCAuMTUpICFkZWZhdWx0OyAvLyBzcGVjOiBkYXJrIGJnIEhvdmVyOiAxNSUgI0NDQ0NDQ1xuJGJtZC1pbnZlcnNlLWJ0bi1hY3RpdmUtYmc6IHJnYmEoI2NjYywgLjI1KSAhZGVmYXVsdDsgLy8gc3BlYzogZGFyayBQcmVzc2VkOiAyNSUgI0NDQ0NDQ1xuJGJtZC1pbnZlcnNlLWJ0bi1kaXNhYmxlZDogcmdiYSgkd2hpdGUsIC4zMCkgIWRlZmF1bHQ7IC8vIHNwZWM6IGRhcmsgdGhlbWU6IERpc2FibGVkIHRleHQ6IDMwJSAkd2hpdGVcblxuJGJtZC1idG4tZmFiLXNpemU6IDMuNXJlbSAhZGVmYXVsdDsgLy8gNTZweFxuJGJtZC1idG4tZmFiLXNpemUtc206IDIuNXJlbSAhZGVmYXVsdDsgLy8gNDBweFxuJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0OyAvLyAyNHB4XG5cbi8vIGljb25zXG4kYm1kLWJ0bi1pY29uLXNpemU6IDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRibWQtYnRuLWljb24tc2l6ZS1zbTogKC43NSAqICRibWQtYnRuLWljb24tc2l6ZSkgIWRlZmF1bHQ7IC8vIH4yNHB4XG4kYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTogKC43NSAqICRibWQtYnRuLWZhYi1mb250LXNpemUpICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMXJlbVxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgLjQ2ODc1cmVtICFkZWZhdWx0OyAvLyAuNXJlbSBhY2hpZXZlIGEgMzZkcCBoZWlnaHRcbi8vJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgMSAhZGVmYXVsdDsgLy8xLjI1XG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICA1MDAgIWRlZmF1bHQ7IC8vIG5vcm1hbFxuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7IC8vIGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpXG5cbi8vXG4vLyRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXByaW1hcnktYmcgIWRlZmF1bHQ7XG4vL1xuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRidG4tc2Vjb25kYXJ5LWJnOiAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0OyAvLyAjZmZmXG4vLyRidG4tc2Vjb25kYXJ5LWJvcmRlcjogICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vL1xuLy8kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbi8vJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgJGJ0bi1pbmZvLWJnICFkZWZhdWx0O1xuLy9cbi8vJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgICRidG4tc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbi8vXG4vLyRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICAkYnRuLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4vL1xuLy8kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuLy8kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICAkYnRuLWRhbmdlci1iZyAhZGVmYXVsdDtcbi8vXG4vLyRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy9cbi8vJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAgICAuNDA2MjVyZW0gIWRlZmF1bHQ7IC8vIGFjaGlldmUgYSAzMmRwIGhlaWdodCB3YXMgLjI1cmVtXG4vL1xuLy8kYnRuLXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4vLyRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbi8vXG4vLy8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbi8vJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuLy8kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gICRhY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAkYWN0aXZlLWJvcmRlcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgICAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDI1JSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDI1JSk7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDIwJSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cbiIsIi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzIGxpbmVhcjtcblxuICAmLmluIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jb2xsYXBzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLy8gdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIC8vIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0O1xufVxuIiwiLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGA8ZGl2PmApXG4uZHJvcHVwLFxuLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gR2VuZXJhdGUgdGhlIGNhcmV0IGF1dG9tYXRpY2FsbHlcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJldC13aWR0aDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICAgIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRoZSBmb2N1cyBvbiB0aGUgZHJvcGRvd24gdG9nZ2xlIHdoZW4gY2xvc2luZyBkcm9wZG93bnNcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uZHJvcHVwIHtcbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tbWFyZ2luLXRvcCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6IDNweCAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7IC8vIEZvciBgPGJ1dHRvbj5gc1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgYmFja2dyb3VuZDogbm9uZTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIGJvcmRlcjogMDsgLy8gRm9yIGA8YnV0dG9uPmBzXG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWxpbmstaG92ZXItYmc7XG4gIH1cblxuICAvLyBBY3RpdmUgc3RhdGVcbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtYmc7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC8vXG4gIC8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG4gICYuZGlzYWJsZWQge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSBDU1MgZ3JhZGllbnRcbiAgICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxufVxuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICBjb2xvcjogJGRyb3Bkb3duLWhlYWRlci1jb2xvcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gYXMgd2l0aCA+IGxpID4gYVxufVxuXG4vLyBCYWNrZHJvcCB0byBjYXRjaCBib2R5IGNsaWNrcyBvbiBtb2JpbGUsIGV0Yy5cbi5kcm9wZG93bi1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duLWJhY2tkcm9wO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQuXG4vLyBUT0RPOiBhYnN0cmFjdCB0aGlzIHNvIHRoYXQgdGhlIG5hdmJhciBmaXhlZCBzdHlsZXMgYXJlIG5vdCBwbGFjZWQgaGVyZT9cblxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgfVxuXG4gIC8vIERpZmZlcmVudCBwb3NpdGlvbmluZyBmb3IgYm90dG9tIHVwIG1lbnVcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLW1hcmdpbi10b3A7XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoJHNwYWNlci15IC8gMikgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi8vXG4vLyBXaGVuIHlvdSBuZWVkIHRvIHJlbW92ZSBhIGdyYWRpZW50IGJhY2tncm91bmQsIGRvIG5vdCBmb3JnZXQgdG8gdXNlIHRoaXMgdG8gcmVzZXRcbi8vIHRoZSBJRSBmaWx0ZXIgZm9yIElFOS5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCI7XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWw6IEdyb3VwIG11bHRpcGxlIGJ1dHRvbiBncm91cHMgdG9nZXRoZXIgZm9yIGEgdG9vbGJhclxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC0kYnRuLXRvb2xiYXItbWFyZ2luOyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLmJ0bi1ncm91cCxcbiAgLmlucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRidG4tdG9vbGJhci1tYXJnaW47XG4gIH1cbn1cblxuLmJ0bi1ncm91cCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxuLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMDtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG5cbi8vIEN1c3RvbSBlZGl0cyBmb3IgaW5jbHVkaW5nIGJ0bi1ncm91cHMgd2l0aGluIGJ0bi1ncm91cHMgKHVzZWZ1bCBmb3IgaW5jbHVkaW5nIGRyb3Bkb3duIGJ1dHRvbnMgd2l0aGluIGEgYnRuLWdyb3VwKVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXAge1xuICBmbG9hdDogbGVmdDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vL1xuXG4uYnRuICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14ICogLjc1O1xuXG4gICY6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLXNtICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LXNtICogLjc1O1xufVxuXG4uYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xuICBwYWRkaW5nLWxlZnQ6ICRidG4tcGFkZGluZy14LWxnICogLjc1O1xufVxuXG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sZyAkY2FyZXQtd2lkdGgtbGcgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGcgJGNhcmV0LXdpZHRoLWxnO1xufVxuXG5cblxuLy9cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vXG5cbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCxcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQ2xlYXIgZmxvYXRzIHNvIGRyb3Bkb3duIG1lbnVzIGNhbiBiZSBwcm9wZXJseSBwbGFjZWRcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAmOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvLyBQcmV2ZW50IGlucHV0IGdyb3VwcyBmcm9tIGluaGVyaXRpbmcgYm9yZGVyIHN0eWxlcyBmcm9tIHRhYmxlIGNlbGxzIHdoZW5cbiAgICAvLyBwbGFjZWQgd2l0aGluIGEgdGFibGUuXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbnB1dCBpcyBhbHdheXMgYWJvdmUgdGhlICphcHBlbmRlZCogYWRkb24gYnV0dG9uIGZvclxuICAgIC8vIHByb3BlciBib3JkZXIgY29sb3JzLlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgZnJvbnRcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBmbGV4OiAxO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSUU5IGZ1YmFycyB0aGUgcGxhY2Vob2xkZXIgYXR0cmlidXRlIGluIHRleHQgaW5wdXRzIGFuZCB0aGUgYXJyb3dzIG9uXG4gICAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE1NjEjaXNzdWVjb21tZW50LTI4OTM2ODU1XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIEBpZiBub3QgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICBAaWYgbm90ICRlbmFibGUtZmxleCB7XG4gICAgd2lkdGg6IDElO1xuICB9XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuZm9ybS1jb250cm9sLXNtO1xufVxuXG5cbi8vXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBBbGxvdyB1c2Ugb2YgPGxhYmVsPiBlbGVtZW50cyBieSBvdmVycmlkaW5nIG91ciBkZWZhdWx0IG1hcmdpbi1ib3R0b21cbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIFNpemluZ1xuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbiAgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIC8vIE51a2UgZGVmYXVsdCBtYXJnaW5zIGZyb20gY2hlY2tib3hlcyBhbmQgcmFkaW9zIHRvIHZlcnRpY2FsbHkgY2VudGVyIHdpdGhpbi5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxufVxuXG5cbi8vXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi8vXG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpsYXN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbn1cbi5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bm90KDpmaXJzdC1jaGlsZCkgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46bm90KDpsYXN0LWNoaWxkKSA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmZvcm0tY29udHJvbCArIC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vL1xuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy9cblxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6ICgtJGlucHV0LWJ0bi1ib3JkZXItd2lkdGgpO1xuICAgIH1cbiAgICAvLyBCcmluZyB0aGUgXCJhY3RpdmVcIiBidXR0b24gdG8gdGhlIGZyb250XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICB9XG5cbiAgLy8gTmVnYXRpdmUgbWFyZ2luIHRvIG9ubHkgaGF2ZSBhIHNpbmdsZSwgc2hhcmVkIGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICA+IC5idG4sXG4gICAgPiAuYnRuLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kaW5wdXQtYnRuLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgID4gLmJ0bixcbiAgICA+IC5idG4tZ3JvdXAge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoLSRpbnB1dC1idG4tYm9yZGVyLXdpZHRoKTtcbiAgICAgIC8vIEJlY2F1c2Ugc3BlY2lmaWNpdHlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQcm9wZXJ0eUNvdW50XG5cbi8vIEVtYmVkZGVkIGljb25zIGZyb20gT3BlbiBJY29uaWMuXG4vLyBSZWxlYXNlZCB1bmRlciBNSVQgYW5kIGNvcHlyaWdodCAyMDE0IFdheWJ1cnkuXG4vLyBodHRwOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICsgLmN1c3RvbS1jb250cm9sIHtcbiAgICBtYXJnaW4tbGVmdDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xuICB9XG59XG5cbi5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7IC8vIFB1dCB0aGUgaW5wdXQgYmVoaW5kIHRoZSBsYWJlbCBzbyBpdCBkb2Vzbid0IG92ZXJsYXkgdGV4dFxuICBvcGFjaXR5OiAwO1xuXG4gICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtY2hlY2tlZC1pbmRpY2F0b3ItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWNoZWNrZWQtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIGJveC1zaGFkb3c6ICRjdXN0b20tY29udHJvbC1mb2N1cy1pbmRpY2F0b3ItYm94LXNoYWRvdztcbiAgfVxuXG4gICY6YWN0aXZlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1hY3RpdmUtaW5kaWNhdG9yLWJnO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWFjdGl2ZS1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWluZGljYXRvci1iZztcbiAgICB9XG5cbiAgICB+IC5jdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWRpc2FibGVkLWRlc2NyaXB0aW9uLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkY3VzdG9tLWNvbnRyb2wtZGlzYWJsZWQtY3Vyc29yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gaW5kaWNhdG9yXG4vL1xuLy8gR2VuZXJhdGVzIGEgc2hhZG93IGVsZW1lbnQgdG8gY3JlYXRlIG91ciBtYWtlc2hpZnQgY2hlY2tib3gvcmFkaW8gYmFja2dyb3VuZC5cblxuLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAuMDYyNXJlbTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdyk7XG59XG5cbi8vIENoZWNrYm94ZXNcbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgY2hlY2tib3hlcy5cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIC5jdXN0b20tY29udHJvbC1pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1yYWRpdXMpO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWNoZWNrZWQtaWNvbjtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pY29uO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jaGVja2JveC1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICB9XG59XG5cbi8vIFJhZGlvc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciByYWRpb3MuXG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLXJhZGl1cztcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGN1c3RvbS1yYWRpby1jaGVja2VkLWljb247XG4gIH1cbn1cblxuXG4vLyBMYXlvdXQgb3B0aW9uc1xuLy9cbi8vIEJ5IGRlZmF1bHQgcmFkaW9zIGFuZCBjaGVja2JveGVzIGFyZSBgaW5saW5lLWJsb2NrYCB3aXRoIG5vIGFkZGl0aW9uYWwgc3BhY2luZ1xuLy8gc2V0LiBVc2UgdGhlc2Ugb3B0aW9uYWwgY2xhc3NlcyB0byB0d2VhayB0aGUgbGF5b3V0LlxuXG4uY3VzdG9tLWNvbnRyb2xzLXN0YWNrZWQge1xuICAuY3VzdG9tLWNvbnRyb2wge1xuICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGN1c3RvbS1jb250cm9sLXNwYWNlci15O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICArIC5jdXN0b20tY29udHJvbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwOi8vcHJpbWVyY3NzLmlvLlxuLy9cbi8vIEluY2x1ZGVzIElFOS1zcGVjaWZpYyBoYWNrcyAobm90ZWQgYnkgYCBcXDlgKS5cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IFxcOTtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgXFw5O1xuICBiYWNrZ3JvdW5kLXNpemU6ICRjdXN0b20tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzKTtcbiAgLy8gVXNlIHZlbmRvciBwcmVmaXhlcyBhcyBgYXBwZWFyYW5jZWAgaXNuJ3QgcGFydCBvZiB0aGUgQ1NTIHNwZWMuXG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93KTtcblxuICAgICY6Oi1tcy12YWx1ZSB7XG4gICAgICAvLyBGb3IgdmlzdWFsIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgcGxhdGZvcm1zL2Jyb3dzZXJzLFxuICAgICAgLy8gc3VwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk7XG4gIGZvbnQtc2l6ZTogJGN1c3RvbS1zZWxlY3Qtc20tZm9udC1zaXplO1xuXG4gIC8vICY6bm90KFttdWx0aXBsZV0pIHtcbiAgLy8gICBoZWlnaHQ6IDI2cHg7XG4gIC8vICAgbWluLWhlaWdodDogMjZweDtcbiAgLy8gfVxufVxuXG5cbi8vIEZpbGVcbi8vXG4vLyBDdXN0b20gZmlsZSBpbnB1dC5cblxuLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jdXN0b20tZmlsZS1pbnB1dCB7XG4gIG1pbi13aWR0aDogJGN1c3RvbS1maWxlLXdpZHRoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5ID0gMCk7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93KTtcbiAgfVxufVxuXG4uY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy14ICRjdXN0b20tZmlsZS1wYWRkaW5nLXk7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLWZpbGUtY29sb3I7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWZpbGUtYm94LXNoYWRvdyk7XG5cbiAgQGVhY2ggJGxhbmcsICR0ZXh0IGluIG1hcC1nZXQoJGN1c3RvbS1maWxlLXRleHQsIHBsYWNlaG9sZGVyKSB7XG4gICAgJjpsYW5nKCN7JGxhbmd9KTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICByaWdodDogLSRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg7XG4gICAgYm90dG9tOiAtJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy14ICRjdXN0b20tZmlsZS1wYWRkaW5nLXk7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aCBzb2xpZCAkY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdGV4dCBpbiBtYXAtZ2V0KCRjdXN0b20tZmlsZS10ZXh0LCBidXR0b24tbGFiZWwpIHtcbiAgICAmOmxhbmcoI3skbGFuZ30pOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJHRleHQ7XG4gICAgfVxuICB9XG59XG4iLCIkY3VzdG9tLWZpbGUtYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubmF2LWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IGlubGluZVxuXG4ubmF2LWlubGluZSB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm5hdi1pdGVtICsgLm5hdi1pdGVtLFxuICAubmF2LWxpbmsgKyAubmF2LWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0taW5saW5lLXNwYWNlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBUYWJzXG4vL1xuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtJG5hdi10YWJzLWJvcmRlci13aWR0aDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkbmF2LXRhYnMtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXYtdGFicy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWl0ZW0ub3BlbiAubmF2LWxpbmsge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgICsgLm5hdi1pdGVtIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG5hdi1saW5rLXBhZGRpbmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLm9wZW4gLm5hdi1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdi1waWxscy1hY3RpdmUtbGluay1jb2xvcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstYmc7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc3RhY2tlZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICArIC5uYXYtaXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAkbmF2LWl0ZW0tbWFyZ2luO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFRhYmJhYmxlIHRhYnNcbi8vXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLy8gTmF2cyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvdGFicy5odG1sI3RhYnMtc3BlY3NcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbiRibWQtbmF2YmFyLWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgJGJtZC1mb250LXdlaWdodC1iYXNlICFkZWZhdWx0OyAvL1xuJGJtZC1uYXZiYXItbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0OyAvLyAxNFxuJGJtZC1uYXZiYXItbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAuNTMyMXJlbTsgLy8gN1xuXG5cbi8vIHRhYnMgJiBwaWxsc1xuJGJtZC1uYXYtdGFicy1waWxscy1mb250LXdlaWdodDogICAgICAgICAgICA1MDAgIWRlZmF1bHQ7IC8vXG4kYm1kLW5hdi10YWJzLXBpbGxzLWZvbnQtc2l6ZTogICAgICAgICAgICAgIC44NzVyZW0gIWRlZmF1bHQ7IC8vIDE0XG4kYm1kLW5hdi10YWJzLXBpbGxzLWxpbmstcGFkZGluZzogICAgICAgICAgIDEuNDI4NmVtIC44NTc1ZW0gIWRlZmF1bHQ7IC8vIHNwZWMgLy8gd2FzIC41ZW0gMWVtICAgLy8gcmVsYXRpdmUgZW0gYmFzZWQgb24gMTRcblxuLy8gdGFicyBvbmx5XG4kYm1kLW5hdi10YWJzLWJvcmRlci1zaXplOiAgICAgICAgICAgICAgICAgIC4yMTRyZW0gIWRlZmF1bHQ7IC8vIDNweFxuXG4kYm1kLW5hdi10YWJzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAgICAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRibWQtbmF2LXRhYnMtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGJtZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1wcmltYXJ5LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICRibWQtaW52ZXJzZS1saWdodCAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtcHJpbWFyeS1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAkYm1kLWludmVyc2UtbGlnaHQgIWRlZmF1bHQ7XG5cbiRibWQtbmF2LXRhYnMtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgJGJtZC1pbnZlcnNlICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWFjdGl2ZS1jb2xvcjogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJGJtZC1uYXYtdGFicy1pbnZlcnNlLWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICRibWQtaW52ZXJzZS1saWdodCAhZGVmYXVsdDtcbiRibWQtbmF2LXRhYnMtaW52ZXJzZS1kaXNhYmxlZC1saW5rLWNvbG9yLWhvdmVyOiAkYm1kLWludmVyc2UtbGlnaHQgIWRlZmF1bHQ7XG5cblxuLy8kbmF2LWl0ZW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG5cblxuLy8kYm1kLW5hdi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7IC8vIG1ha2VzIGl0IGVhc2llciB0byBsaW5lIHVwIHdpdGggdGhlIHNwZWNcbi8vJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAuNWVtIDFlbSAhZGVmYXVsdDsgLy8gY2hhbmdpbmcgdGhpcyBmb3IgdGFicyBhbHRlcnMgZ2VuZXJpYyBuYXZiYXJzLCBzbyBkbyBpdCBlbHNld2hlcmUgd2l0aCBoaWdoZXIgc3BlY2lmaWNpdHlcbi8vJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG5cbi8vXG4vLyRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtdGFicy1saW5rLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbi8vJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy9cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7IC8vICRib2R5LWJnXG4vLyRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4vLyRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbi8vJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbi8vXG4vLyRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4iLCIvLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmcteSAkbmF2YmFyLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBhbGlnbm1lbnQgb3B0aW9uc1xuLy9cbi8vIERpc3BsYXkgdGhlIG5hdmJhciBhY3Jvc3MgdGhlIGVudGlyZXR5IG9mIHRoZSBwYWdlIG9yIGZpeGVkIGl0IHRvIHRoZSB0b3Agb3Jcbi8vIGJvdHRvbSBvZiB0aGUgcGFnZS5cblxuLy8gQSBzdGF0aWMsIGZ1bGwgd2lkdGggbW9kaWZpZXIgd2l0aCBubyByb3VuZGVkIGNvcm5lcnMuXG4ubmF2YmFyLWZ1bGwge1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhcjtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBGaXggdGhlIHRvcC9ib3R0b20gbmF2YmFycyB3aGVuIHNjcmVlbiByZWFsIGVzdGF0ZSBzdXBwb3J0cyBpdFxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyLWZpeGVkO1xuXG4gIC8vIFVuZG8gdGhlIHJvdW5kZWQgY29ybmVyc1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbn1cblxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG59XG5cbi5uYXZiYXItc3RpY2t5LXRvcCB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItc3RpY2t5O1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vL1xuLy8gQnJhbmQvcHJvamVjdCBuYW1lXG4vL1xuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLm5hdmJhci1kaXZpZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAkYm9yZGVyLXdpZHRoO1xuICBwYWRkaW5nLXRvcDogLjQyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAgJG5hdmJhci1wYWRkaW5nLXg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBCb290c3RyYXAgSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRidG4tYm9yZGVyLXJhZGl1cyk7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uXG4vL1xuLy8gQ3VzdG9tIG5hdmJhciBuYXZpZ2F0aW9uIGJ1aWx0IG9uIHRoZSBiYXNlIGAubmF2YCBzdHlsZXMuXG5cbi5uYXZiYXItbmF2IHtcbiAgLm5hdi1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6ICAgIC40MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IC40MjVyZW07XG5cbiAgICArIC5uYXYtbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAubmF2LWl0ZW0gKyAubmF2LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG5cbi8vIERhcmsgbGlua3MgYWdhaW5zdCBhIGxpZ2h0IGJhY2tncm91bmRcbi5uYXZiYXItbGlnaHQge1xuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3BlbiA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5vcGVuLFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wNzUpO1xuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wZW4gPiAubmF2LWxpbmssXG4gICAgLmFjdGl2ZSA+IC5uYXYtbGluayxcbiAgICAubmF2LWxpbmsub3BlbixcbiAgICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1kaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4wNzUpO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZWFibGVcbi8vXG4vLyBDdXN0b20gb3ZlcnJpZGUgZm9yIGNvbGxhcHNlIHBsdWdpbiBpbiBuYXZiYXIuXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGVcbi5uYXZiYXItdG9nZ2xlYWJsZSB7XG4gICYteHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtc20ge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYtbWQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgLm5hdmJhci1uYXYgLm5hdi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBJbXBvcnRhbnRSdWxlXG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICAvLyBib3JkZXI6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbn1cblxuLmNhcmQtYmxvY2sge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSgkY2FyZC1zcGFjZXIteSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyAuY2FyZC1hY3Rpb25zIHtcbi8vICAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG5cbi8vICAgLmNhcmQtbGluayArIC5jYXJkLWxpbmsge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbi8vICAgfVxuLy8gfVxuXG4uY2FyZC1saW5rIHtcbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICsgLmNhcmQtbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6ICRjYXJkLXNwYWNlci14O1xuICB9XG59XG5cbi5jYXJkIHtcbiAgPiAubGlzdC1ncm91cDpmaXJzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtYm9yZGVyLXJhZGl1cy1pbm5lciAkY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbn1cblxuXG4vL1xuLy8gQmFja2dyb3VuZCB2YXJpYXRpb25zXG4vL1xuXG4uY2FyZC1wcmltYXJ5IHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1wcmltYXJ5LCAkYnJhbmQtcHJpbWFyeSk7XG59XG4uY2FyZC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2Vzcyk7XG59XG4uY2FyZC1pbmZvIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbyk7XG59XG4uY2FyZC13YXJuaW5nIHtcbiAgQGluY2x1ZGUgY2FyZC12YXJpYW50KCRicmFuZC13YXJuaW5nLCAkYnJhbmQtd2FybmluZyk7XG59XG4uY2FyZC1kYW5nZXIge1xuICBAaW5jbHVkZSBjYXJkLXZhcmlhbnQoJGJyYW5kLWRhbmdlciwgJGJyYW5kLWRhbmdlcik7XG59XG5cbi8vIFJlbW92ZSBhbGwgYmFja2dyb3VuZHNcbi5jYXJkLW91dGxpbmUtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tcHJpbWFyeS1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWJvcmRlcik7XG59XG4uY2FyZC1vdXRsaW5lLWluZm8ge1xuICBAaW5jbHVkZSBjYXJkLW91dGxpbmUtdmFyaWFudCgkYnRuLWluZm8tYmcpO1xufVxuLmNhcmQtb3V0bGluZS1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbn1cbi5jYXJkLW91dGxpbmUtd2FybmluZyB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4td2FybmluZy1iZyk7XG59XG4uY2FyZC1vdXRsaW5lLWRhbmdlciB7XG4gIEBpbmNsdWRlIGNhcmQtb3V0bGluZS12YXJpYW50KCRidG4tZGFuZ2VyLWJnKTtcbn1cblxuLy9cbi8vIEludmVyc2UgdGV4dCB3aXRoaW4gYSBjYXJkIGZvciB1c2Ugd2l0aCBkYXJrIGJhY2tncm91bmRzXG4vL1xuXG4uY2FyZC1pbnZlcnNlIHtcbiAgQGluY2x1ZGUgY2FyZC1pbnZlcnNlO1xufVxuXG4vL1xuLy8gQmxvY2txdW90ZVxuLy9cblxuLmNhcmQtYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4vLyBDYXJkIGltYWdlXG4uY2FyZC1pbWcge1xuICAvLyBtYXJnaW46IC0xLjMyNXJlbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyguMjVyZW0pO1xufVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuXG5cbi8vIENhcmQgaW1hZ2UgY2Fwc1xuLmNhcmQtaW1nLXRvcCB7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xufVxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMtaW5uZXIpO1xufVxuXG5cbi8vIENhcmQgc2V0XG4vL1xuLy8gSGVhZHMgdXAhIFdlIGRvIHNvbWUgZnVua3kgc3R5bGUgcmVzZXR0aW5nIGhlcmUgZm9yIG1hcmdpbnMgYWNyb3NzIG91ciB0d29cbi8vIHZhcmlhdGlvbnMgKG9uZSBmbGV4LCBvbmUgdGFibGUpLiBJbmRpdmlkdWFsIGNhcmRzIGhhdmUgbWFyZ2luLWJvdHRvbSBieVxuLy8gZGVmYXVsdCwgYnV0IHRoZXkncmUgaWdub3JlZCBkdWUgdG8gdGFibGUgc3R5bGVzLiBGb3IgYSBjb25zaXN0ZW50IGRlc2lnbixcbi8vIHdlJ3ZlIGRvbmUgdGhlIHNhbWUgdG8gdGhlIGZsZXggdmFyaWF0aW9uLlxuLy9cbi8vIFRob3NlIGNoYW5nZXMgYXJlIG5vdGVkIGJ5IGAvLyBNYXJnaW4gYmFsYW5jaW5nYC5cblxuQGlmICRlbmFibGUtZmxleCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59IEBlbHNlIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICRzcGFjZS1iZXR3ZWVuLWNhcmRzOiAoMiAqICRjYXJkLWRlY2stbWFyZ2luKTtcbiAgICAuY2FyZC1kZWNrIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTsgLy8gTWFyZ2luIGJhbGFuY2luZ1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgIGJvcmRlci1zcGFjaW5nOiAkc3BhY2UtYmV0d2Vlbi1jYXJkcyAwO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE1hcmdpbiBiYWxhbmNpbmdcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtZGVjay13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogKC0kc3BhY2UtYmV0d2Vlbi1jYXJkcyk7XG4gICAgICBtYXJnaW4tbGVmdDogKC0kc3BhY2UtYmV0d2Vlbi1jYXJkcyk7XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAuY2FyZC1ncm91cCB7XG4gICAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgICAgICBmbGV4OiAxIDAgMDtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgfVxuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3Age1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmRcbi8vXG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtc20tdXAtY29sdW1uLWdhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlbSBleGNlZWQgdGhlIGNvbHVtbiB3aWR0aFxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2FyZHNcbi8vJGNhcmQtc3BhY2VyLXg6ICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbi8vJGNhcmQtc3BhY2VyLXk6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuLy8kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAxcHggIWRlZmF1bHQ7XG4vLyRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDsgLy8gI2U1ZTVlNVxuLy8kY2FyZC1ib3JkZXItcmFkaXVzLWlubmVyOiAkY2FyZC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICRjYXJkLWJnICFkZWZhdWx0OyAvLyAjZjVmNWY1XG4vL1xuLy8kY2FyZC1saW5rLWhvdmVyLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy9cbi8vJGNhcmQtZGVjay1tYXJnaW46ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiIsIi8vIENhcmQgdmFyaWFudHNcblxuQG1peGluIGNhcmQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIC5jYXJkLWhlYWRlcixcbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gY2FyZC1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbn1cblxuLy9cbi8vIEludmVyc2UgdGV4dCB3aXRoaW4gYSBjYXJkIGZvciB1c2Ugd2l0aCBkYXJrIGJhY2tncm91bmRzXG4vL1xuXG5AbWl4aW4gY2FyZC1pbnZlcnNlIHtcbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMik7XG4gIH1cbiAgLmNhcmQtaGVhZGVyLFxuICAuY2FyZC1mb290ZXIsXG4gIC5jYXJkLXRpdGxlLFxuICAuY2FyZC1ibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuY2FyZC1saW5rLFxuICAuY2FyZC10ZXh0LFxuICAuY2FyZC1zdWJ0aXRsZSxcbiAgLmNhcmQtYmxvY2txdW90ZSAuYmxvY2txdW90ZS1mb290ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42NSk7XG4gIH1cbiAgLmNhcmQtbGluayB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRjYXJkLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6ICRicmVhZGNydW1iLXBhZGRpbmcteSAkYnJlYWRjcnVtYi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXIteTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gU3VwcHJlc3MgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvciBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgY29udGVudDogXCIjeyRicmVhZGNydW1iLWRpdmlkZXJ9XCI7XG4gIH1cblxuICAvLyBJRTktMTEgaGFjayB0byBwcm9wZXJseSBoYW5kbGUgaHlwZXJsaW5rIHVuZGVybGluZXMgZm9yIGJyZWFkY3J1bWJzIGJ1aWx0XG4gIC8vIHdpdGhvdXQgYDx1bD5gcy4gVGhlIGA6OmJlZm9yZWAgcHNldWRvLWVsZW1lbnQgZ2VuZXJhdGVzIGFuIGVsZW1lbnRcbiAgLy8gKndpdGhpbiogdGhlIC5icmVhZGNydW1iLWl0ZW0gYW5kIHRoZXJlYnkgaW5oZXJpdHMgdGhlIGB0ZXh0LWRlY29yYXRpb25gLlxuICAvL1xuICAvLyBUbyB0cmljayBJRSBpbnRvIHN1cHByZXNzaW5nIHRoZSB1bmRlcmxpbmUsIHdlIGdpdmUgdGhlIHBzZXVkby1lbGVtZW50IGFuXG4gIC8vIHVuZGVybGluZSBhbmQgdGhlbiBpbW1lZGlhdGVseSByZW1vdmUgaXQuXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6ICRzcGFjZXIteTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCk7XG59XG5cbi5wYWdlLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1wYWRkaW5nLXkgJHBhZ2luYXRpb24tcGFkZGluZy14O1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWJnO1xuICBib3JkZXI6ICRwYWdpbmF0aW9uLWJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgfVxufVxuXG5cbi8vXG4vLyBTaXppbmdcbi8vXG5cbi5wYWdpbmF0aW9uLWxnIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZywgJHBhZ2luYXRpb24tcGFkZGluZy14LWxnLCAkZm9udC1zaXplLWxnLCAkbGluZS1oZWlnaHQtbGcsICRib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LXNtLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRsaW5lLWhlaWdodC1zbSwgJGJvcmRlci1yYWRpdXMtc20pO1xufVxuIiwiJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAwO1xuJHBhZ2luYXRpb24tYmc6IHRyYW5zcGFyZW50O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6IHRyYW5zcGFyZW50O1xuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6IDA7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206IDA7XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnBhZ2UtaXRlbSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBSZXF1aXJlcyBvbmUgb2YgdGhlIGNvbnRleHR1YWwsIGNvbG9yIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGBjb2xvcmAgYW5kXG4vLyBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbi50YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICR0YWctcGFkZGluZy15ICR0YWctcGFkZGluZy14O1xuICBmb250LXNpemU6ICR0YWctZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJHRhZy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkdGFnLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xuXG4gIC8vIEVtcHR5IHRhZ3MgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgdGFncyBpbiBidXR0b25zXG4uYnRuIC50YWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbi8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbmEudGFnIHtcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkdGFnLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLyBQaWxsIHRhZ3Ncbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLnRhZy1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJHRhZy1waWxsLXBhZGRpbmcteDtcbiAgcGFkZGluZy1sZWZ0OiAkdGFnLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0YWctcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgdGFncyBnZXQgZGFya2VyIG9uIDpob3ZlcikuXG5cbi50YWctZGVmYXVsdCB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctZGVmYXVsdC1iZyk7XG59XG5cbi50YWctcHJpbWFyeSB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctcHJpbWFyeS1iZyk7XG59XG5cbi50YWctc3VjY2VzcyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctc3VjY2Vzcy1iZyk7XG59XG5cbi50YWctaW5mbyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctaW5mby1iZyk7XG59XG5cbi50YWctd2FybmluZyB7XG4gIEBpbmNsdWRlIHRhZy12YXJpYW50KCR0YWctd2FybmluZy1iZyk7XG59XG5cbi50YWctZGFuZ2VyIHtcbiAgQGluY2x1ZGUgdGFnLXZhcmlhbnQoJHRhZy1kYW5nZXItYmcpO1xufVxuIiwiLy8gVGFnc1xuXG5AbWl4aW4gdGFnLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6ICRqdW1ib3Ryb24tcGFkZGluZyAoJGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1ociB7XG4gIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkanVtYm90cm9uLWJnLCAxMCUpO1xufVxuXG4uanVtYm90cm9uLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci15O1xuICBib3JkZXI6ICRhbGVydC1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGFsZXJ0LWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBIZWFkaW5ncyBmb3IgbGFyZ2VyIGFsZXJ0c1xuLmFsZXJ0LWhlYWRpbmcge1xuICAvLyBTcGVjaWZpZWQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuLmFsZXJ0LWxpbmsge1xuICBmb250LXdlaWdodDogJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG5cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkYWxlcnQtcGFkZGluZyArIDIwcHgpO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgc3R5bGVzXG4vL1xuLy8gR2VuZXJhdGUgY29udGV4dHVhbCBtb2RpZmllciBjbGFzc2VzIGZvciBjb2xvcml6aW5nIHRoZSBhbGVydC5cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1zdWNjZXNzLWJnLCAkYWxlcnQtc3VjY2Vzcy1ib3JkZXIsICRhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC13YXJuaW5nLWJnLCAkYWxlcnQtd2FybmluZy1ib3JkZXIsICRhbGVydC13YXJuaW5nLXRleHQpO1xufVxuLmFsZXJ0LWRhbmdlciB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LWRhbmdlci1iZywgJGFsZXJ0LWRhbmdlci1ib3JkZXIsICRhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRib2R5LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkYm9keS1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGFuaW1hdGlvbnNcbi8vXG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwYWNlci15IDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vL1xuLy8gQmFzaWMgcHJvZ3Jlc3MgYmFyXG4vL1xuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNwYWNlci15OyAvLyB0b2RvOiBtYWtlIGEgbmV3IHZhciBmb3IgdGhpc1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLXk7XG59XG4ucHJvZ3Jlc3NbdmFsdWVdIHtcbiAgLy8gU2V0IG92ZXJhbGwgYmFja2dyb3VuZFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIC8vIFJlbW92ZSBGaXJlZm94IGFuZCBPcGVyYSBib3JkZXJcbiAgYm9yZGVyOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC8vIFNldCBvdmVyYWxsIGJvcmRlciByYWRpdXNcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8vIEZpbGxlZC1pbiBwb3J0aW9uIG9mIHRoZSBiYXJcbi5wcm9ncmVzc1t2YWx1ZV06Oi1tcy1maWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgLy8gUmVtb3ZlIHJpZ2h0LWhhbmQgYm9yZGVyIG9mIHZhbHVlIGJhciBmcm9tIElFMTArL0VkZ2VcbiAgYm9yZGVyOiAwO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xufVxuLnByb2dyZXNzW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4vLyBUd2Vha3MgZm9yIGZ1bGwgcHJvZ3Jlc3MgYmFyXG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG59XG4ucHJvZ3Jlc3NbdmFsdWU9XCIxMDBcIl06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gVW5maWxsZWQgcG9ydGlvbiBvZiB0aGUgYmFyXG4ucHJvZ3Jlc3NbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuYmFzZTo6LW1vei1wcm9ncmVzcy1iYXIsIC8vIEFic3VyZC1idXQtc3ludGFjdGljYWxseS12YWxpZCBzZWxlY3RvciB0byBtYWtlIHRoZXNlIHN0eWxlcyBGaXJlZm94LW9ubHlcbi5wcm9ncmVzc1t2YWx1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLy8gSUU5IGhhY2tzIHRvIGFjY29tcGFueSBjdXN0b20gbWFya3VwLiBXZSBkb24ndCBuZWVkIHRvIHNjb3BlIHRoaXMgdmlhIG1lZGlhIHF1ZXJpZXMsIGJ1dCBJIGZlZWwgYmV0dGVyIGRvaW5nIGl0IGFueXdheS5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAucHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwcm9ncmVzcy1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbiAgfVxuICAucHJvZ3Jlc3MtYmFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkc3BhY2VyLXk7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlyZW07IC8vIFNpbXVsYXRlIGhpZGluZyBvZiB2YWx1ZSBhcyBpbiBuYXRpdmUgYDxwcm9ncmVzcz5gXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gIC5wcm9ncmVzc1t3aWR0aD1cIjEwMCVcIl0ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIFN0cmlwZWRcbi8vXG5cbi5wcm9ncmVzcy1zdHJpcGVkW3ZhbHVlXTo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLnByb2dyZXNzLXN0cmlwZWRbdmFsdWVdOjotbXMtZmlsbCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xufVxuLy8gSUU5XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkc3BhY2VyLXkgJHNwYWNlci15O1xuICB9XG59XG5cblxuLy9cbi8vIEFuaW1hdGVkXG4vL1xuXG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG59XG4ucHJvZ3Jlc3MtYW5pbWF0ZWRbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlO1xufVxuLy8gSUU5XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgLnByb2dyZXNzLWFuaW1hdGVkIC5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmFyaWF0aW9uc1xuLy9cblxuLnByb2dyZXNzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBwcm9ncmVzcy12YXJpYW50KCRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZyk7XG59XG4ucHJvZ3Jlc3MtaW5mbyB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cbi5wcm9ncmVzcy13YXJuaW5nIHtcbiAgQGluY2x1ZGUgcHJvZ3Jlc3MtdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuLnByb2dyZXNzLWRhbmdlciB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLXZhcmlhbnQoJHByb2dyZXNzLWJhci1kYW5nZXItYmcpO1xufVxuIiwiLy8gR3JhZGllbnRzXG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4vLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOVxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOS5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOVxufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xufVxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59IiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtdmFyaWFudCgkY29sb3IpIHtcbiAgJlt2YWx1ZV06Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICZbdmFsdWVdOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUUxMCssIE1pY3Jvc29mdCBFZGdlXG4gICZbdmFsdWVdOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLy8gSUU5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIC5wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICRlbmFibGUtZmxleCB7XG4gIC5tZWRpYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICB9XG4gIC5tZWRpYS1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC5tZWRpYS1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogJG1lZGlhLW1hcmdpbi10b3A7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5tZWRpYSxcbiAgLm1lZGlhLWJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLm1lZGlhLWJvZHkge1xuICAgIHdpZHRoOiAxMDAwMHB4O1xuICB9XG4gIC5tZWRpYS1sZWZ0LFxuICAubWVkaWEtcmlnaHQsXG4gIC5tZWRpYS1ib2R5IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLm1lZGlhLW1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAubWVkaWEtYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG59XG5cblxuLy9cbi8vIEltYWdlcy9lbGVtZW50cyBhcyB0aGUgbWVkaWEgYW5jaG9yXG4vL1xuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gRml4IGNvbGxhcHNlIGluIHdlYmtpdCBmcm9tIG1heC13aWR0aDogMTAwJSBhbmQgZGlzcGxheTogdGFibGUtY2VsbC5cbiAgJi5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vL1xuLy8gQWxpZ25tZW50XG4vL1xuXG4ubWVkaWEtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG4ubWVkaWEtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6ICRtZWRpYS1hbGlnbm1lbnQtcGFkZGluZy14O1xufVxuXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWEtaGVhZGluZy1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vXG4vLyBNZWRpYSBsaXN0IHZhcmlhdGlvblxuLy9cblxuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBAaW5jbHVkZSBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcblxuICAgICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIEBpbmNsdWRlIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvLyBSZXBlYXQgaGVyZSBiZWNhdXNlIGl0IGluaGVyaXRzIGdsb2JhbCBhOmhvdmVyIG90aGVyd2lzZVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGlzdC1ncm91cC1pdGVtLWhlYWRpbmctbWFyZ2luLWJvdHRvbTtcbn1cbi5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4iLCIvLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDsgLy8gI2ZmZlxuLy8kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgIDAgIWRlZmF1bHQ7IC8vICRib3JkZXItd2lkdGhcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgMCAhZGVmYXVsdDsgLy8gJGJvcmRlci1yYWRpdXNcbi8vXG4vLyRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG4vL1xuLy8kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kbGlzdC1ncm91cC1saW5rLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4vLyRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbi8vJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMjFieTkge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg5IC8gMjEpO1xufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDkgLyAxNik7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgzIC8gNCk7XG59XG5cbi5lbWJlZC1yZXNwb25zaXZlLTFieTEge1xuICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgxIC8gMSk7XG59XG4iLCIuY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuMjtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbmJ1dHRvbi5jbG9zZSB7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuLy8gc2Nzcy1saW50OmVuYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxufVxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLWxnKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93KTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZHJvcC1iZztcblxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XG4gICYuaW4geyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1tZDtcbiAgICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctc20tdXAtbWFyZ2luLXkgYXV0bztcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LXNtLXVwLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAubW9kYWwtbGcgeyBtYXgtd2lkdGg6ICRtb2RhbC1sZzsgfVxufVxuIiwiLy8gTW9kYWxzXG4kbW9kYWwtY29udGVudC14cy1ib3gtc2hhZG93OiAkYm1kLXNoYWRvdy0yNGRwICFkZWZhdWx0O1xuXG4vLyBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbi8vJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vXG4vLyRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4vLyRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuLy9cbi8vJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy9cbi8vJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC4yNiAhZGVmYXVsdDsgLy8gLjVcbi8vJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgI2U1ZTVlNSAhZGVmYXVsdDtcbi8vJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vL1xuLy8kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbi8vJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4vLyRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuIiwiLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIC8vIEFsbG93IGJyZWFraW5nIHZlcnkgbG9uZyB3b3JkcyBzbyB0aGV5IGRvbid0IG92ZXJmbG93IHRoZSB0b29sdGlwJ3MgYm91bmRzXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMDtcblxuICAmLmluIHsgb3BhY2l0eTogJHRvb2x0aXAtb3BhY2l0eTsgfVxuXG4gICYudG9vbHRpcC10b3AsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtYm90dG9tIHtcbiAgICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnRvb2x0aXAtYm90dG9tLFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXRvcCB7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47XG5cbiAgICAudG9vbHRpcC1hcnJvdyB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYudG9vbHRpcC1sZWZ0LFxuICAmLmJzLXRldGhlci1lbGVtZW50LWF0dGFjaGVkLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtbWFyZ2luO1xuXG4gICAgLnRvb2x0aXAtYXJyb3cge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy15ICR0b29sdGlwLXBhZGRpbmcteDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cbiIsIi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkcG9wb3Zlci1pbm5lci1wYWRkaW5nO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIEBpbmNsdWRlIHJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG5cbiAgLy8gUG9wb3ZlciBkaXJlY3Rpb25zXG5cbiAgJi5wb3BvdmVyLXRvcCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcblxuICAgIC5wb3BvdmVyLWFycm93IHtcbiAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucG9wb3Zlci1yaWdodCxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIG1hcmdpbi10b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWJvdHRvbSxcbiAgJi5icy10ZXRoZXItZWxlbWVudC1hdHRhY2hlZC10b3Age1xuICAgIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuXG4gICAgLnBvcG92ZXItYXJyb3cge1xuICAgICAgdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5wb3BvdmVyLWxlZnQsXG4gICYuYnMtdGV0aGVyLWVsZW1lbnQtYXR0YWNoZWQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG5cbiAgICAucG9wb3Zlci1hcnJvdyB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLXRpdGxlIHtcbiAgcGFkZGluZzogJHBvcG92ZXItdGl0bGUtcGFkZGluZy15ICRwb3BvdmVyLXRpdGxlLXBhZGRpbmcteDtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItdGl0bGUtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCBkYXJrZW4oJHBvcG92ZXItdGl0bGUtYmcsIDUlKTtcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6ICgkYm9yZGVyLXdpZHRoIC8gJGZvbnQtc2l6ZS1yb290KTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygoJGJvcmRlci1yYWRpdXMtbGcgLSAkb2Zmc2V0LWJvcmRlci13aWR0aCkgKCRib3JkZXItcmFkaXVzLWxnIC0gJG9mZnNldC1ib3JkZXItd2lkdGgpIDAgMCk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgcGFkZGluZzogJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXkgJHBvcG92ZXItY29udGVudC1wYWRkaW5nLXg7XG59XG5cblxuLy8gQXJyb3dzXG4vL1xuLy8gLnBvcG92ZXItYXJyb3cgaXMgb3V0ZXIsIC5wb3BvdmVyLWFycm93OjphZnRlciBpcyBpbm5lclxuXG4ucG9wb3Zlci1hcnJvdyB7XG4gICYsXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuLnBvcG92ZXItYXJyb3cge1xuICBib3JkZXItd2lkdGg6ICRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xufVxuLnBvcG92ZXItYXJyb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLXdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbn1cbiIsIi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IC5jYXJvdXNlbC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAuNnMgZWFzZS1pbi1vdXQgbGVmdDtcblxuICAgIC8vIEFjY291bnQgZm9yIGphbmtpdHVkZSBvbiBpbWFnZXNcbiAgICA+IGltZyxcbiAgICA+IGEgPiBpbWcge1xuICAgICAgQGV4dGVuZCAuaW1nLWZsdWlkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcblxuICAgICAgJi5uZXh0LFxuICAgICAgJi5hY3RpdmUucmlnaHQge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgfVxuICAgICAgJi5uZXh0LmxlZnQsXG4gICAgICAmLnByZXYucmlnaHQsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlLFxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gID4gLnByZXYge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLm5leHQubGVmdCxcbiAgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLmFjdGl2ZS5sZWZ0IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbn1cblxuXG4vL1xuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vL1xuXG4uY2Fyb3VzZWwtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogJGNhcm91c2VsLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICAvLyBXZSBjYW4ndCBoYXZlIHRoaXMgdHJhbnNpdGlvbiBoZXJlIGJlY2F1c2UgV2ViS2l0IGNhbmNlbHMgdGhlIGNhcm91c2VsXG4gIC8vIGFuaW1hdGlvbiBpZiB5b3UgdHJpcCB0aGlzIHdoaWxlIGluIHRoZSBtaWRkbGUgb2YgYW5vdGhlciBhbmltYXRpb24uXG5cbiAgLy8gU2V0IGdyYWRpZW50cyBmb3IgYmFja2dyb3VuZHNcbiAgJi5sZWZ0IHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC14KCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSwgJGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICBvcGFjaXR5OiAuOTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pY29uLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0oJGNhcm91c2VsLWljb24td2lkdGggLyAyKTtcbiAgICBmb250LWZhbWlseTogc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmljb24tcHJldiB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1pY29uLXdpZHRoIC8gMik7XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0oJGNhcm91c2VsLWljb24td2lkdGggLyAyKTtcbiAgfVxuXG4gIC5pY29uLXByZXYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzOVwiOy8vIFNJTkdMRSBMRUZULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwMzkpXG4gICAgfVxuICB9XG4gIC5pY29uLW5leHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAzYVwiOy8vIFNJTkdMRSBSSUdIVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDNBKVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcm91c2VsLWluZGljYXRvcnMtd2lkdGggLyAyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjYXJvdXNlbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBtYXJnaW46IDFweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBJRTkgaGFjayBmb3IgZXZlbnQgaGFuZGxpbmdcbiAgICAvL1xuICAgIC8vIEludGVybmV0IEV4cGxvcmVyIDkgZG9lcyBub3QgcHJvcGVybHkgaGFuZGxlIGNsaWNrcyBvbiBlbGVtZW50cyB3aXRoIGEgYGJhY2tncm91bmQtY29sb3JgIG9mIGB0cmFuc3BhcmVudGAsXG4gICAgLy8gc28gd2UgdXNlIGByZ2JhKDAsMCwwLDApYCBpbnN0ZWFkIHNpbmNlIGl0J3MgYSBub24tYnVnZ3kgZXF1aXZhbGVudC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhcm91c2VsLWluZGljYXRvci1zaXplO1xuICB9XG5cbiAgLmFjdGl2ZSB7XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLXNpemU7XG4gICAgaGVpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzLlxuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6ICgoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogJGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6ICRjYXJvdXNlbC10ZXh0LXNoYWRvdztcblxuICAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgLy8gTm8gc2hhZG93IGZvciBidXR0b24gZWxlbWVudHMgaW4gY2Fyb3VzZWwtY2FwdGlvblxuICB9XG59XG5cblxuLy9cbi8vIFJlc3BvbnNpdmUgdmFyaWF0aW9uc1xuLy9cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBTY2FsZSB1cCB0aGUgY29udHJvbHMgYSBzbWlkZ2VcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xuICAgIC5pY29uLXByZXYsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICAgIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0oJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZSAvIDIpO1xuICAgICAgZm9udC1zaXplOiAkY2Fyb3VzZWwtY29udHJvbC1zbS11cC1zaXplO1xuICAgIH1cbiAgICAuaWNvbi1wcmV2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtKCRjYXJvdXNlbC1jb250cm9sLXNtLXVwLXNpemUgLyAyKTtcbiAgICB9XG4gICAgLmljb24tbmV4dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0oJGNhcm91c2VsLWNvbnRyb2wtc20tdXAtc2l6ZSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICByaWdodDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGgpIC8gMik7XG4gICAgbGVmdDogKCgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24tc20tdXAtd2lkdGgpIC8gMik7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vL1xuXG4uYmctZmFkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVzdDtcbn1cblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctaW5mbycsICRicmFuZC1pbmZvKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXdhcm5pbmcnLCAkYnJhbmQtd2FybmluZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWludmVyc2UnLCAkYnJhbmQtaW52ZXJzZSk7XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIuY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuIiwiLy9cbi8vIERpc3BsYXkgdXRpbGl0aWVzXG4vL1xuXG4uZC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4uZC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cbi5kLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuIiwiLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBpZiAkZW5hYmxlLWZsZXgge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgIC8vIEZsZXggY29sdW1uIHJlb3JkZXJpbmdcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tbGFzdCB7IG9yZGVyOiAxOyB9XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS11bm9yZGVyZWQgeyBvcmRlcjogMDsgfVxuICAgIH1cblxuICAgIC8vIEFsaWdubWVudCBmb3IgZXZlcnkgaXRlbVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZmxleC1pdGVtcy0jeyRicmVha3BvaW50fS1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbm1lbnQgcGVyIGl0ZW1cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAuZmxleC0jeyRicmVha3BvaW50fS10b3AgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5mbGV4LSN7JGJyZWFrcG9pbnR9LW1pZGRsZSB7IGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgICAgLmZsZXgtI3skYnJlYWtwb2ludH0tYm90dG9tIHsgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cbiAgICB9XG5cbiAgICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBvZiBpdGVtXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tbGVmdCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LXJpZ2h0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgLmZsZXgtaXRlbXMtI3skYnJlYWtwb2ludH0tYXJvdW5kIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgIC5mbGV4LWl0ZW1zLSN7JGJyZWFrcG9pbnR9LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICB9XG4gIH1cbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAucHVsbC0jeyRicmVha3BvaW50fS1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIHB1bGwtbGVmdCgpO1xuICAgIH1cbiAgICAucHVsbC0jeyRicmVha3BvaW50fS1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBwdWxsLXJpZ2h0KCk7XG4gICAgfVxuICAgIC5wdWxsLSN7JGJyZWFrcG9pbnR9LW5vbmUge1xuICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZJWE1FOiBvbmx5IG5lY2Vzc2FyeSBiZWNhdXNlIHRoZXJlIGlzbid0IGFuIHVuZGVyc2NvcmVkIGZpbGUgLSBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODM1MFxuLy9AaW1wb3J0IFwiLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAvc2Nzcy9cbi8vQGltcG9ydCBcIi4uLy4uL2Jvb3RzdHJhcC9zY3NzL1xuXG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY3VzdG9tXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5cbi8vICM4NTMgc3RhcnQgLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk3Ni9maWxlc1xuLy8gaGFja1xuQG1peGluIHB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1peGluIHB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgQGlmICRlbmFibGUtZmxleCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbi8vICM4NTMgZW5kIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5NzYvZmlsZXNcblxuXG4vLyBSZXNldCBhbmQgZGVwZW5kZW5jaWVzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3Mvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvcHJpbnRcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9yZWJvb3RcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90eXBlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaW1hZ2VzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY29kZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90YWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mb3Jtc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Ryb3Bkb3duXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvaW5wdXQtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy90YWdzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvYWxlcnRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9tb2RhbFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9wb3BvdmVyXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvY2Fyb3VzZWxcIjtcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzXCI7XG4iLCIvL1xuLy8gU2NyZWVucmVhZGVyc1xuLy9cblxuLnNyLW9ubHkge1xuICBAaW5jbHVkZSBzci1vbmx5KCk7XG59XG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIHNyLW9ubHktZm9jdXNhYmxlKCk7XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50XG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG4iLCIvLyBXaWR0aFxuXG4udy0xMDAgeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIE1hcmdpbiBhbmQgUGFkZGluZ1xuXG4ubS14LWF1dG8ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6ICBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgQGVhY2ggJHNpemUsICRsZW5ndGhzIGluICRzcGFjZXJzIHtcbiAgICAkbGVuZ3RoLXg6ICAgbWFwLWdldCgkbGVuZ3RocywgeCk7XG4gICAgJGxlbmd0aC15OiAgIG1hcC1nZXQoJGxlbmd0aHMsIHkpO1xuXG4gICAgLiN7JGFiYnJldn0tYS0jeyRzaXplfSB7ICN7JHByb3B9OiAgICAgICAgJGxlbmd0aC15ICRsZW5ndGgteCAhaW1wb3J0YW50OyB9IC8vIGEgPSBBbGwgc2lkZXNcbiAgICAuI3skYWJicmV2fS10LSN7JHNpemV9IHsgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDsgfVxuICAgIC4jeyRhYmJyZXZ9LXItI3skc2l6ZX0geyAjeyRwcm9wfS1yaWdodDogICRsZW5ndGgteCAhaW1wb3J0YW50OyB9XG4gICAgLiN7JGFiYnJldn0tYi0jeyRzaXplfSB7ICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7IH1cbiAgICAuI3skYWJicmV2fS1sLSN7JHNpemV9IHsgI3skcHJvcH0tbGVmdDogICAkbGVuZ3RoLXggIWltcG9ydGFudDsgfVxuXG4gICAgLy8gQXhlc1xuICAgIC4jeyRhYmJyZXZ9LXgtI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tcmlnaHQ6ICAkbGVuZ3RoLXggIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWxlZnQ6ICAgJGxlbmd0aC14ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC4jeyRhYmJyZXZ9LXktI3skc2l6ZX0ge1xuICAgICAgI3skcHJvcH0tdG9wOiAgICAkbGVuZ3RoLXkgIWltcG9ydGFudDtcbiAgICAgICN7JHByb3B9LWJvdHRvbTogJGxlbmd0aC15ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvc2l0aW9uaW5nXG5cbi5wb3MtZi10IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcbn1cbiIsIi8vXG4vLyBUZXh0XG4vL1xuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4udGV4dC10cnVuY2F0ZSAgICAgICB7IEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7IH1cblxuLy8gUmVzcG9uc2l2ZSBhbGlnbm1lbnRcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0LSN7JGJyZWFrcG9pbnR9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dC0jeyRicmVha3BvaW50fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuLnRleHQtY2FwaXRhbGl6ZSAgICAgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbm9ybWFsICB7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbi5mb250LXdlaWdodC1ib2xkICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtbXV0ZWQnLCAkdGV4dC1tdXRlZCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1zdWNjZXNzJywgJGJyYW5kLXN1Y2Nlc3MpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkYnJhbmQtaW5mbyk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRicmFuZC13YXJuaW5nKTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1kYW5nZXInLCAkYnJhbmQtZGFuZ2VyKTtcblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn0iLCIvLyBUeXBvZ3JhcGh5XG5cbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZVxuXG4vL1xuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vXG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IHV0aWxpdGllc1xuXG5AZWFjaCAkYnAgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgLmhpZGRlbi0jeyRicH0tdXAge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbi1wcmludCB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCJib2R5IHtcbiAgZm9udC13ZWlnaHQ6ICRibWQtZm9udC13ZWlnaHQtYmFzZTtcbn1cblxuYSB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IC8vIHJlbW92ZSB0aGUgdGVycmlibGUgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gIH1cbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgLy9vdXRsaW5lOiAxcHggZG90dGVkO1xuICAvL291dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbn1cblxuXG4vLy8vIFByZXZlbnQgaGlnaGxpZ2h0IG9uIG1vYmlsZVxuLy8qIHtcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJHdoaXRlLCAwKTtcbi8vICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuLy8gICY6Zm9jdXMge1xuLy8gICAgb3V0bGluZTogMDtcbi8vICB9XG4vL31cbiIsIi8vIEZJWE1FOiByZS1leGFtaW5lIG9yZ2FuaXphdGlvbiBvZiB2YXJpYWJsZXMsIGZpbGVzLCBvcmRlcmluZyBldGMuICBXaGlsZSB0aGUgb3JkZXJpbmcgd29ya3MsIHdlIG5lZWQgdG8gYmUgc3VyZSB0aGlzIGlzIG1vcmUgY29tcHJlaGVuc2libGUuXG5AaW1wb3J0IFwidmFyaWFibGVzL2NvbG9yc1wiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9zaGFkb3dcIjtcblxuLy8gcmVkZWZpbmUgPyBUT0RPOiBkbyB3ZSBuZWVkIHRoaXMgYm1kIHZhcmlhbnQ/ICBUaGlzIGlzIHVzZWQgYXMgJGJvZHktY29sb3JcbiRncmF5LWxpZ2h0ZXI6IHJnYmEoJGJsYWNrLCAwLjEyKSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiByZ2JhKCRibGFjaywgMC4yNikgIWRlZmF1bHQ7XG4kZ3JheTogcmdiYSgkYmxhY2ssIC41NCkgIWRlZmF1bHQ7IC8vIHNwZWMgY29sb3JcbiRncmF5LWRhcms6IHJnYmEoJGJsYWNrLCAwLjg3KSAhZGVmYXVsdDsgICAvLyB1c2VkIGZvciB0ZXh0IGNvbG9yIC0gb3RoZXJzIHVzZSBncmV5LTYwMCB3aGljaCBpcyBjb25zaWRlcmFibHkgbGlnaHRlclxuXG4kYm1kLWZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcblxuLy8gd29uZGVyaW5nIGlmIGFueSBvZiB0aGVzZSBjb3VsZCBzdGlsbCBiZSByZWZhY3RvcmVkIG91dCwgYnV0IGFyZSBkZWZpbml0ZWx5IGluIHVzZS5cbiRibWQtaW52ZXJzZTogcmdiYSgkd2hpdGUsIDEpICFkZWZhdWx0O1xuJGJtZC1pbnZlcnNlLWxpZ2h0OiByZ2JhKCR3aGl0ZSwgMC44NCkgIWRlZmF1bHQ7XG4kYm1kLWludmVyc2UtbGlnaHRlcjogcmdiYSgkd2hpdGUsIDAuNTQpICFkZWZhdWx0O1xuXG4kYm1kLWxhYmVsLWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibWQtbGFiZWwtY29sb3ItaW5uZXItZm9jdXM6ICRncmF5ICFkZWZhdWx0OyAvLyBlLmcuIHJhZGlvIGxhYmVsIG9yIHRleHQtbXV0ZWQgbm90IGEgY29udHJvbC1sYWJlbCB3aGljaCBpcyBwcmltYXJ5XG5cbi8vIEN1c3RvbWl6ZWQgQlMgdmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jb21wb25lbnRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jdXN0b20tZm9ybXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL3NwYWNpbmdcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2JvZHlcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2JyYW5kXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9idXR0b25zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jYXJkXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2Jvb3RzdHJhcC9kcm9wZG93blwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvZm9ybXNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL25hdlwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy9ib290c3RyYXAvc3RhdGVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL3R5cGVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvYm9vdHN0cmFwL21vZGFsc1wiO1xuXG4vLyBpbXBvcnQgdGhlaXIgdmFycyBhZnRlciBjdXN0b21pemF0aW9uIGZvciB1c2UgYmVsb3dcbiRlbmFibGUtZmxleDogdHJ1ZTsgICAgIC8vIGZ1bGx5IGFkb3B0IGZsZXhib3ggbGF5b3V0c1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlOyAgLy8gZW5hYmxlIHNoYWRvd3MsIHNldCB0byBmYWxzZSB0byB0dXJuIG9mZiBzaGFkb3dzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7IC8vIGZyb20gYm9vdHN0cmFwIG5vZGVfbW9kdWxlXG5cblxuLy9cbkBpbXBvcnQgXCJ2YXJpYWJsZXMvbGF5b3V0XCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL21lbnVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvZHJhd2VyXCI7XG5cbiRibWQtbGFiZWwtY29sb3ItZm9jdXM6ICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtaW52YWxpZC11bmRlcmxpbmU6ICAkcmVkLWE3MDAgIWRlZmF1bHQ7XG4kYm1kLXJlYWRvbmx5LXVuZGVybGluZTogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS1cbi8vIHZlcmlmaWVkIGluIHVzZSB3aXRoIHJlZmFjdG9yaW5nIHRvIHY0XG5cbi8vLS0tXG4vLy0tIHVudmVyaWZpZWQgYmVsb3cgaGVyZVxuJGJtZC1icmFuZC1pbnZlcnNlOiAkaW5kaWdvICFkZWZhdWx0O1xuLy8gVHlwb2dyYXBoeSBlbGVtZW50cyBGSVhNRTogcmV2aWV3IHRvIHNlZSBpZiB3ZSBhY3R1YWxseSBuZWVkIHRoZXNlXG4kaWNvbi1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cblxuLy8tLS1cbi8vIEZJWE1FOiBTaW1pbGFyIGJ1dCBub3QgcXVpdGUgdGhlIHNhbWUgYXMgQm9vdHN0cmFwIHZhcmlhYmxlc1xuLy8gRklYTUU6IHRoZXNlIG5lZWQgdG8gZWl0aGVyIGEpIGJlIGNvbnZlcnRlZCB0byAkYm1kLSBvciBiKSBjb252ZXJ0ZWQgdG8gYnMgdmFyaWFibGVzXG4vLy0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaW5wdXRzXG4kYm1kLWJtZC1sYWJlbC1zdGF0aWMtc2l6ZS1yYXRpbzogNzUgLyAxMDAgIWRlZmF1bHQ7XG4kYm1kLWhlbHAtc2l6ZS1yYXRpbzogNzUgLyAxMDAgIWRlZmF1bHQ7XG5cbi8vJGJtZC1mb3JtLWNvbnRyb2wtYmctcmVwZWF0LXk6IHJlcGVhdC15ICFkZWZhdWx0OyAvLyBpdCBjb3VsZCB3b3JrIHdpdGggbm8tcmVwZWF0LCBidXQgb24gU2FmYXJpIGl0J3MgYnVnZ2VkIGFuZCByZXBlYXQteSBpcyBuZWVkZWQsIGJ1dCByZXBlYXQteSBpcyBidWdnZWQgb24gdGhlIHdhcm5pbmcgaWNvbi5cbiRibWQtZm9ybS1jb250cm9sLWJnLXJlcGVhdC15OiBuby1yZXBlYXQgIWRlZmF1bHQ7XG4kYm1kLWZvcm0tY29udHJvbC1iZy1wb3NpdGlvbjogY2VudGVyIGJvdHRvbSwgY2VudGVyIGNhbGMoMTAwJSAtIDFweCkgIWRlZmF1bHQ7XG4kYm1kLWZvcm0tY29udHJvbC1iZy1zaXplOiAwIDEwMCUsIDEwMCUgMTAwJSAhZGVmYXVsdDtcbiRibWQtZm9ybS1jb250cm9sLWJnLXNpemUtYWN0aXZlOiAxMDAlIDEwMCUsIDEwMCUgMTAwJSAhZGVmYXVsdDtcblxuLy8gZXhwYW5kYWJsZVxuJGlucHV0LXRleHQtYnV0dG9uLXNpemU6IDMycHggIWRlZmF1bHQ7XG5cbi8vIHNpemluZ1xuJGJtZC1mb3JtLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1iYXNlOiAxcmVtICFkZWZhdWx0O1xuXG4kYm1kLWZvcm0tbGluZS1oZWlnaHQtbGc6ICAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1sZzogMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuXG4kYm1kLWZvcm0tbGluZS1oZWlnaHQtc206ICAxICFkZWZhdWx0OyAvLyBzZXQgYXMgMXggZm9udC1zaXplIHNvIHRoYXQgcGFkZGluZyBpcyBlYXNpZXIgY2FsY3VsYXRlZCB0byBtYXRjaCB0aGUgc3BlYy5cbiRibWQtbGFiZWwtdG9wLW1hcmdpbi1zbTogLjc1cmVtICFkZWZhdWx0OyAvLyAxMnB4XG5cbiR0ZXh0LWRpc2FibGVkOiAjYThhOGE4ICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGlzYWJsZWQ6ICNlYWVhZWEgIWRlZmF1bHQ7XG5cbi8vIENoZWNrYm94ZXNcbiRibWQtY2hlY2tib3gtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtYW5pbWF0aW9uLXJpcHBsZTogNTAwbXMgIWRlZmF1bHQ7XG4kYm1kLWNoZWNrYm94LWFuaW1hdGlvbi1jaGVjazogMC4zcyAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtY2hlY2tlZC1jb2xvcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm1kLWNoZWNrYm94LWxhYmVsLXBhZGRpbmc6IC4zMTI1cmVtICFkZWZhdWx0OyAvLyA1cHhcblxuJGJtZC1jaGVja2JveC1ib3JkZXItc2l6ZTogLjEyNXJlbSAhZGVmYXVsdDtcbiRibWQtY2hlY2tib3gtYm9yZGVyLWNvbG9yOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzICFkZWZhdWx0O1xuJGJtZC1jaGVja2JveC1ib3JkZXItY29sb3ItZGlzYWJsZWQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0OyAvLyNiZGJkYmQgIWRlZmF1bHQ7XG5cbi8vIFN3aXRjaGVzXG4kYm1kLXN3aXRjaC1sYWJlbC1wYWRkaW5nOiAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gNXB4XG4kYm1kLXN3aXRjaC13aWR0aDogMi4xMjVyZW0gIWRlZmF1bHQ7IC8vIDM0cHhcbiRibWQtc3dpdGNoLWhlaWdodDogLjg3NXJlbSAhZGVmYXVsdDsgLy8gMTRweFxuJGJtZC1zd2l0Y2gtaGFuZGxlLXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7IC8vIDIwcHggKHdhcyAxOHB4KVxuXG4kYm1kLXN3aXRjaC1oYW5kbGUtY2hlY2tlZC1iZzogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYm1kLXN3aXRjaC1oYW5kbGUtdW5jaGVja2VkLWJnOiAjZjFmMWYxICFkZWZhdWx0O1xuJGJtZC1zd2l0Y2gtaGFuZGxlLWRpc2FibGVkLWJnOiAjYmRiZGJkICFkZWZhdWx0O1xuJGJtZC1zd2l0Y2gtdW5jaGVja2VkLWJnOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRibWQtc3dpdGNoLWNoZWNrZWQtYmc6IGRlc2F0dXJhdGUobGlnaHRlbigkYm1kLXN3aXRjaC1oYW5kbGUtY2hlY2tlZC1iZywgMjglKSwgMzIlKTsgLy8ga2luZCBvZiBtYWdpYyByZWNpcGVcbiRibWQtc3dpdGNoLWRpc2FibGVkLWJnOiAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4vLyBQb3BvdmVycyBhbmQgUG9wdXBzXG4kYm1kLXBvcG92ZXItYmFja2dyb3VuZDogcmdiYSgxMDEsIDEwMSwgMTAxLCAwLjkpICFkZWZhdWx0O1xuJGJtZC1wb3BvdmVyLWNvbG9yOiAjZWNlY2VjICFkZWZhdWx0O1xuXG4vLyBSYWRpbzpcbiRibWQtcmFkaW8tYm9yZGVyOiAuMTI1cmVtICFkZWZhdWx0OyAvLyAycHhcbiRibWQtcmFkaW8tc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRibWQtcmFkaW8tcmlwcGxlLW9mZnNldDogMWVtICFkZWZhdWx0O1xuJGJtZC1yYWRpby1sYWJlbC1wYWRkaW5nOiAuMzEyNXJlbSAhZGVmYXVsdDsgLy8gNXB4XG5cbiRibWQtcmFkaW8tY29sb3Itb2ZmOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzICFkZWZhdWx0OyAgLy8gRklYTUUgc2VlbXMgaW5jb25zaXN0ZW50LCBjaGVjayBzcGVjXG4kYm1kLXJhZGlvLWNvbG9yLW9uOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRibWQtcmFkaW8tY29sb3ItZGlzYWJsZWQ6ICRncmF5LWxpZ2h0OyAvLyBsaWdodCB0aGVtZSBzcGVjOiBEaXNhYmxlZDogIzAwMDAwMCwgT3BhY2l0eSAgMjYlXG4kYm1kLXJhZGlvLWNvbG9yLWRpc2FibGVkLWludmVyc2U6ICByZ2JhKCR3aGl0ZSwgMC4zMCk7IC8vIGRhcmsgdGhlbWUgc3BlYzogRGlzYWJsZWQ6ICNGRkZGRkYsIE9wYWNpdHkgIDMwJVxuXG4vLyBBbmltYXRpb25zXG4kYm1kLWFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJGJtZC1hbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSAhZGVmYXVsdDtcbiRibWQtYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LWxpbmVhci1pbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSkgIWRlZmF1bHQ7XG4kYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0OiAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluICFkZWZhdWx0O1xuIiwiLy8gVGhpcyBpcyBhIHNldCBvZiBmbGV4LWJhc2VkIGxheW91dCBjb250YWluZXJzIG5lY2Vzc2FyeSBmb3IgY29tcG9uZW50cyBzdWNoIGFzIHRoZSBkcmF3ZXIuXG4vLyAgSXQgYWxsb3dzIGZvciBmbGV4IGJhc2VkIHBvc2l0aW9uaW5nIHN1Y2ggYXMgc3RpY2t5IGhlYWRlciBhbmQgZm9vdGVyIGluc2lkZSBhbiBibWQtbGF5b3V0LCB3aXRoIGFcbi8vICBibWQtbGF5b3V0LWNvbnRlbnQgdGhhdCBzY3JvbGxzLlxuXG4vLyBtb2JpbGUgd2Via2l0IHNtb290aCBzY3JvbGxpbmc6IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE1MTQ3NDk3LzIzNjM5MzVcblxuLy8gRmlyc3QgZWxlbWVudFxuLmJtZC1sYXlvdXQtY2FudmFzIHsgLy8gYWRkZWQgYnkganM/XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLy8gUHJpbWFyeSBsYXlvdXQgY29udGFpbmVyLCBiZWxvbmdzIGluc2lkZSBhIGJtZC1sYXlvdXQtY2FudmFzLlxuLmJtZC1sYXlvdXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyAvLyBhbGxvd3MgZm9yIHN0aWNreSBoZWFkZXIgYW5kIGZvb3RlclxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLy8gbW9iaWxlIHdlYmtpdCBzbW9vdGggc2Nyb2xsaW5nXG59XG5cbi8vIEhlYWRlciBsYXlvdXQgKGZpeGVkIHRvcCksIGJlbG9uZ3MgaW4gYSBibWQtbGF5b3V0LWNvbnRhaW5lclxuLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgLy8gc2luY2UgdGhpcyBpcyBhIGNvbHVtbiwgaXQgaXMgbmVjZXNzYXJ5IHRoYXQgc29tZXRoaW5nIGxpa2UgYW4gYWN0dWFsIG5hdmJhciBpcyBhIGNoaWxkXG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IC8vIG1vYmlsZSB3ZWJraXQgc21vb3RoIHNjcm9sbGluZ1xuICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xufVxuXG4vLyBDb250ZW50IGxheW91dCwgYmVsb25ncyBpbiBhIGJtZC1sYXlvdXQtY29udGFpbmVyXG4uYm1kLWxheW91dC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB1bmRlciBhIGhlYWRlclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8vLW1zLWZsZXg6IDAgMSBhdXRvOyAvLyBGaXggSUUxMCBidWcuXG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvOyAvLyBtb2JpbGUgd2Via2l0IHNtb290aCBzY3JvbGxpbmcgbWF5IG5lZWQgc2Nyb2xsLCBidXQgYXV0byBzZWVtcyB0byBiZSB3b3JraW5nIGFuZCBvbWl0cyB0aGUgc2Nyb2xsIGJvcmRlclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IC8vIG1vYmlsZSB3ZWJraXQgc21vb3RoIHNjcm9sbGluZ1xuICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xufVxuXG4vLyBQdXNoZXMgZmxleC1iYXNlZCBjb250ZW50IHRvIHRoZSBvdGhlciBlbmQgKHggb3IgeSlcbi5ibWQtbGF5b3V0LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLy8gQmFja2Ryb3AgLSBnZW5lcmljIGJhY2tkcm9wIHRvIGJlIHVzZWQgYnkgb3RoZXIgY29tcG9uZW50cyBpLmUuIGRyYXdlciBpbiBvdmVybGF5IG1vZGVcbi5ibWQtbGF5b3V0LWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KCk7XG5cbiAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC8vIE5PVEU6IHRoZSAmLmluIHN0eWxlIGlzIHJlc3BvbnNpdmUsIGdlbmVyYXRlZCBieSBAbWl4aW4gYm1kLWxheW91dC1iYWNrZHJvcC1pbigpIHdoZXJlIG5lZWRlZC5cbn1cbiIsIi8vIEFuaW1hdGlvbnMgKGZyb20gbWRsIGh0dHA6Ly93d3cuZ2V0bWRsLmlvLylcblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRibWQtYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW47XG59XG5cbkBtaXhpbiBtYXRlcmlhbC1hbmltYXRpb24tbGluZWFyLW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRibWQtYW5pbWF0aW9uLWN1cnZlLWxpbmVhci1vdXQtc2xvdy1pbjtcbn1cblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1saW5lYXItaW4oJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJtZC1hbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluO1xufVxuXG5AbWl4aW4gbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGJtZC1hbmltYXRpb24tY3VydmUtZGVmYXVsdDtcbn1cbiIsIi8vIHNwZWNpZmljYXRpb246IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9idXR0b25zLmh0bWxcblxuLy8gYm1kIGRlZmF1bHQgYnV0dG9ucyBhcmUgZmxhdCBieSBkZWZhdWx0XG4uYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkYm1kLWJ0bi1tYXJnaW4tYm90dG9tOyAvLyBqdXN0IGVub3VnaCByb29tIHNvIHRoYXQgZm9jdXMgc2hhZG93cyBhcmVuJ3QgY292ZXJlZCB1cFxuICBmb250LXNpemU6ICRibWQtYnRuLWZvbnQtc2l6ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgJGJtZC1hbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJGJtZC1hbmltYXRpb24tY3VydmUtZGVmYXVsdCwgY29sb3IgMC4ycyAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtO1xuXG4gIEBpbmNsdWRlIHVuZG8tYnMtdGFiLWZvY3VzKCk7XG5cbiAgLy8tLVxuICAvLyBDb2xvcnNcblxuICAvLyBmbGF0IHJlbW92ZXMgYmcsIGFkZCBjb2xvciB2YXJpYXRpb25zIHRvIHRleHRcbiAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLWNvbG9yKCk7XG5cbiAgLy8gZmFiIGFuZCByYWlzZWRcbiAgLy8gIC0gY29sb3JlZCwgYWRkIHRoZWlyIHRleHQgYW5kIGJnXG4gIC8vICAtIGhvdmVyIGNvbG9yIGNvbnRyYXN0ZWRcbiAgLy8gIC0gc2hhcmVkIHNoYWRvdyBzdGF0ZSBvbiBob3Zlci9hY3RpdmUvZm9jdXNcbiAgJi5ibWQtYnRuLWZhYixcbiAgJi5idG4tcmFpc2VkLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAmIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi1jb2xvcigpO1xuXG4gICAgLy8gZW5sYXJnZWQgc2hhZG93IG9uIGhvdmVyLCBmb2N1c1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzKCkge1xuICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIHotaW5kZXg6IDE7IC8vIGFkZCB0byB0aGUgei1pbmRleCBzbyB0aGF0IHRoZSBleHBhbmRlZCBzaGFkb3cgaXMgYWJvdmUgYW55dGhpbmcgYmVsb3cgaXQgaS5lLiBhbm90aGVyIGJ1dHRvblxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy00ZHApO1xuICAgIH1cblxuICAgIC8vIDphY3RpdmUgLSBtb21lbnRhcnkgcHJlc3M6IGJpZyBzaGFkb3csIHJlbGVhc2UgYW5kIGl0IGlzIGdvbmVcbiAgICAvLyAuYWN0aXZlIC0gcGVyc2lzdGVudCBiaWcgc2hhZG93XG4gICAgJi5hY3RpdmUsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMTsgLy8gYWRkIHRvIHRoZSB6LWluZGV4IHNvIHRoYXQgdGhlIGV4cGFuZGVkIHNoYWRvdyBpcyBhYm92ZSBhbnl0aGluZyBiZWxvdyBpdCBpLmUuIGFub3RoZXIgYnV0dG9uXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LWZvY3VzKTtcbiAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIC8vLS0tXG4gIC8vIGJ0bi1yYWlzZWRcbiAgJi5idG4tcmFpc2VkLFxuICAuYnRuLWdyb3VwLXJhaXNlZCAmIHtcblxuICAgIC8vIGJhc2VsaW5lIHNoYWRvd1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGJtZC1zaGFkb3ctMmRwKTtcblxuICAgIC8vIHJldmVyc2UgYW55IG9mIHRoZSBhYm92ZSBmb3IgbGlua3NcbiAgICAmLmJ0bi1saW5rIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBibWQtaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJtZC1kaXNhYmxlZCgpIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8tLS1cbiAgLy8gYnRuLW91dGxpbmVcbiAgQGluY2x1ZGUgYm1kLW91dGxpbmUtYnV0dG9uLWNvbG9yKCk7XG5cbiAgLy8gaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL2J1dHRvbnMtZmxvYXRpbmctYWN0aW9uLWJ1dHRvbi5odG1sXG4gICYuYm1kLWJ0bi1mYWIsXG4gICYuYm1kLWJ0bi1pY29uIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgLmJ0bi1ncm91cC1sZyAmLFxuICAgIC5idG4tZ3JvdXAtc20gJixcbiAgICAmIHtcbiAgICAgIHBhZGRpbmc6IDA7IC8vIG5lZWQgc3BlY2lmaWNpdHlcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogJGJtZC1idG4tZmFiLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYm1kLWJ0bi1mYWItZm9udC1zaXplO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSgkYm1kLWJ0bi1mYWItZm9udC1zaXplIC8gMiksIC0oJGJtZC1idG4tZmFiLWZvbnQtc2l6ZSAvIDIpKTtcbiAgICB9XG4gIH1cblxuICAmLmJtZC1idG4tZmFiIHtcbiAgICAvLyBzZWUgYWJvdmUgZm9yIGNvbG9yIHZhcmlhdGlvbnNcbiAgICB3aWR0aDogJGJtZC1idG4tZmFiLXNpemU7XG4gICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1mYWItc2l6ZTtcbiAgICBoZWlnaHQ6ICRibWQtYnRuLWZhYi1zaXplO1xuICAgIC8vbWFyZ2luOiBhdXRvO1xuICAgIC8vbWFyZ2luOiAycHg7IC8vIHVzZSB6LWluZGV4IGZvY3VzL2hvdmVyL2FjdGl2ZSBpbnN0ZWFkLiBUaGlzIGlzIG5vdCBjYWxsZWQgZm9yIGluIHRoZSBzcGVjLCBidXQgaXQgZW5zdXJlcyByb29tIGZvciB0aGUgYm94LXNoYWRvdywgd2hpY2ggaXMgbmljZSB0byBoYXZlLlxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDEuNXB4IDAgJGdyYXktbGlnaHRlciwgMCAxcHggMXB4IDAgJGdyYXktbGlnaHQ7XG5cbiAgICAucmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgJi5ibWQtYnRuLWZhYi1zbSxcbiAgICAuYnRuLWdyb3VwLXNtICYge1xuICAgICAgd2lkdGg6ICRibWQtYnRuLWZhYi1zaXplLXNtO1xuICAgICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1mYWItc2l6ZS1zbTtcbiAgICAgIGhlaWdodDogJGJtZC1idG4tZmFiLXNpemUtc207XG4gICAgICAvL21hcmdpbjogMXB4OyAvLyB1c2Ugei1pbmRleCBmb2N1cy9ob3Zlci9hY3RpdmUgaW5zdGVhZC4gVGhpcyBpcyBub3QgY2FsbGVkIGZvciBpbiB0aGUgc3BlYywgYnV0IGl0IGVuc3VyZXMgcm9vbSBmb3IgdGhlIGJveC1zaGFkb3csIHdoaWNoIGlzIG5pY2UgdG8gaGF2ZS5cblxuICAgICAgLy8ubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgLy8gIHRvcDogKCRibWQtYnRuLWljb24tc2l6ZS1zbSAtICRibWQtYnRuLWZhYi1mb250LXNpemUpIC8gMjtcbiAgICAgIC8vICBsZWZ0OiAoJGJtZC1idG4taWNvbi1zaXplLXNtIC0gJGJtZC1idG4tZmFiLWZvbnQtc2l6ZSkgLyAyO1xuICAgICAgLy99XG4gICAgfVxuICB9XG5cbiAgLy8gSWNvbiBidXR0b25zXG4gICYuYm1kLWJ0bi1pY29uIHtcbiAgICB3aWR0aDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIG1pbi13aWR0aDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIGhlaWdodDogJGJtZC1idG4taWNvbi1zaXplO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICYuYm1kLWJ0bi1pY29uLXNtLFxuICAgIC5idG4tZ3JvdXAtc20gJiB7XG4gICAgICB3aWR0aDogJGJtZC1idG4taWNvbi1zaXplLXNtO1xuICAgICAgbWluLXdpZHRoOiAkYm1kLWJ0bi1pY29uLXNpemUtc207XG4gICAgICBoZWlnaHQ6ICRibWQtYnRuLWljb24tc2l6ZS1zbTtcbiAgICAgIGZvbnQtc2l6ZTogJGJtZC1idG4taWNvbi1mb250LXNpemUtc207XG5cbiAgICAgIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIC8vJHBvc2l0aW9uOiAoJGJtZC1idG4taWNvbi1zaXplLXNtIC0gJGJtZC1idG4taWNvbi1mb250LXNpemUtc20pIC8gMjtcbiAgICAgICAgLy90b3A6ICRwb3NpdGlvbjtcbiAgICAgICAgLy9sZWZ0OiAkcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiAkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTtcbiAgICAgICAgZm9udC1zaXplOiAkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0oJGJtZC1idG4taWNvbi1mb250LXNpemUtc20gLyAyKSwgLSgkYm1kLWJ0bi1pY29uLWZvbnQtc2l6ZS1zbSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBbGlnbiBpY29ucyBpbnNpZGUgYnV0dG9ucyB3aXRoIHRleHRcbiAgLm1hdGVyaWFsLWljb25zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAtMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxuXG4gIC8vIFNpemUgdmFyaWF0aW9uc1xuICAmLmJ0bi1sZyxcbiAgLmJ0bi1ncm91cC1sZyAmIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRibWQtYnRuLWZvbnQtc2l6ZS1sZywgJGJ0bi1ib3JkZXItcmFkaXVzLWxnKTtcbiAgfVxuICAmLmJ0bi1zbSxcbiAgLmJ0bi1ncm91cC1zbSAmIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRibWQtYnRuLWZvbnQtc2l6ZS1zbSwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtKTtcbiAgICBmb250LXNpemU6ICRibWQtYnRuLWZvbnQtc2l6ZS1zbTtcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBidXR0b25zIGFuZCBidXR0b24gZ3JvdXBzXG4uYnRuLFxuLmlucHV0LWdyb3VwLWJ0biAuYnRuLFxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICAvLyBoYXZlIHRvIHJhdGNoZXQgdXAgdGhlIHNwZWNpZmljaXR5IHRvIGtpbGwgZHJvcCBzaGFkb3dzIG9uIGRpc2FibGVkIHJhaXNlZCBidXR0b25zXG4gIEBpbmNsdWRlIGJtZC1kaXNhYmxlZCgpIHtcbiAgICBjb2xvcjogJGJtZC1idG4tZGlzYWJsZWQ7XG4gICAgLmJnLWludmVyc2UgJiB7XG4gICAgICBjb2xvcjogJGJtZC1pbnZlcnNlLWJ0bi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBmbGF0IGJ1dHRvbnMgc2hvdWxkbid0IGxvc2UgdHJhbnNwYXJlbmN5IG9uIGRpc2FibGVkIGhvdmVyL2ZvY3VzXG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIGJ0bi1ncm91cCB2YXJpYXRpb25zXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMXB4O1xuXG4gIC8vIHNwZWM6IGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9idXR0b25zLmh0bWwjYnV0dG9ucy10b2dnbGUtYnV0dG9uc1xuICAvLyYub3BlbiB7XG4gIC8vICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gIH1cbiAgLy9cbiAgLy8gID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4ge1xuICAvLyAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi1jb2xvci1iZygpO1xuICAvLyAgfVxuICAvL31cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRib3JkZXItcmFkaXVzICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgJi5idG4tZ3JvdXAtcmFpc2VkIHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LTJkcCk7XG4gIH1cblxuICAuYnRuICsgLmJ0bixcbiAgLmJ0bixcbiAgLmJ0bjphY3RpdmUsXG4gIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIHJlbW92ZSBtYXJnaW4gZnJvbSBuZXN0ZWQgYnRuLWdyb3VwKHMpIHRvIHByb3Blcmx5IGFsaWduIHRoZW0gd2l0aCB0aGUgb3V0ZXIgYnV0dG9uc1xuICA+IC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLy8gZnJvbSBicyBtaXhpbnMvYnV0dG9ucyBidXR0b24tdmFyaWFudFxuQG1peGluIGJtZC1idXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkZm9jdXMtYmFja2dyb3VuZCwgJGFjdGl2ZS1iYWNrZ3JvdW5kLCAkYm9yZGVyLCAkZm9jdXMtYm9yZGVyLCAkYWN0aXZlLWJvcmRlcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9jdXMtYm9yZGVyO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGZvY3VzLWJvcmRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIHdoZW4gaXQgaXMgYW4gaWNvbiwga2lsbCB0aGUgYWN0aXZlIGJnIG9uIG9wZW4gZHJvcGRvd24sIGJ1dCBzdGFiaWxpemUgb24gaG92ZXJcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZS5ibWQtYnRuLWljb24ge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gbGVhdmUgaG92ZXIgb24gd2l0aCB0aGUgbGlnaHRlciBmb2N1cyBjb2xvclxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvY3VzLWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KFxuICAkY29sb3IsXG4gICRib3JkZXI6ICRibWQtYnRuLWJvcmRlcixcbiAgJGZvY3VzLWJvcmRlcjogJGJtZC1idG4tZm9jdXMtYmcsXG4gICRhY3RpdmUtYm9yZGVyOiAkYm1kLWJ0bi1hY3RpdmUtYmdcbikge1xuXG4gICRiYWNrZ3JvdW5kOiAkYm1kLWJ0bi1iZztcbiAgJGZvY3VzLWJhY2tncm91bmQ6ICRibWQtYnRuLWZvY3VzLWJnO1xuICAkYWN0aXZlLWJhY2tncm91bmQ6ICRibWQtYnRuLWFjdGl2ZS1iZztcblxuICBAaW5jbHVkZSBibWQtYnV0dG9uLXZhcmlhbnQoJGNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLFxuICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICRhY3RpdmUtYmFja2dyb3VuZCxcbiAgICAkYm9yZGVyLFxuICAgICRmb2N1cy1ib3JkZXIsXG4gICAgJGFjdGl2ZS1ib3JkZXIpO1xuXG4gIC8vIGludmVyc2UgY29sb3Igc2NoZW1lXG4gIC5iZy1pbnZlcnNlICYge1xuICAgICRmb2N1cy1iYWNrZ3JvdW5kOiAkYm1kLWludmVyc2UtYnRuLWZvY3VzLWJnO1xuICAgICRmb2N1cy1ib3JkZXI6ICRibWQtaW52ZXJzZS1idG4tZm9jdXMtYmc7XG5cbiAgICAkYWN0aXZlLWJhY2tncm91bmQ6ICRibWQtaW52ZXJzZS1idG4tYWN0aXZlLWJnO1xuICAgICRhY3RpdmUtYm9yZGVyOiAkYm1kLWludmVyc2UtYnRuLWFjdGl2ZS1iZztcblxuICAgIEBpbmNsdWRlIGJtZC1idXR0b24tdmFyaWFudCgkY29sb3IsXG4gICAgICAkYmFja2dyb3VuZCxcbiAgICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICAgJGFjdGl2ZS1iYWNrZ3JvdW5kLFxuICAgICAgJGJvcmRlcixcbiAgICAgICRmb2N1cy1ib3JkZXIsXG4gICAgICAkYWN0aXZlLWJvcmRlcik7XG4gIH1cblxuICAvLyByZXZlcnNlIHRoZSBhYm92ZSBmb3IgbGlua3NcbiAgJi5idG4tbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJtZC1mbGF0LWJ1dHRvbi1jb2xvcigpIHtcblxuICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYm1kLWJ0bi1jb2xvcik7XG5cbiAgLy8gZmxhdCBiZyB3aXRoIHRleHQgY29sb3IgdmFyaWF0aW9uc1xuICAmLmJ0bi1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktYmcpO1xuICB9XG4gICYuYnRuLXNlY29uZGFyeSB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1zZWNvbmRhcnktY29sb3IpO1xuICB9XG4gICYuYnRuLWluZm8ge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1iZyk7XG4gIH1cbiAgJi5idG4tc3VjY2VzcyB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1zdWNjZXNzLWJnKTtcbiAgfVxuICAmLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctYmcpO1xuICB9XG4gICYuYnRuLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcpO1xuICB9XG59XG5cbkBtaXhpbiBibWQtb3V0bGluZS1idXR0b24tY29sb3IoKSB7XG4gICYuYnRuLW91dGxpbmUsXG4gICYuYnRuLW91dGxpbmUtcHJpbWFyeSxcbiAgJi5idG4tb3V0bGluZS1zZWNvbmRhcnksXG4gICYuYnRuLW91dGxpbmUtaW5mbyxcbiAgJi5idG4tb3V0bGluZS1zdWNjZXNzLFxuICAmLmJ0bi1vdXRsaW5lLXdhcm5pbmcsXG4gICYuYnRuLW91dGxpbmUtZGFuZ2VyIHtcbiAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG5cbiAgLy8gZmxhdCBiZyB3aXRoIHRleHQgYW5kIGJvcmRlciBjb2xvciB2YXJpYXRpb25zXG4gICYuYnRuLW91dGxpbmUge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRibWQtYnRuLWNvbG9yLCAkYm1kLWJ0bi1jb2xvciwgJGJtZC1idG4tY29sb3IsICRibWQtYnRuLWNvbG9yKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLXByaW1hcnkge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJnLCAkYnRuLXByaW1hcnktYmcsICRidG4tcHJpbWFyeS1iZyk7XG4gIH1cbiAgJi5idG4tb3V0bGluZS1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1jb2xvciwgJGJ0bi1zZWNvbmRhcnktY29sb3IsICRidG4tc2Vjb25kYXJ5LWNvbG9yKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLWluZm8ge1xuICAgIEBpbmNsdWRlIGJtZC1mbGF0LWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYmcsICRidG4taW5mby1iZyk7XG4gIH1cbiAgJi5idG4tb3V0bGluZS1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBibWQtZmxhdC1idXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtYmcsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYmcpO1xuICB9XG4gICYuYnRuLW91dGxpbmUtd2FybmluZyB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYmcsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJnKTtcbiAgfVxuICAmLmJ0bi1vdXRsaW5lLWRhbmdlciB7XG4gICAgQGluY2x1ZGUgYm1kLWZsYXQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItYmcsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYmcpO1xuICB9XG59XG5cbkBtaXhpbiBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcblxuICAvLyBGSVhNRTogU1BFQyAtIHRoaXMgc2hvdWxkIGJlIHRoZSA2MDAgY29sb3IsIGhvdyBjYW4gd2UgZ2V0IHRoYXQgcHJvZ3JhbW1hdGljYWxseSBpZiBhdCBhbGw/IE9yIGFyZSB3ZSBsaW1pdGVkIHRvIHRoZSBjb2xvciBwYWxldHRlIG9ubHk/XG4gICRmb2N1cy1iYWNrZ3JvdW5kOiBjb250cmFzdC1jb2xvcigkYmFja2dyb3VuZCwgZGFya2VuKCRiYWNrZ3JvdW5kLCA0JSksIGxpZ2h0ZW4oJGJhY2tncm91bmQsIDQlKSk7XG4gIC8vJGZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTsgIC8vIGRlZmF1bHQgYm9vdHN0cmFwXG4gICRmb2N1cy1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICRhY3RpdmUtYmFja2dyb3VuZDogJGZvY3VzLWJhY2tncm91bmQ7XG4gIC8vJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDE3JSk7XG4gICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcblxuICBAaW5jbHVkZSBibWQtYnV0dG9uLXZhcmlhbnQoJGNvbG9yLFxuICAgICRiYWNrZ3JvdW5kLFxuICAgICRmb2N1cy1iYWNrZ3JvdW5kLFxuICAgICRhY3RpdmUtYmFja2dyb3VuZCxcbiAgICAkYm9yZGVyLFxuICAgICRmb2N1cy1ib3JkZXIsXG4gICAgJGFjdGl2ZS1ib3JkZXIpO1xufVxuXG5AbWl4aW4gYm1kLXJhaXNlZC1idXR0b24tY29sb3IoKSB7XG5cbiAgJi5idG4tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYm1kLXJhaXNlZC1idXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG4gIH1cbiAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4tc2Vjb25kYXJ5LWNvbG9yLCAkYnRuLXNlY29uZGFyeS1iZywgJGJ0bi1zZWNvbmRhcnktYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1pbmZvIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4taW5mby1jb2xvciwgJGJ0bi1pbmZvLWJnLCAkYnRuLWluZm8tYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi13YXJuaW5nIHtcbiAgICBAaW5jbHVkZSBibWQtcmFpc2VkLWJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyKTtcbiAgfVxuICAmLmJ0bi1kYW5nZXIge1xuICAgIEBpbmNsdWRlIGJtZC1yYWlzZWQtYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xuICB9XG59XG5cbkBtaXhpbiB1bmRvLWJzLXRhYi1mb2N1cygpIHtcbiAgLy8gY2xlYXIgb3V0IHRoZSB0YWItZm9jdXMoKSBmcm9tIEJTXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC8vQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGJtZC1ob3Zlci1mb2N1cy1hY3RpdmUge1xuICAvLyBhZGQgdGhlIC5hY3RpdmUgdG8gdGhlIHdob2xlIG1peCBvZiBob3Zlci1mb2N1cy1hY3RpdmVcbiAgJi5hY3RpdmUge1xuICAgIEBjb250ZW50XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMtYWN0aXZlKCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gYm1kLWRpc2FibGVkKCkge1xuICBmaWVsZHNldFtkaXNhYmxlZF1bZGlzYWJsZWRdICYsXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiBibWQtc2VsZWN0aW9uLWNvbG9yKCkge1xuICAucmFkaW8gbGFiZWwsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgLnN3aXRjaCBsYWJlbCB7XG5cbiAgICAvLyBvdmVycmlkZSBib290c3RyYXAgZm9jdXMgYW5kIGtlZXAgYWxsIHRoZSBzdGFuZGFyZCBjb2xvciAoY291bGQgYmUgbXVsdGlwbGUgcmFkaW9zIGluIHRoZSBmb3JtIGdyb3VwKVxuICAgIC8vY29sb3I6ICRibWQtbGFiZWwtY29sb3I7XG5cbiAgICAmLFxuICAgIC5pcy1mb2N1c2VkICYge1xuICAgICAgLy8gZm9ybS1ncm91cCBmb2N1cyBjb3VsZCBjaGFuZ2UgbXVsdGlwbGUgY2hlY2tib3hlcy9yYWRpb3MsIGRpc2FibGUgdGhhdCBjaGFuZ2UgYnkgdXNpbmcgdGhlIHNhbWUgY29sb3IgYXMgbm9uLWZvcm0tZ3JvdXAgaXMtZm9jdXNlZFxuICAgICAgY29sb3I6ICRibWQtbGFiZWwtY29sb3I7XG5cbiAgICAgIC8vIG9uIGZvY3VzIGp1c3QgZGFya2VuIHRoZSBzcGVjaWZpYyBsYWJlbHMsIGRvIG5vdCB0dXJuIHRoZW0gdG8gdGhlIGJyYW5kLXByaW1hcnlcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzLWFjdGl2ZSgpIHtcbiAgICAgICAgLy8mOmhvdmVyLFxuICAgICAgICAvLyY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGJtZC1sYWJlbC1jb2xvci1pbm5lci1mb2N1cztcbiAgICAgIH1cblxuICAgICAgLy8gY29ycmVjdCB0aGUgYWJvdmUgZm9jdXMgY29sb3IgZm9yIGRpc2FibGVkIGl0ZW1zXG4gICAgICBsYWJlbDpoYXMoaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdKSwgLy8gY3NzIDQgd2hpY2ggaXMgdW5saWtlbHkgdG8gd29yayBmb3IgYSB3aGlsZSwgYnV0IG5vIG90aGVyIHB1cmUgY3NzIHdheS5cbiAgICAgIGxhYmVsOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF0pLCAvLyBjc3MgNFxuICAgICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgICAmLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogJGJtZC1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIGZvciBkaXNhYmxlZCBpbnB1dHMgIE9MRCwgdXNlIGNvbG9yIGFwcHJvYWNoIHdpdGggb3BhY2l0eSBidWlsdCBpbiwgc2VlIHJhZGlvc1xuICAvL2ZpZWxkc2V0W2Rpc2FibGVkXSAmLFxuICAvL2ZpZWxkc2V0W2Rpc2FibGVkXSAmIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxuICAvL2lucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpub3QoOmNoZWNrZWQpIH4gLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmJlZm9yZSxcbiAgLy9pbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF06bm90KDpjaGVja2VkKSB+IC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrLFxuICAvL2lucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgLy8gIG9wYWNpdHk6IDAuNTtcbiAgLy99XG59XG5cbkBtaXhpbiBibWQtcmFkaW8tY29sb3IoJGNvbG9yKSB7XG5cbiAgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgfiAuYm1kLXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGJtZC1mb3JtLWNvbG9yKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWZvY3VzLCAkYm9yZGVyLWNvbG9yKSB7XG5cbiAgW2NsYXNzXj0nYm1kLWxhYmVsJ10sXG4gIFtjbGFzcyo9JyBibWQtbGFiZWwnXSB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC8vIG92ZXJyaWRlIEJTIGFuZCBrZWVwIHRoZSBib3JkZXItY29sb3Igbm9ybWFsL2dyZXkgc28gdGhhdCBvdmVybGFpZCBmb2N1cyBhbmltYXRpb24gZHJhd3MgYXR0ZW50aW9uXG4gIC5mb3JtLWNvbnRyb2wge1xuXG4gICAgLy8gdW5kZXJsaW5lIGFuaW1hdGlvbiBjb2xvciBvbiBmb2N1c1xuICAgICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZTogICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGxhYmVsLWNvbG9yLWZvY3VzIDJweCwgZmFkZS1vdXQoJGxhYmVsLWNvbG9yLWZvY3VzLCAxKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDFweCwgZmFkZS1vdXQoJGlucHV0LWJvcmRlci1jb2xvciwgMSkgMXB4KTtcbiAgICAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtaW52YWxpZDogIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRibWQtaW52YWxpZC11bmRlcmxpbmUgMnB4LCBmYWRlLW91dCgkYm1kLWludmFsaWQtdW5kZXJsaW5lLCAxKSAycHgpLCBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDFweCwgZmFkZS1vdXQoJGlucHV0LWJvcmRlci1jb2xvciwgMSkgMXB4KTtcbiAgICAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtcmVhZG9ubHk6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRibWQtcmVhZG9ubHktdW5kZXJsaW5lIDFweCwgZmFkZS1vdXQoJGJtZC1yZWFkb25seS11bmRlcmxpbmUsIDEpIDFweCksIGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRpbnB1dC1ib3JkZXItY29sb3IgMXB4LCBmYWRlLW91dCgkaW5wdXQtYm9yZGVyLWNvbG9yLCAxKSAxcHgpO1xuICAgICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1kaXNhYmxlZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkaW5wdXQtYm9yZGVyLWNvbG9yIDAlLCAkaW5wdXQtYm9yZGVyLWNvbG9yIDMwJSwgdHJhbnNwYXJlbnQgMzAlLCB0cmFuc3BhcmVudCAxMDAlKTtcblxuICAgIC8vIGJnIGltYWdlIGlzIGFsd2F5cyB0aGVyZSwgd2UganVzdCBuZWVkIHRvIHJldmVhbCBpdFxuICAgICYsXG4gICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2U7XG4gICAgfVxuXG4gICAgJjppbnZhbGlkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1pbnZhbGlkO1xuICAgIH1cblxuICAgICY6cmVhZC1vbmx5IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZS1yZWFkb25seTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBibWQtZGlzYWJsZWQoKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdW5kZXJsaW5lLWJhY2tncm91bmQtaW1hZ2UtZGlzYWJsZWQ7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDNweCAxcHg7XG4gICAgfVxuXG4gICAgLy8gYWxsb3cgdW5kZXJsaW5lIGZvY3VzIGltYWdlIGFuZCB2YWxpZGF0aW9uIGltYWdlcyB0byBjb2V4aXN0XG4gICAgJi5mb3JtLWNvbnRyb2wtc3VjY2VzcyB7XG4gICAgICAmLFxuICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZSwgJGZvcm0taWNvbi1zdWNjZXNzO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmZvcm0tY29udHJvbC13YXJuaW5nIHtcbiAgICAgICYsXG4gICAgICAuaXMtZm9jdXNlZCAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogJHVuZGVybGluZS1iYWNrZ3JvdW5kLWltYWdlLCAkZm9ybS1pY29uLXdhcm5pbmc7XG4gICAgICB9XG4gICAgfVxuICAgICYuZm9ybS1jb250cm9sLWRhbmdlciB7XG4gICAgICAmLFxuICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR1bmRlcmxpbmUtYmFja2dyb3VuZC1pbWFnZSwgJGZvcm0taWNvbi1kYW5nZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWZvY3VzZWQsIC8vIG1heSBvciBtYXkgbm90IGJlIGEgZm9ybS1ncm91cCBvciBibWQtZm9ybS1ncm91cFxuICAmLmlzLWZvY3VzZWQge1xuICAgIC8vIG9uIGZvY3VzIHNldCBib3JkZXJzIGFuZCBsYWJlbHMgdG8gdGhlIHZhbGlkYXRpb24gY29sb3JcblxuICAgIC8vIFVzZSB0aGUgQlMgcHJvdmlkZWQgbWl4aW4gZm9yIHRoZSBidWxrIG9mIHRoZSBjb2xvclxuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCRsYWJlbC1jb2xvcik7XG5cbiAgICBbY2xhc3NePSdibWQtbGFiZWwnXSxcbiAgICBbY2xhc3MqPScgYm1kLWxhYmVsJ10ge1xuICAgICAgY29sb3I6ICRsYWJlbC1jb2xvci1mb2N1cztcbiAgICB9XG5cbiAgICAuYm1kLWxhYmVsLXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7IC8vIGtlZXAgdGhlIHBsYWNlaG9sZGVyIGNvbG9yXG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAgIC8vLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAvLyAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgIC8vfVxuXG4gICAgLmJtZC1oZWxwIHtcbiAgICAgIGNvbG9yOiAkYm1kLWxhYmVsLWNvbG9yLWlubmVyLWZvY3VzO1xuICAgIH1cbiAgfVxufVxuXG4vLyBtdXN0IGJlIGJyb2tlbiBvdXQgZm9yIHJldXNlIC0gd2Via2l0IHNlbGVjdG9yIGJyZWFrcyBmaXJlZm94XG5AbWl4aW4gYm1kLWxhYmVsLXN0YXRpYygkbGFiZWwtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSkge1xuICB0b3A6ICRsYWJlbC10b3A7XG4gIGxlZnQ6IDA7XG4gIC8vIG11c3QgcmVwZWF0IGJlY2F1c2UgdGhlIHByZXZpb3VzIChtb3JlIGdlbmVyaWMpIHNlbGVjdG9yc1xuICBmb250LXNpemU6ICRzdGF0aWMtZm9udC1zaXplO1xufVxuXG5AbWl4aW4gYm1kLWZvcm0tc2l6ZS12YXJpYW50KCRmb250LXNpemUsICRsYWJlbC10b3AtbWFyZ2luLCAkdmFyaWFudC1wYWRkaW5nLXksICR2YXJpYW50LWxpbmUtaGVpZ2h0LCAkZm9ybS1ncm91cC1jb250ZXh0OiBudWxsKSB7XG5cbiAgJHZhcmlhbnQtaW5wdXQtaGVpZ2h0OiAoKCRmb250LXNpemUgKiAkdmFyaWFudC1saW5lLWhlaWdodCkgKyAoJHZhcmlhbnQtcGFkZGluZy15ICogMikpO1xuICAkc3RhdGljLWZvbnQtc2l6ZTogKCRibWQtYm1kLWxhYmVsLXN0YXRpYy1zaXplLXJhdGlvICogJGZvbnQtc2l6ZSk7XG4gICRoZWxwLWZvbnQtc2l6ZTogKCRibWQtaGVscC1zaXplLXJhdGlvICogJGZvbnQtc2l6ZSk7XG5cbiAgJGxhYmVsLXN0YXRpYy10b3A6ICRsYWJlbC10b3AtbWFyZ2luO1xuICAkbGFiZWwtcGxhY2Vob2xkZXItdG9wOiAkbGFiZWwtdG9wLW1hcmdpbiArICRzdGF0aWMtZm9udC1zaXplICsgJHZhcmlhbnQtcGFkZGluZy15O1xuXG4gIC8vQGRlYnVnIFwiZm9udC1zaXplOiAjeyRmb250LXNpemV9IHN0YXRpYy1mb250LXNpemU6ICN7JHN0YXRpYy1mb250LXNpemV9IGhlbHAtZm9udC1zaXplOiAjeyRoZWxwLWZvbnQtc2l6ZX0gZm9ybS1ncm91cC1jb250ZXh0OiAjeyRmb3JtLWdyb3VwLWNvbnRleHR9IFwiO1xuXG4gIC8vTGFiZWwgaGVpZ2h0OiA3MmRwXG4gIC8vUGFkZGluZyBhYm92ZSBsYWJlbCB0ZXh0OiAxNmRwXG4gIC8vUGFkZGluZyBiZXR3ZWVuIGxhYmVsIGFuZCBpbnB1dCB0ZXh0OiA4ZHBcbiAgLy9QYWRkaW5nIGJlbG93IGlucHV0IHRleHQgKGluY2x1ZGluZyBkaXZpZGVyKTogMTZkcFxuICAvL1BhZGRpbmcgYmVsb3cgdGV4dCBkaXZpZGVyOiA4ZHBcblxuICBAaWYgJGZvcm0tZ3JvdXAtY29udGV4dCB7XG4gICAgLy8gQ3JlYXRlIGEgc3BhY2UgYXQgdGhlIHRvcCBvZiB0aGUgYm1kLWZvcm0tZ3JvdXAgZm9yIHRoZSBsYWJlbC5cbiAgICAvLyAgVGhlIGxhYmVsIGlzIGFic29sdXRlbHkgcG9zaXRpb25lZCwgc28gd2UgdXNlIHRvcCBwYWRkaW5nIHRvIG1ha2Ugc3BhY2UuICBUaGlzIHBhZGRpbmcgZXh0ZW5kcyBvdmVyIHRoZSBsYWJlbCBkb3duIHRvIHRoZSB0b3Agb2YgdGhlIGlucHV0IChwYWRkaW5nKS5cbiAgICBwYWRkaW5nLXRvcDogKCRsYWJlbC10b3AtbWFyZ2luICsgJHN0YXRpYy1mb250LXNpemUpO1xuICAgIC8vIG5vdGU6IGJvdHRvbS1tYXJnaW4gb2YgdGhpcyBpcyBkZXRlcm1pbmVkIGJ5ICRzcGFjZXIuICBAc2VlIF9zcGFjZXIuc2Nzc1xuICAgIC8vbWFyZ2luLWJvdHRvbTogKDEuNSAqICRoZWxwLWZvbnQtc2l6ZSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgdGhpcyB3aGVuIGtub3duIHN0YWJsZS4gIGh0dHBzOi8vZ2l0aHViLmNvbS9GZXpWcmFzdGEvYm9vdHN0cmFwLW1hdGVyaWFsLWRlc2lnbi9pc3N1ZXMvODQ5XG4gIC8vQGVsc2Uge1xuICAvL1xuICAvLyAgLy8gZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB3aXRob3V0IGEgZm9ybS1ncm91cCwgYWRkIHNvbWUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB0byBwYWQgZG93biBzbyB0aGF0XG4gIC8vICAvLyAgYW55IGhlbHAgdGV4dCBhYm92ZSBpcyBub3QgZW5jcm9hY2hlZCB1cG9uLCBvciBzbyB0aGF0IGl0IGFwcGVhcnMgbW9yZSBldmVubHkgc3BhY2VkIHZzIGZvcm0tZ3JvdXBzXG4gIC8vICAucmFkaW8sXG4gIC8vICBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC8vICAuY2hlY2tib3gsXG4gIC8vICBsYWJlbC5jaGVja2JveC1pbmxpbmUsXG4gIC8vICAuc3dpdGNoIHtcbiAgLy8gICAgcGFkZGluZy10b3A6ICRzcGFjZXIteTtcbiAgLy8gIH1cbiAgLy99XG5cbiAgLy8gU2V0IGFsbCBsaW5lLWhlaWdodHMgcHJlZmVyYWJseSB0byAxIHNvIHRoYXQgd2UgY2FuIHNwYWNlIG91dCBldmVyeXRoaW5nIG1hbnVhbGx5IHdpdGhvdXQgYWRkaXRpb25hbCBhZGRlZCBzcGFjZVxuICAvLyAgZnJvbSB0aGUgZGVmYXVsdCBsaW5lLWhlaWdodCBvZiAxLjVcbiAgLmZvcm0tY29udHJvbCxcbiAgbGFiZWwsXG4gIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgbGluZS1oZWlnaHQ6ICR2YXJpYW50LWxpbmUtaGVpZ2h0O1xuICB9XG5cbiAgLnJhZGlvIGxhYmVsLFxuICBsYWJlbC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveCBsYWJlbCxcbiAgbGFiZWwuY2hlY2tib3gtaW5saW5lLFxuICAuc3dpdGNoIGxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7IC8vIGtlZXAgdGhlIHNhbWUgbGluZSBoZWlnaHQgZm9yIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBtYXkgYmUgaW5zaWRlIG9yIG91dHNpZGUgYSBmb3JtLWdyb3VwLCBtYXkgYmUgLmJtZC1mb3JtLWdyb3VwLmJtZC1mb3JtLWdyb3VwLXNtIG9yIC5ibWQtZm9ybS1ncm91cC5ibWQtZm9ybS1ncm91cC1sZ1xuICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIGdlbmVyaWMgbGFiZWxzIHVzZWQgYW55d2hlcmUgaW4gdGhlIGZvcm1cbiAgLmNoZWNrYm94IGxhYmVsLFxuICAucmFkaW8gbGFiZWwsXG4gIGxhYmVsIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAvLyBmbG9hdGluZy9wbGFjZWhvbGRlciBkZWZhdWx0IChubyBmb2N1cylcbiAgLmJtZC1sYWJlbC1mbG9hdGluZyxcbiAgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gICAgLy9AZGVidWcgXCJ0b3A6ICN7JGxhYmVsLWFzLXBsYWNlaG9sZGVyLXRvcH1cIjtcbiAgICB0b3A6ICRsYWJlbC1wbGFjZWhvbGRlci10b3A7IC8vIHBsYWNlIHRoZSBmbG9hdGluZyBsYWJlbCB0byBsb29rIGxpa2UgYSBwbGFjZWhvbGRlciB3aXRoIGlucHV0IHBhZGRpbmdcbiAgfVxuXG4gIC8vIGZsb2F0aW5nIGZvY3VzZWQvZmlsbGVkIHdpbGwgbG9vayBsaWtlIHN0YXRpY1xuICAmLmlzLWZvY3VzZWQsXG4gIC5pcy1mb2N1c2VkLFxuICAmLmlzLWZpbGxlZCxcbiAgLmlzLWZpbGxlZCB7XG4gICAgLmJtZC1sYWJlbC1mbG9hdGluZyB7XG4gICAgICBAaW5jbHVkZSBibWQtbGFiZWwtc3RhdGljKCRsYWJlbC1zdGF0aWMtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gc3RhdGljXG4gIC5ibWQtbGFiZWwtc3RhdGljIHtcbiAgICBAaW5jbHVkZSBibWQtbGFiZWwtc3RhdGljKCRsYWJlbC1zdGF0aWMtdG9wLCAkc3RhdGljLWZvbnQtc2l6ZSk7XG4gIH1cbiAgLy8gIzU1OSBGaXggZm9yIHdlYmtpdC9jaHJvbWUgYXV0b2ZpbGwgLSBydWxlIG11c3QgYmUgc2VwYXJhdGUgYmVjYXVzZSBpdCBicmVha3MgZmlyZWZveCBvdGhlcndpc2UgIzczMVxuICAvL2lucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiAuYm1kLWxhYmVsLWZsb2F0aW5nIHsgIEZJWE1FOiBjb25maXJtIHRoYXQgdGhlIGF1dG9maWxsIGpzIGdlbmVyYXRpb24gb2YgY2hhbmdlIGV2ZW50IG1ha2VzIHRoaXMgdW5uZWNlc3NhcnlcbiAgLy8gIEBpbmNsdWRlIGJtZC1sYWJlbC1zdGF0aWMoJGxhYmVsLXRvcCwgJHN0YXRpYy1mb250LXNpemUsICRzdGF0aWMtbGluZS1oZWlnaHQpO1xuICAvL31cblxuICAuYm1kLWhlbHAge1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIGFsbG93IHRoZSBpbnB1dCBtYXJnaW4gdG8gc2V0LW9mZiB0aGUgdG9wIG9mIHRoZSBoZWxwLWJsb2NrXG4gICAgZm9udC1zaXplOiAkaGVscC1mb250LXNpemU7XG4gIH1cblxuICAvLyB2YWxpZGF0aW9uIGljb24gcGxhY2VtZW50XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgICYuZm9ybS1jb250cm9sLXN1Y2Nlc3MsXG4gICAgJi5mb3JtLWNvbnRyb2wtd2FybmluZyxcbiAgICAmLmZvcm0tY29udHJvbC1kYW5nZXIge1xuICAgICAgJGljb24tYmctc2l6ZTogKCR2YXJpYW50LWlucHV0LWhlaWdodCAqIC41KSAoJHZhcmlhbnQtaW5wdXQtaGVpZ2h0ICogLjUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAkYm1kLWZvcm0tY29udHJvbC1iZy1zaXplLCAkaWNvbi1iZy1zaXplO1xuXG4gICAgICAmLFxuICAgICAgJjpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJGlucHV0LXBhZGRpbmcteCAqIDMpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogJGJtZC1mb3JtLWNvbnRyb2wtYmctcmVwZWF0LXksIG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGJtZC1mb3JtLWNvbnRyb2wtYmctcG9zaXRpb24sIGNlbnRlciByaWdodCAoJHZhcmlhbnQtaW5wdXQtaGVpZ2h0ICogLjI1KTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtZm9ybS1jb250cm9sLWJnLXNpemUtYWN0aXZlLCAkaWNvbi1iZy1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvc2VsZWN0aW9uLWNvbnRyb2xzLmh0bWwjc2VsZWN0aW9uLWNvbnRyb2xzLWNoZWNrYm94XG4uY2hlY2tib3ggbGFiZWwsXG5sYWJlbC5jaGVja2JveC1pbmxpbmUge1xuICBwYWRkaW5nLWxlZnQ6ICRibWQtY2hlY2tib3gtc2l6ZSArICRibWQtY2hlY2tib3gtbGFiZWwtcGFkZGluZzsgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIHNvIGFkZCB0aGUgcmFkaW8gc2l6ZVxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLmNoZWNrYm94LWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4xMjVyZW07XG4gICAgbGVmdDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjo6YmVmb3JlIHsgLy8gRklYTUU6IGRvY3VtZW50IHdoeSB0aGlzIGlzIG5lY2Vzc2FyeSAoZG9lc24ndCBzZWVtIHRvIGJlIG9uIGNocm9tZSlcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogJGJtZC1jaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkYm1kLWNoZWNrYm94LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIC44NCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgyLjMsIDIuMywgMSk7XG4gICAgfVxuXG4gICAgLmNoZWNrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogJGJtZC1jaGVja2JveC1zaXplO1xuICAgICAgaGVpZ2h0OiAkYm1kLWNoZWNrYm94LXNpemU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyOiAkYm1kLWNoZWNrYm94LWJvcmRlci1zaXplIHNvbGlkICRibWQtY2hlY2tib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgICAgIC8vIGNoZWNrYm94IG91dGxpbmVcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAsXG4gICAgICAgIDAgMCAwIDAgaW5zZXQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmY7XG5cbiAgICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgICAgLy8gUHJldmVudCBjaGVja2JveCBhbmltYXRpb24gYW5kIHJpcHBsZSBlZmZlY3Qgb24gcGFnZSBsb2FkXG4gICAgICAgICAgYW5pbWF0aW9uOiBjaGVja2JveC1vZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tY2hlY2sgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cbiAgICAvLyBIaWRlIG5hdGl2ZSBjaGVja2JveFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpmb2N1cyArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcblxuICAgICAgLy8gRklYTUU6IG9uY2Ugd29ya2luZyAtIGNvbWJpbmUgZnVydGhlciB0byByZWR1Y2UgY29kZVxuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayB7XG4gICAgICAgIGNvbG9yOiAkYm1kLWNoZWNrYm94LWNoZWNrZWQtY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJtZC1jaGVja2JveC1jaGVja2VkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJGJtZC1jaGVja2JveC1jaGVja2VkLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4LFxuICAgICAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAgICAgMzJweCAwIDAgMjBweCxcbiAgICAgICAgMDMycHggMCAyMHB4LFxuICAgICAgICAtNXB4IDVweCAwIDEwcHgsXG4gICAgICAgIDIwcHggLTEycHggMCAxMXB4O1xuICAgICAgICBhbmltYXRpb246IGNoZWNrYm94LW9uICRibWQtY2hlY2tib3gtYW5pbWF0aW9uLWNoZWNrIGZvcndhcmRzO1xuICAgICAgfVxuXG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3I6OmJlZm9yZSB7XG4gICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247XG4gICAgICAgIC5pcy1mb2N1c2VkICYge1xuICAgICAgICAgIC8vIFByZXZlbnQgY2hlY2tib3ggYW5pbWF0aW9uIGFuZCByaXBwbGUgZWZmZWN0IG9uIHBhZ2UgbG9hZFxuICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT24gJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzczsgLy8gRklYTUU6IHNlZW1zIGxpa2UgdGhvIHdyb25nIGNvbG9yLCB0ZXN0IGFuZCBtYWtlIHN1cmUgaXQgY2FuIGJlIHJlbW92ZWRcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPbiAkYm1kLWNoZWNrYm94LWFuaW1hdGlvbi1yaXBwbGUgZm9yd2FyZHM7IC8vIFJpcHBsZSBlZmZlY3Qgb24gY2hlY2tcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yOjpiZWZvcmUge1xuICAgICAgICBhbmltYXRpb246IHJpcHBsZU9mZjtcbiAgICAgICAgLmlzLWZvY3VzZWQgJiB7XG4gICAgICAgICAgLy8gUHJldmVudCBjaGVja2JveCBhbmltYXRpb24gYW5kIHJpcHBsZSBlZmZlY3Qgb24gcGFnZSBsb2FkXG4gICAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgLmNoZWNrYm94LWRlY29yYXRvciAuY2hlY2s6OmFmdGVyIHtcbiAgICAgICAgYW5pbWF0aW9uOiByaXBwbGVPZmYgJGJtZC1jaGVja2JveC1hbmltYXRpb24tcmlwcGxlIGZvcndhcmRzOyAvLyBSaXBwbGUgZWZmZWN0IG9uIHVuY2hlY2tcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICArIC5jaGVja2JveC1kZWNvcmF0b3IgLmNoZWNrOjphZnRlcixcbiAgICAgIC5jaGVjazo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgICAgKyAuY2hlY2tib3gtZGVjb3JhdG9yIC5jaGVjayxcbiAgICAgIC5jaGVjayB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJtZC1jaGVja2JveC1ib3JkZXItY29sb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb24ge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDE1cHggMnB4IDAgMTFweDtcbiAgfVxuICA1MCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAyMHB4IDJweCAwIDExcHg7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDIwcHggLTEycHggMCAxMXB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2hlY2tib3gtb2ZmIHtcbiAgMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAyMHB4IC0xMnB4IDAgMTFweCxcbiAgICAwIDAgMCAwIGluc2V0O1xuICB9XG4gIDI1JSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCxcbiAgICAxMHB4IC0xMHB4IDAgMTBweCxcbiAgICAzMnB4IDAgMCAyMHB4LFxuICAgIDAgMzJweCAwIDIwcHgsXG4gICAgLTVweCA1cHggMCAxMHB4LFxuICAgIDIwcHggLTEycHggMCAxMXB4LFxuICAgIDAgMCAwIDAgaW5zZXQ7XG4gIH1cbiAgNTAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHgsXG4gICAgMTBweCAtMTBweCAwIDEwcHgsXG4gICAgMzJweCAwIDAgMjBweCxcbiAgICAwIDMycHggMCAyMHB4LFxuICAgIC01cHggNXB4IDAgMTBweCxcbiAgICAxNXB4IDJweCAwIDExcHgsXG4gICAgMCAwIDAgMCBpbnNldDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgNTElIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAxMHB4IGluc2V0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAsXG4gICAgMCAwIDAgMCxcbiAgICAwIDAgMCAwLFxuICAgIDAgMCAwIDAgaW5zZXQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCIuY3VzdG9tLWZpbGUtY29udHJvbCB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgQGluY2x1ZGUgYm1kLWZvcm0tY29sb3IoJGJtZC1sYWJlbC1jb2xvciwgJGJtZC1sYWJlbC1jb2xvci1mb2N1cywgJGlucHV0LWJvcmRlci1jb2xvcik7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAZXh0ZW5kIC5idG47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgfVxufVxuIiwiLy8gaHR0cDovL2NvZGVwZW4uaW8vcm9zc2tldmluL3Blbi9FUFB3UlI/ZWRpdG9ycz0xMTBcbi5zd2l0Y2gge1xuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogJGJtZC1zd2l0Y2gtd2lkdGggKyAkYm1kLXN3aXRjaC1sYWJlbC1wYWRkaW5nOyAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgc28gYWRkIHRoZSByYWRpbyBzaXplXG5cbiAgICAuYm1kLXN3aXRjaC10cmFjayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLWJhc2UsICRibWQtc3dpdGNoLWhlaWdodCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6ICRibWQtc3dpdGNoLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkYm1kLXN3aXRjaC1oZWlnaHQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgdG8gcmlnaHQsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtdW5jaGVja2VkLWJnIDAlLFxuICAgICAgICAgICRibWQtc3dpdGNoLXVuY2hlY2tlZC1iZyA1MCUsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtY2hlY2tlZC1iZyA1MCUsXG4gICAgICAgICAgJGJtZC1zd2l0Y2gtY2hlY2tlZC1iZyAxMDAlXG4gICAgICApO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtc3dpdGNoLXdpZHRoICogMiAkYm1kLXN3aXRjaC1oZWlnaHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm1kLXN3aXRjaC13aWR0aDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4ycyBlYXNlLWluO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAkYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtaGFuZGxlLXVuY2hlY2tlZC1iZztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjJzIGVhc2UtaW4sIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEplbGx5IGVmZmVjdCBvbiBjbGlja1xuICAgICAgJjphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgLy8gSGlkZSBvcmlnaW5hbCBjaGVja2JveCwgYnV0IGRvbid0IHVzZSBgZGlzcGxheTogbm9uZWAgdG8gYWxsb3cgZm9jdXMgb24gaXQgdXNpbmcga2V5Ym9hcmRcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwJTtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiB1bnF1b3RlKFwiY2FsYygxMDAlIC0gI3skYm1kLXN3aXRjaC1oYW5kbGUtc2l6ZX0pXCIpOyAvL2NhbGMoMTAwJSAtICRibWQtc3dpdGNoLWhhbmRsZS1zaXplKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibWQtc3dpdGNoLWhhbmRsZS1jaGVja2VkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgLy8gTm8gamVsbHkgZWZmZWN0IG9uIGRpc2FibGVkIHN3aXRjaHNcbiAgICAgICAgKyAuYm1kLXN3aXRjaC10cmFjazphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICArIC5ibWQtc3dpdGNoLXRyYWNrIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtZGlzYWJsZWQtYmc7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJtZC1zd2l0Y2gtaGFuZGxlLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGZ1bmN0aW9uIGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLCAkY29tcG9uZW50LWhlaWdodCkge1xuICBAcmV0dXJuICgoJGxpbmUtaGVpZ2h0LWJhc2UgKiAkZm9udC1zaXplKSAtICRjb21wb25lbnQtaGVpZ2h0KSAvIDI7IC8vIHZlcnRpY2FsIGNlbnRlciBvZiBsaW5lLWhlaWdodFxufVxuXG5cblxuXG4vLyBFbXVsYXRlIHRoZSBsZXNzICNjb250cmFzdCBmdW5jdGlvblxuLy8gVE9ETzogdGhpcyBtYXkgYmUgdXNlZnVsIGZvciB0aGUgaW52ZXJzZSB0aGVtZSwgYnV0IGlmIG5vdCwgcmVtb3ZlIChpdCBpcyB1bnVzZWQgYWZ0ZXIgdGhlIHJlbW92YWwgb2YgZnVsbHBhbGV0dGUpXG4vLyBjb250cmFzdC1jb2xvciBhbmQgYnJpZ2h0bmVzcyBib3Jyb3dlZCBmcm9tIGNvbXBhc3Ncbi8vIENvcHlyaWdodCAoYykgMjAwOS0yMDE0IENocmlzdG9waGVyIE0uIEVwcHN0ZWluXG4vLyBDb21wbGllcyB3aXRoIGxpY2Vuc2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9Db21wYXNzL2NvbXBhc3MvYmxvYi9zdGFibGUvTElDRU5TRS5tYXJrZG93blxuQGZ1bmN0aW9uIGNvbnRyYXN0LWNvbG9yKCRjb2xvciwgJGRhcms6ICRjb250cmFzdGVkLWRhcmstZGVmYXVsdCwgJGxpZ2h0OiAkY29udHJhc3RlZC1saWdodC1kZWZhdWx0LCAkdGhyZXNob2xkOiBudWxsKSB7XG4gIEBpZiAkdGhyZXNob2xkIHtcbiAgICAvLyBEZXByZWNhdGVkIGluIENvbXBhc3MgMC4xM1xuICAgIEB3YXJuIFwiVGhlICR0aHJlc2hvbGQgYXJnbWVudCB0byBjb250cmFzdC1jb2xvciBpcyBubyBsb25nZXIgbmVlZGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS5cIjtcbiAgfVxuXG4gIEBpZiAkY29sb3IgPT0gbnVsbCB7XG4gICAgQHJldHVybiBudWxsO1xuICB9IEBlbHNlIHtcbiAgICAkY29sb3ItYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkY29sb3IpO1xuICAgICRkYXJrLXRleHQtYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkZGFyayk7XG4gICAgJGxpZ2h0LXRleHQtYnJpZ2h0bmVzczogYnJpZ2h0bmVzcygkbGlnaHQpO1xuICAgIEByZXR1cm4gaWYoYWJzKCRjb2xvci1icmlnaHRuZXNzIC0gJGxpZ2h0LXRleHQtYnJpZ2h0bmVzcykgPiBhYnMoJGNvbG9yLWJyaWdodG5lc3MgLSAkZGFyay10ZXh0LWJyaWdodG5lc3MpLCAkbGlnaHQsICRkYXJrKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gYnJpZ2h0bmVzcygkY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciB7XG4gICAgQHJldHVybiAocmVkKCRjb2xvcikgKiAwLjI5OSArIGdyZWVuKCRjb2xvcikgKiAwLjU4NyArIGJsdWUoJGNvbG9yKSAqIDAuMTE0KSAvIDI1NSAqIDEwMCU7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdW5xdW90ZShcImJyaWdodG5lc3MoI3skY29sb3J9KVwiKTtcbiAgfVxufVxuIiwiLnJhZGlvIGxhYmVsLFxubGFiZWwucmFkaW8taW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6ICRibWQtcmFkaW8tc2l6ZSArICRibWQtcmFkaW8tbGFiZWwtcGFkZGluZzsgLy8gYWJzb2x1dGVseSBwb3NpdGlvbmVkIHNvIGFkZCB0aGUgcmFkaW8gc2l6ZVxuXG4gIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlLCAvLyBkb24ndCB1c2UgZ2VuZXJpYyBzcGFuLCBpdCBtYXkgY29uZmxpY3Qgd2l0aCBzcGFuIGluIHVzZXIgbWFya3VwICM2OTNcbiAgLmJtZC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMtdG9wKCRsaW5lLWhlaWdodC1iYXNlLCAkZm9udC1zaXplLWJhc2UsICRibWQtcmFkaW8tc2l6ZSk7IC8vIHZlcnRpY2FsIGNlbnRlciBvZiBsaW5lLWhlaWdodFxuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkYm1kLXJhZGlvLXNpemU7XG4gICAgaGVpZ2h0OiAkYm1kLXJhZGlvLXNpemU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG5cbiAgICAmLmJtZC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgYm9yZGVyOiAkYm1kLXJhZGlvLWJvcmRlciBzb2xpZCAkYm1kLXJhZGlvLWNvbG9yLW9mZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlIC4yOHM7XG4gICAgfVxuICAgICYuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm1kLXJhZGlvLWNvbG9yLW9uO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjI4cztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKTtcblxuICAgICAgLy8gZm9jdXMvcHJlc3MgcmlwcGxlXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtI3skYm1kLXJhZGlvLXJpcHBsZS1vZmZzZXR9O1xuICAgICAgICBsZWZ0OiAtI3skYm1kLXJhZGlvLXJpcHBsZS1vZmZzZXR9O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAvLyBIaWRlIG5hdGl2ZSByYWRpb1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIEBpbmNsdWRlIGJtZC1yYWRpby1jb2xvcigkYm1kLXJhZGlvLWNvbG9yLW9uKTtcblxuICAgICAgfiAuYm1kLXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjU1LCAwLjU1LCAxKTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT247XG5cbiAgICAgICAgICAuaXMtZm9jdXNlZCAmIHtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgcmlwcGxlIGVmZmVjdCBvbiBwYWdlIGxvYWRcbiAgICAgICAgICAgIGFuaW1hdGlvbjogcmlwcGxlT24gNTAwbXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoOmNoZWNrZWQpIH4gLmJtZC1yYWRpby1pbm5lci1jaXJjbGU6OmFmdGVyIHtcbiAgICAgIGFuaW1hdGlvbjogcmlwcGxlT2ZmIDUwMG1zO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdLFxuICAgICY6ZGlzYWJsZWQsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuXG4gICAgICArIC5ibWQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBibWQtcmFkaW8tY29sb3IoJGJtZC1yYWRpby1jb2xvci1kaXNhYmxlZCk7XG5cbiAgICAgIC5iZy1pbnZlcnNlICYge1xuICAgICAgICBAaW5jbHVkZSBibWQtcmFkaW8tY29sb3IoJGJtZC1yYWRpby1jb2xvci1kaXNhYmxlZC1pbnZlcnNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByaXBwbGVPZmYge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4iLCJmb3JtIHtcbiAgLy8gZW5zdXJlIGVub3VnaCByb29tIGF0IHRoZSBib3R0b20gb2YgYW55IGZvcm0gdG8gZGlzcGxheSBhIG9uZS1saW5lIGJtZC1oZWxwXG4gIG1hcmdpbi1ib3R0b206ICgkYm1kLWhlbHAtc2l6ZS1yYXRpbyAqICRmb250LXNpemUtYmFzZSkgKiAkbGluZS1oZWlnaHQtYmFzZTtcblxuICAvLyByZXZlcnNlIHRoZSBhYm92ZSBmb3IgbmF2YmFycyAobm8gaGVscCBleHBlY3RlZCBpbiBhIG5hdmJhciBmb3JtKVxuICAubmF2YmFyICYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIG9ubHkgYWRqdXN0IGJvdHRvbSBzbyB0aGF0IHB1bGwteHMtcmlnaHQgZmxleGVkIG1hcmdpbi1sZWZ0OiBhdXRvIHdvcmtzXG5cbiAgICAuYm1kLWZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLVxuLy8gSW5wdXRzXG4vL1xuLy8gUmVmZXJlbmNlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL3RleHQtZmllbGRzLmh0bWxcbi8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuLmZvcm0tY29udHJvbCB7XG4gIGJhY2tncm91bmQ6ICRibWQtZm9ybS1jb250cm9sLWJnLXJlcGVhdC15ICRibWQtZm9ybS1jb250cm9sLWJnLXBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRibWQtZm9ybS1jb250cm9sLWJnLXNpemU7XG4gIGJvcmRlcjogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwcyBlYXNlLW91dDtcblxuICAvLyBUaGUgYm9yZGVyIGJvdHRvbSBzaG91bGQgYmUgc3RhdGljIGluIGFsbCBzdGF0ZXMsIHRoZSBkZWNvcmF0b3Igd2lsbCBiZSBhbmltYXRlZCBvdmVyIHRoaXMuXG4gICY6Zm9jdXMsXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGJtZC1mb3JtLWNvbnRyb2wtYmctc2l6ZS1hY3RpdmU7XG4gICAgLy9ib3JkZXItYm90dG9tOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIH1cbn1cblxuLy8gSGVscCBibG9ja3MgKG5vdCBpbiB2NClcbi8vICBwb3NpdGlvbjogYWJzb2x1dGUgYXBwcm9hY2ggLSB1c2VzIG5vIHZlcnRpY2FsIHNwYWNlIGFuZCB0aGVyZSBpcyBubyBmb3JtIGp1bXBpbmcsIGJ1dCB0ZXh0IHdyYXBwaW5nIC0gbm90IHNvIGdvb2QuXG4vLyAgRklYTUU6IHdpZHRoL3dyYXBwaW5nIGlzbid0IGF1dG9tYXRpYyBhbmQgb3ZlcmZsb3dzIG9jY3VyLiAgV2hhdCBhcmUgc29tZSBzb2x1dGlvbnM/XG4vL1xuLmJtZC1oZWxwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IC44cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBAZXh0ZW5kIC50ZXh0LW11dGVkO1xuXG4gIC5ibWQtZm9ybS1ncm91cC5pcy1mb2N1c2VkICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBNdWx0aXBsZSBoZWxwIGJsb2Nrc1xuICAvLyAtIGFic29sdXRlIHBvc2l0aW9uaW5nIGlzIHVzZWQgYWJvdmUgdG8gcHJldmVudCBib3VuY2luZ1xuICAvLyAtIHdoZW4gdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSwgdGhpcyB3aWxsIGJvdW5jZSBidXQgd2lsbCBhdCBsZWFzdCBzaG93XG4gICY6bnRoLW9mLXR5cGUoMikge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtOyAvLyB0aGUgZmlyc3Qgb25lIHJlcXVpcmVzIHRvcCBwYWRkaW5nIHRvIHB1c2ggaXQgYmVsb3cgdGhlIGZpcnN0IG9uZSB3aGljaCBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkXG4gIH1cblxuICArIC5ibWQtaGVscCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gLS0tLS1cbi8vIFN0YXRlIGNvbG9yaW5nOiBkZWZhdWx0LCBzdWNjZXNzLCBpbmZvLCB3YXJuaW5nLCBkYW5nZXJcbi8vXG5AaW5jbHVkZSBibWQtc2VsZWN0aW9uLWNvbG9yKCk7XG5AaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYm1kLWxhYmVsLWNvbG9yLCAkYm1kLWxhYmVsLWNvbG9yLWZvY3VzLCAkaW5wdXQtYm9yZGVyLWNvbG9yKTtcblxuLmhhcy1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYm1kLWZvcm0tY29sb3IoJGJyYW5kLXN1Y2Nlc3MsICRicmFuZC1zdWNjZXNzLCAkYnJhbmQtc3VjY2Vzcyk7XG59XG5cbi5oYXMtaW5mbyB7XG4gIEBpbmNsdWRlIGJtZC1mb3JtLWNvbG9yKCRicmFuZC1pbmZvLCAkYnJhbmQtaW5mbywgJGJyYW5kLWluZm8pO1xufVxuXG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYnJhbmQtd2FybmluZywgJGJyYW5kLXdhcm5pbmcsICRicmFuZC13YXJuaW5nKTtcbn1cblxuLmhhcy1kYW5nZXIge1xuICBAaW5jbHVkZSBibWQtZm9ybS1jb2xvcigkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyLCAkYnJhbmQtZGFuZ2VyKTtcbn1cblxuLy8gUmVmZXJlbmNlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL3RleHQtZmllbGRzLmh0bWxcbi8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuLy8udmFyaWF0aW9ucyh1bnF1b3RlKFwiIGxhYmVsXCIpLCBjb2xvciwgJGJtZC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7ICAvLyBkZWZhdWx0IGxhYmVsIGNvbG9yIHZhcmlhdGlvbnNcblxuLy8gV2hlcmVhcyAuZm9ybS1ncm91cCBhZGRzIHN0cnVjdHVyZSwgYm1kLWZvcm0tZ3JvdXAganVzdCBuZWVkcyB0byBtYWtlIHN1cmUgd2UgaGF2ZSBlbm91Z2ggcGFkZGluZyBmb3Igb3VyIGxhYmVscyB0byB3b3JrLiAgVGhhdCdzIHRoZSBvbmx5IHB1cnBvc2UuXG4uYm1kLWZvcm0tZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gLS0tLS1cbiAgLy8gTGFiZWxzXG4gIC8vXG4gIC8vIFJlZmVyZW5jZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy90ZXh0LWZpZWxkcy5odG1sXG4gIC8vIE1ETCBpbXBsZW1lbnRhdGlvbjogaHR0cDovL3d3dy5nZXRtZGwuaW8vY29tcG9uZW50cy9pbmRleC5odG1sI3RleHRmaWVsZHMtc2VjdGlvblxuICBbY2xhc3NePSdibWQtbGFiZWwnXSxcbiAgW2NsYXNzKj0nIGJtZC1sYWJlbCddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcblxuICAgIC8vIGhpbnQgdG8gYnJvd3NlciBmb3Igb3B0aW1pemF0aW9uXG4gICAgJi5ibWQtbGFiZWwtZmxvYXRpbmcge1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHRvcCwgY29udGVudHM7IC8vIFRPRE86IGV2YWx1YXRlIGVmZmVjdGl2ZW5lc3MgLSBsb29raW5nIGZvciBjb21tdW5pdHkgZmVlZGJhY2tcbiAgICB9XG4gIH1cblxuICAvLyBoaWRlIGxhYmVsLXBsYWNlaG9sZGVycyB3aGVuIHRoZSBmaWVsZCBpcyBmaWxsZWRcbiAgJi5pcy1maWxsZWQgLmJtZC1sYWJlbC1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsIGNsYXNzIHRvIG1ha2UgdGhlIHRleHQgZmllbGQgaW5saW5lIGNvbGxhcHNpYmxlL2V4cGFuZGFibGUgKGNvbGxhcHNlZCBieSBkZWZhdWx0KVxuICAvLyAgICBUaGlzIHVzZXMgdGhlIEJTIGNvbGxhcHNlIGpzIHRvIG1ha2UgdGhlIHdpZHRoIGV4cGFuZC5cbiAgLy8gICAgYHdpZHRoYCBjbGFzcyBtdXN0IGFsc28gYmUgb24gdGhlIGVsZW1lbnQgRklYTUU6IGRvIHRoaXMgd2l0aCBKUywgaXQgaXMgYSBtYXJrZXIgY2xhc3MgYW5kIHNob3VsZCBiZSBpbXBsaWNpdCBiZWNhdXNlIGFmdGVyIGFsbCwgd2UgYXJlIGFuIGJtZC1jb2xsYXBzZS1pbmxpbmVcbiAgLy8gICAgRklYTUU6IGpzIG5lZWRzIHRvIGRvIHRoZSBmb2N1cyBvbiBzaG93bi5icy5jb2xsYXBzZSBldmVudCBodHRwOi8vdjQtYWxwaGEuZ2V0Ym9vdHN0cmFwLmNvbS9jb21wb25lbnRzL2NvbGxhcHNlLyNldmVudHNcbiAgJi5ibWQtY29sbGFwc2UtaW5saW5lIHtcbiAgICBwYWRkaW5nOiAwOyAvLyBnZXQgcmlkIG9mIGFueSBwYWRkaW5nIGFzIHRoaXMgaXMgYSB3aWR0aCB0cmFuc2l0aW9uXG5cbiAgICAvLyBFeHBhbmRhYmxlIEhvbGRlci5cbiAgICAuY29sbGFwc2Uge1xuICAgICAgJi5pbiB7XG4gICAgICAgIC8vIFRoaXMgaXMgYW4gdW5mb3J0dW5hdGUgaGFjay4gQW5pbWF0aW5nIGJldHdlZW4gd2lkdGhzIGluIHBlcmNlbnQgKCUpXG4gICAgICAgIC8vIGluIG1hbnkgYnJvd3NlcnMgKENocm9tZSwgRmlyZWZveCkgb25seSBhbmltYXRlcyB0aGUgaW5uZXIgdmlzdWFsIHN0eWxlXG4gICAgICAgIC8vIG9mIHRoZSBpbnB1dCAtIHRoZSBvdXRlciBib3VuZGluZyBib3ggc3RpbGwgJ2p1bXBzJy5cbiAgICAgICAgLy8gVGh1cyBhc3N1bWUgYSBzZW5zaWJsZSBtYXhpbXVtLCBhbmQgYW5pbWF0ZSB0by9mcm9tIHRoYXQgdmFsdWUuXG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbGxhcHNpbmcsXG4gICAgLndpZHRoOm5vdCguY29sbGFwc2UpLCAvLyBjb2xsYXBzaW5nIGlzIHJlbW92ZWQgYW5kIG1vbWVudGFyaWx5IG9ubHkgd2lkdGggaXMgcHJlc2VudFxuICAgIC5jb2xsYXBzZS5pbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbGxhcHNpbmcge1xuICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICAvLyBkZWZhdWx0IGZsb2F0aW5nIHNpemUvbG9jYXRpb24gd2l0aCBhbiBibWQtZm9ybS1ncm91cFxuICBAaW5jbHVkZSBibWQtZm9ybS1zaXplLXZhcmlhbnQoJGZvbnQtc2l6ZS1iYXNlLCAkYm1kLWxhYmVsLXRvcC1tYXJnaW4tYmFzZSwgJGlucHV0LXBhZGRpbmcteSwgJGJtZC1mb3JtLWxpbmUtaGVpZ2h0LCBcImJtZC1mb3JtLWdyb3VwIGRlZmF1bHRcIik7XG5cbiAgLy8gc20gZmxvYXRpbmcgc2l6ZS9sb2NhdGlvblxuICAmLmJtZC1mb3JtLWdyb3VwLXNtIHtcbiAgICBAaW5jbHVkZSBibWQtZm9ybS1zaXplLXZhcmlhbnQoJGZvbnQtc2l6ZS1zbSwgJGJtZC1sYWJlbC10b3AtbWFyZ2luLXNtLCAkaW5wdXQtcGFkZGluZy15LXNtLCAkYm1kLWZvcm0tbGluZS1oZWlnaHQtc20sIFwiYm1kLWZvcm0tZ3JvdXAgc21cIik7XG4gIH1cblxuICAvLyBsZyBmbG9hdGluZyBzaXplL2xvY2F0aW9uXG4gICYuYm1kLWZvcm0tZ3JvdXAtbGcge1xuICAgIEBpbmNsdWRlIGJtZC1mb3JtLXNpemUtdmFyaWFudCgkZm9udC1zaXplLWxnLCAkYm1kLWxhYmVsLXRvcC1tYXJnaW4tbGcsICRpbnB1dC1wYWRkaW5nLXktbGcsICRibWQtZm9ybS1saW5lLWhlaWdodC1zbSwgXCJibWQtZm9ybS1ncm91cCBsZ1wiKTtcbiAgfVxufVxuXG4vLyBkZWZhdWx0IGZsb2F0aW5nIHNpemUvbG9jYXRpb24gd2l0aG91dCBhIGZvcm0tZ3JvdXAgKHdpbGwgc2tpcCBmb3JtLWdyb3VwIHN0eWxlcywgYW5kIGp1c3QgcmVuZGVyIGRlZmF1bHQgc2l6aW5nIHZhcmlhdGlvbikgLSBJTVBPUlRBTlQgZm9yIG5vbi1mb3JtLWdyb3VwIHNwYWNpbmcgc3VjaCBhcyByYWRpby9jaGVja2JveC9zd2l0Y2hcbkBpbmNsdWRlIGJtZC1mb3JtLXNpemUtdmFyaWFudCgkZm9udC1zaXplLWJhc2UsICRibWQtbGFiZWwtdG9wLW1hcmdpbi1iYXNlLCAkaW5wdXQtcGFkZGluZy15LCAkYm1kLWZvcm0tbGluZS1oZWlnaHQpO1xuXG5zZWxlY3Qge1xuICAmLFxuICAmLmZvcm0tY29udHJvbCB7XG4gICAgLy8gVXNlIHZlbmRvciBwcmVmaXhlcyBhcyBgYXBwZWFyYW5jZWAgaXNuJ3QgcGFydCBvZiB0aGUgQ1NTIHNwZWMuIE9TWCBkb2Vzbid0IG9iZXkgdGhlIGJvcmRlci1yYWRpdXM6IDAgd2l0aG91dCB0aGlzLlxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cblxuLy8gSW5wdXQgZmlsZXMgLSBoaWRlIGFjdHVhbCBpbnB1dCAtIHJlcXVpcmVzIHNwZWNpZmljIG1hcmt1cCBpbiB0aGUgc2FtcGxlLlxuLy8uYm1kLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1maWxlXSB7XG4vLyAgb3BhY2l0eTogMDtcbi8vICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgdG9wOiAwO1xuLy8gIHJpZ2h0OiAwO1xuLy8gIGJvdHRvbTogMDtcbi8vICBsZWZ0OiAwO1xuLy8gIHdpZHRoOiAxMDAlO1xuLy8gIGhlaWdodDogMTAwJTtcbi8vICB6LWluZGV4OiAxMDA7XG4vL31cblxuLy9cbi8vXG4vLy5mb3JtLWhvcml6b250YWwge1xuLy9cbi8vICAvLyBDb25zaXN0ZW50IHZlcnRpY2FsIGFsaWdubWVudCBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXNcbi8vICAucmFkaW8sXG4vLyAgLmNoZWNrYm94LFxuLy8gIC5yYWRpby1pbmxpbmUsXG4vLyAgLmNoZWNrYm94LWlubGluZSB7XG4vLyAgICBwYWRkaW5nLXRvcDogMDtcbi8vICB9XG4vL1xuLy8gIC5yYWRpbyB7XG4vLyAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuLy8gIH1cbi8vXG4vLyAgbGFiZWwge1xuLy8gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4vLyAgfVxuLy9cbi8vICBsYWJlbCB7XG4vLyAgICBtYXJnaW46IDA7XG4vLyAgfVxuLy99XG5cbi5mb3JtLWlubGluZSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGlucHV0LWdyb3VwIGFuZCBpbnB1dC1ncm91cC1hZGRvbiBzdHlsZXNcbi8vICBub3RlOiBmb3JtLWdyb3VwcyBhcmUgbm90IHJlcXVpcmVkXG4vL1xuQG1peGluIGlucHV0LWdyb3VwLWJ1dHRvbi12YXJpYXRpb24oJHZlcnRpY2FsLXBhZGRpbmcpIHtcbiAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgLmJ0biB7XG4gICAgICAvL21hcmdpbjogMCAwICR2ZXJ0aWNhbC1wYWRkaW5nIDA7XG4gICAgfVxuICB9XG59XG5cbi8vIGRlZmF1bHQgbWFyZ2luIC0gbm8gZm9ybS1ncm91cCByZXF1aXJlZFxuQGluY2x1ZGUgaW5wdXQtZ3JvdXAtYnV0dG9uLXZhcmlhdGlvbihpbnB1dC1wYWRkaW5nLXkpO1xuXG4mLmJtZC1mb3JtLWdyb3VwLXNtIHtcbiAgQGluY2x1ZGUgaW5wdXQtZ3JvdXAtYnV0dG9uLXZhcmlhdGlvbigkaW5wdXQtcGFkZGluZy15LXNtKTtcbn1cblxuJi5ibWQtZm9ybS1ncm91cC1sZyB7XG4gIEBpbmNsdWRlIGlucHV0LWdyb3VwLWJ1dHRvbi12YXJpYXRpb24oJGlucHV0LXBhZGRpbmcteS1sZyk7XG59XG5cbi5pbnB1dC1ncm91cCB7IC8vIG1heSBiZSBpbiBvciBvdXRzaWRlIG9mIGZvcm0tZ3JvdXBcblxuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYWRkb24gKyBpbnB1dCxcbiAgaW5wdXQgKyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAuNzVyZW07XG4gIH1cbn1cbiIsIi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9saXN0cy5odG1sI2xpc3RzLXNwZWNzXG5cbi8vIC0gc2luZ2xlIGxpbmUgNDhkcFxuLy8gLSBzaW5nbGUgbGluZSBhdmF0YXIgNTZkcFxuLy8gLSBkb3VibGUgbGluZSAod2l0aCBhbmQgdy9vIGF2YXRhcikgNzJkcFxuLy8gLSB0cmlwbGUgbGluZSA4OGRwXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gIzg1MyBzdGFydCAtLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk4MS9maWxlc1xuICBAaWYgJGVuYWJsZS1mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLy8gIzg1MyBlbmQgLS0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5ODEvZmlsZXNcblxuICBmbGV4LWdyb3c6IDE7XG5cbiAgLy8gQWRkIDhkcCBvZiBwYWRkaW5nIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBhIGxpc3QuIE9uZSBleGNlcHRpb24gaXMgYXQgdGhlIHRvcCBvZiBhIGxpc3Qgd2l0aCBhIHN1YmhlYWRlciwgYmVjYXVzZSBzdWJoZWFkZXJzIGNvbnRhaW4gdGhlaXIgb3duIHBhZGRpbmcuXG4gIHBhZGRpbmc6IC41cmVtIDA7XG5cbiAgLy8gZGVuc2Ugc2l6ZSB2YXJpYXRpb25cbiAgJi5ibWQtbGlzdC1ncm91cC1zbSB7XG4gICAgcGFkZGluZzogLjI1cmVtIDA7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgfVxuICB9XG59XG5cbi5ibWQtbGlzdC1ncm91cC1jb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7XG4gIC8vZmxleC1zaHJpbms6IDA7XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICAvLyAjODUzIHN0YXJ0IC0tIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE4OTgxL2ZpbGVzXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9IEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAvLyAjODUzIGVuZCAtLSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xODk4MS9maWxlc1xuICBwYWRkaW5nOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAubGlzdC1ncm91cC1pdGVtLXRleHQgeyAvLyB3b3JkIHdyYXA/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NTM1NDY5LzIzNjM5MzVcbiAgICAvL2ZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC1oZWlnaHQ6IDIuMTg4cmVtOyAvLyA4OGRwIHRpbGUgdG90YWwgaGVpZ2h0XG4gICAgLy8gRklYTUU6IHRleHQgb3ZlcmZsb3cgd2l0aCBlbGxpcHNpcyBpcyBub3Qgd29ya2luZ1xuICAgIC8vZmxleDogMCAxIGF1dG87IC8vICAgIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTIwMjIyODgvaG93LXRvLWtlZXAtYS1mbGV4LWl0ZW0tZnJvbS1vdmVyZmxvd2luZy1kdWUtdG8taXRzLXRleHRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLy8tLS0tLS1cbiAgLy8gTk9URTogdGhlcmUgYXJlIG1hbnkgdmFyaWF0aW9ucyBvZiBpY29ucy9sYWJlbHMgaW4gYSBsaXN0LCBlYWNoIG9uZSBvZiB0aGVzZSBydWxlcyBleGlzdCBmb3IgYSByZWFzb24uXG5cbiAgLy8gZmlyc3QgaWNvbi9sYWJlbCBvbiB0aGUgbGVmdFxuICA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgLy8gc2luZ2xlIGxpbmUgaWNvbiBpcyA3MmRwIHRvIHRleHQgKDE2IHBhZCArIDI0IGljb24gKyAzMiBtYXJnaW4pXG4gIH1cblxuICAvLyBzZWNvbmQgaWNvbi9sYWJlbCwgb3Igb25seSBpY29uL2xhYmVsIG1hcmtlZCBhcyAncHVsbC0qLXJpZ2h0Jywgb3IgYW55IGRpcmVjdCBjaGlsZCBlbGVtZW50IG1hcmtlZCBhcyByaWdodFxuICA+IC5wdWxsLXhzLXJpZ2h0LFxuICA+IC5wdWxsLXNtLXJpZ2h0LFxuICA+IC5wdWxsLW1kLXJpZ2h0LFxuICA+IC5wdWxsLWxnLXJpZ2h0LFxuICA+IC5wdWxsLXhsLXJpZ2h0LFxuICA+ICogfiAubGFiZWw6bGFzdC1jaGlsZCxcbiAgPiAqIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgLy8gc29tZSB2YXJpYXRpb25zIGFjdHVhbGx5IG1hdGNoIHRoZSBmaXJzdC1jaGlsZFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gYWRkIHRoZSBwYWRkaW5nIHRvIGljb25zIChtYXJnaW4tbGVmdCBpcyB1c2VkIGZvciBhbGlnbm1lbnQpXG4gIC5tYXRlcmlhbC1pY29ucy5wdWxsLXhzLXJpZ2h0LCAvLyBuZWVkIHRoZSBzcGVjaWZpY2l0eVxuICAubWF0ZXJpYWwtaWNvbnMucHVsbC1zbS1yaWdodCxcbiAgLm1hdGVyaWFsLWljb25zLnB1bGwtbWQtcmlnaHQsXG4gIC5tYXRlcmlhbC1pY29ucy5wdWxsLWxnLXJpZ2h0LFxuICAubWF0ZXJpYWwtaWNvbnMucHVsbC14bC1yaWdodCxcbiAgLm1hdGVyaWFsLWljb25zIH4gLm1hdGVyaWFsLWljb25zOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgLy8gZ3VhcmFudGVlIHNwYWNlIHBlciBzcGVjXG4gIH1cbiAgLy8tLS0tLS1cblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIC8vZm9udC1zaXplOiAxcmVtO1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgY29sb3I6ICRncmF5O1xuICB9XG59XG4iLCIvLyBCUzQgaGFzIG5vdCB5ZXQgY29udmVydGVkIHRoZSBmb2xsb3dpbmcgdG8gdmFyaWFibGVzIC0ga2VlcCBhbiBleWUgb24gaXQgYW5kIG1vdmUgdG8gdmFyaWFibGVzIHdoZW4gcG9zc2libGUuXG4udGhlYWQtaW52ZXJzZSB7XG4gIHRoIHtcbiAgICAvL2NvbG9yOiAkYm1kLWludmVyc2U7IC8vICNmZmY7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICB9XG59XG4udGhlYWQtZGVmYXVsdCB7XG4gIHRoIHtcbiAgICAvL2NvbG9yOiAkZ3JheTtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRibWQtaW52ZXJzZS1saWdodGVyOyAvLyRncmF5LWxpZ2h0ZXI7XG4gIH1cbn1cblxuLnRhYmxlLWludmVyc2Uge1xuICBjb2xvcjogJGJtZC1pbnZlcnNlLWxpZ2h0OyAvLyRncmF5LWxpZ2h0ZXI7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFyaztcblxuICAvL3RoLFxuICAvL3RkLFxuICAvL3RoZWFkIHRoIHtcbiAgLy8gIGJvcmRlci1jb2xvcjogJGdyYXk7XG4gIC8vfVxufVxuXG5cbiIsIi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy90YWJzLmh0bWwjdGFicy1zcGVjc1xuXG4ubmF2LWxpbmsge1xuICAvL2xpbmUtaGVpZ2h0OiAkYm1kLW5hdi1saW5rLWxpbmUtaGVpZ2h0OyAvLyBzZXQgYmFzZWxpbmUgbGluZS1oZWlnaHQgYW5kIGZvbnQgc2l6ZXNcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gbmF2YmFyc1xuLm5hdmJhci1uYXYge1xuICAubmF2LWxpbmsge1xuICAgIHBhZGRpbmc6ICRibWQtbmF2YmFyLWxpbmstcGFkZGluZztcbiAgICBmb250LXNpemU6ICRibWQtbmF2YmFyLWxpbmstZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm1kLW5hdmJhci1saW5rLWZvbnQtd2VpZ2h0O1xuICB9XG59XG5cblxuLy8gcGlsbHMgYW5kIHRhYnNcbi5uYXYtdGFicyxcbi5uYXYtcGlsbHMge1xuICBib3JkZXI6IDA7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAkYm1kLW5hdi10YWJzLXBpbGxzLWxpbmstcGFkZGluZztcbiAgICBmb250LXNpemU6ICRibWQtbmF2LXRhYnMtcGlsbHMtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYm1kLW5hdi10YWJzLXBpbGxzLWZvbnQtd2VpZ2h0O1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4vLyB0YWJzIG9ubHlcbi5uYXYtdGFicyB7XG4gIC5uYXYtbGluayB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJtZC1uYXYtdGFicy1ib3JkZXItc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIGNvbG9yc1xuICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLWNvbG9yLCAkYm1kLW5hdi10YWJzLWFjdGl2ZS1jb2xvciwgJGJtZC1uYXYtdGFicy1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLWRpc2FibGVkLWxpbmstY29sb3IsICRibWQtbmF2LXRhYnMtZGlzYWJsZWQtbGluay1jb2xvci1ob3Zlcik7XG5cbiAgJi5iZy1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLXByaW1hcnktY29sb3IsICRibWQtbmF2LXRhYnMtcHJpbWFyeS1hY3RpdmUtY29sb3IsICRibWQtbmF2LXRhYnMtcHJpbWFyeS1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLXByaW1hcnktZGlzYWJsZWQtbGluay1jb2xvciwgJGJtZC1uYXYtdGFicy1wcmltYXJ5LWRpc2FibGVkLWxpbmstY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgJi5iZy1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBibWQtdGFicy1jb2xvcigkYm1kLW5hdi10YWJzLWludmVyc2UtY29sb3IsICRibWQtbmF2LXRhYnMtaW52ZXJzZS1hY3RpdmUtY29sb3IsICRibWQtbmF2LXRhYnMtaW52ZXJzZS1hY3RpdmUtYm9yZGVyLWNvbG9yLCAkYm1kLW5hdi10YWJzLWludmVyc2UtZGlzYWJsZWQtbGluay1jb2xvciwgJGJtZC1uYXYtdGFicy1pbnZlcnNlLWRpc2FibGVkLWxpbmstY29sb3ItaG92ZXIpO1xuICB9XG59XG5cbi8vIHVzZWQgdG8gY29ycmVjdGx5IHNpemUgcmlwcGxlIGNvbnRhaW5lclxuLm5hdiB7XG4gIC5uYXYtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG4iLCJAbWl4aW4gYm1kLXRhYnMtY29sb3IoJGNvbG9yLCAkYWN0aXZlLWNvbG9yLCAkYWN0aXZlLWJvcmRlciwgJGRpc2FibGVkLWxpbmstY29sb3IsICRkaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yKSB7XG4gIC5uYXYtbGluayB7XG5cbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHQgYW5kIHJlbW92ZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgcGxhaW4taG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubmF2YmFyIHtcbiAgei1pbmRleDogMTsgLy8gcmVxdWlyZWQgdG8gbWFrZSB0aGUgc2hhZG93IG92ZXJsYXAgdGhlIGJlbG93IGNvbnRlbnQgKG5lZWQgaXMgdmlzaWJsZSBpbiBtb2JpbGUgZHJhd2VyIG92ZXJsYXkpXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy0yZHApO1xuXG4gIC8vIGdpdmUgY29ycmVjdCBzaXplIHRvIHJpcHBsZSBjb250YWluZXJcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gIzg1MyBzdGFydCAtIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE4OTc2L2ZpbGVzXG4gIEBpZiAkZW5hYmxlLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAgID4gKiB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG4gIC8vICM4NTMgZW5kIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTg5NzYvZmlsZXNcblxuICA+IC5jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbiIsIi5hbGVydCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIlxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6ICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC5wcm9ncmVzcy1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLy9AaW5jbHVkZSB2YXJpYXRpb25zKHVucXVvdGUoXCIucHJvZ3Jlc3MtYmFyXCIpLCB1bnF1b3RlKFwiXCIpLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYnJhbmQtcHJpbWFyeSk7XG4gIH1cbn1cbiIsIi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmsge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cyg0ZW0pO1xuICB9XG4gICY6bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDRlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICA+IC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWxpbmsge1xuICBtaW4td2lkdGg6IDIuNmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRlbTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICAucGFnZS1saW5rIHtcbiAgICBtaW4td2lkdGg6IDIuOGVtO1xuICB9XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCA0ZW0pO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIG1pbi13aWR0aDogMi4yZW07XG4gIH1cbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sIDRlbSk7XG59XG4iLCIvLyBUaGlzIG5lZWRzIHJldmlldywgaW5jbHVkaW5nIGNvbG9yczogaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcblxuLy8gYWRqdXN0IHVwIHRoZSBoNiB3ZWlnaHRcbmg2IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbiIsIi8vaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9jb21wb25lbnRzL2NhcmRzLmh0bWwjY2FyZHMtY29udGVudC1ibG9ja3Ncbi8vIENhcmQgcmVzdGluZyBlbGV2YXRpb246IDJkcFxuLmNhcmQge1xuICBib3JkZXI6IDA7XG5cbiAgLy8gQ2FyZHMgaGF2ZSBhIGRlZmF1bHQgZWxldmF0aW9uIG9mIDJkcC5cbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYm1kLXNoYWRvdy0yZHApO1xuICBAZXh0ZW5kICVzdGQtZm9udDtcblxuICAvLyBzcGVjOiBzZWUgXCJBdmF0YXIsIFRpdGxlLCBhbmQgU3VidGl0bGUgYXJlYVwiXG4gIC8vIEhlaWdodDogNzJkcFxuICAvLyBQYWRkaW5nOiAxNmRwXG4gIC8vIFRvcCBhbmQgYm90dG9tIHBhZGRpbmc6IDE2ZHBcbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG5cbiAgLmNhcmQtYmxvY2sge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtIDFyZW07XG4gICAgLy9AZXh0ZW5kICVzdGQtZm9udDtcbiAgfVxuXG4gIC8vIFByaW1hcnkgdGl0bGUvdGV4dFxuICAvLyAgLSBUaXRsZTogMjRzcCBvciAxNHNwXG4gIC8vICAtIFN1YnRpdGxlOiAxNHNwXG5cbiAgLy8gbm9uLWgqIGNhcmQtdGl0bGVzIHdpbGwgYmUgMTRzcFxuICAvLyYuY2FyZC10aXRsZSB7XG4gIC8vICBAZXh0ZW5kICVzdGQtZm9udDtcbiAgLy99XG5cbiAgLy8gYW55IGgqIHdpbGwgc2lnbmFsIHRoZSBsYXJnZXIgc2l6ZSBzaG91bGQgcmVuZGVyIGFzIDI0c3BcbiAgQGluY2x1ZGUgaGVhZGluZ3MoKSB7XG4gICAgJi5jYXJkLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAuYm1kLWNhcmQtYWN0aW9ucywgLy8gbmVlZGVkPyAgaWYgeW91IGhhdmUgYWN0aW9ucyBpbiB0aGUgbWlkZGxlIG9mIHRoZSBjYXJkIChzZWUgc3BlYyksIGl0IG1heSBiZSBuZWNlc3NhcnlcbiAgLmNhcmQtZm9vdGVyIHsgLy8gYXNzdW1lIGZvb3RlciBpcyB0aGUgc2V0IG9mIGFjdGlvbnM/XG4gICAgcGFkZGluZzogLjVyZW07XG4gIH1cblxuICAmLmJtZC1jYXJkLXJhaXNlZCB7XG4gICAgLy8gQ2FyZCByYWlzZWQgZWxldmF0aW9uOiA4ZHBcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRibWQtc2hhZG93LThkcCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLy8gT24gZGVza3RvcCwgY2FyZHMgY2FuIGhhdmUgYSByZXN0aW5nIGVsZXZhdGlvbiBvZiAwZHAgYW5kIGdhaW4gYW4gZWxldmF0aW9uIG9mIDhkcCBvbiBob3Zlci5cbiAgICAmLmJtZC1jYXJkLWZsYXQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyBNb2RhbHNcbi8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvY29tcG9uZW50cy9kaWFsb2dzLmh0bWwjZGlhbG9ncy1zcGVjc1xuXG4ubW9kYWwtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG5cbiAgLm1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuICAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHg7XG4gIH1cbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIC5idG4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5idG4gKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBNZW51cyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvbWVudXMuaHRtbCNtZW51cy1zcGVjc1xuLy8gRHJvcGRvd24gYnV0dG9ucyAobW9iaWxlIGFuZCBkZXNrdG9wKSBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvYnV0dG9ucy5odG1sI2J1dHRvbnMtZHJvcGRvd24tYnV0dG9uc1xuXG5AbWl4aW4gbWVudS1ib3R0b20tbGVmdCB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuXG5AbWl4aW4gbWVudS1ib3R0b20tcmlnaHQge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyB1dGlsaXplIHRyYW5zaXRpb24gdHJhbnNmb3JtIGluc3RlYWQgb2YgZmxpcHBpbmcgZGlzcGxheVxuICBwYWRkaW5nOiAuMjVyZW0gMDtcbiAgYm9yZGVyOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJtZC1tZW51LWV4cGFuZC1kdXJhdGlvbiAkYm1kLWFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LCBvcGFjaXR5ICRibWQtbWVudS1mYWRlLWR1cmF0aW9uICRibWQtYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgcGFkZGluZzogLjVyZW0gMDtcbiAgfVxuXG4gIC5vcGVuID4gJiB7XG4gICAgLy96LWluZGV4OiA5OTk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93biB0byBvcmlnaW5hdGUgb24gdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgYnV0dG9uXG4gIEBpbmNsdWRlIG1lbnUtYm90dG9tLXJpZ2h0KCk7XG4gIC8vIEZJWE1FOiBib290c3RyYXAgYWxpZ25tZW50IGlzc3VlIC0gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODg1MlxuXG4gICYuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZW51LWJvdHRvbS1sZWZ0KCk7XG4gIH1cblxuICAmLmRyb3Bkb3duLW1lbnUtcmlnaHQge1xuICAgIEBpbmNsdWRlIG1lbnUtYm90dG9tLXJpZ2h0KCk7XG4gIH1cblxuICAvLyYuZHJvcGRvd24tbWVudS10b3AtbGVmdCB7XG4gIC8vICB0b3A6IGF1dG87XG4gIC8vICBib3R0b206IDA7ICAvLyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHRvZ2dsZS1idXR0b24gaGVpZ2h0LCBzZWUgYm1kLWJ0bi1pY29uIGFib3ZlXG4gIC8vICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG4gIC8vfVxuICAvL1xuICAvLyYuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICAvLyAgdG9wOiBhdXRvO1xuICAvLyAgcmlnaHQ6IDA7XG4gIC8vICBib3R0b206IDA7ICAvLyBuZWVkcyB0byBiZSBvdmVycmlkZGVuIHdpdGggdGhlIHRvZ2dsZS1idXR0b24gaGVpZ2h0LCBzZWUgYm1kLWJ0bi1pY29uIGFib3ZlXG4gIC8vICBsZWZ0OiBhdXRvO1xuICAvLyAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAvL31cblxuICAvLyBodHRwczovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL2NvbXBvbmVudHMvbWVudXMuaHRtbCNtZW51cy1zcGVjc1xuICAuZHJvcGRvd24taXRlbSB7XG4gICAgLy8gdXNlZCB0byBwcm9wZXJseSBzaXplIHRoZSByaXBwbGUgY29udGFpbmVyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBtaW4td2lkdGg6ICRibWQtbWVudS1pdGVtLW1pbi13aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRibWQtbWVudS1pdGVtLW1heC13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkYm1kLW1lbnUtaXRlbS1taW4taGVpZ2h0O1xuXG4gICAgcGFkZGluZzogJGJtZC1tZW51LWl0ZW0tcGFkZGluZy10b3AgJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1yaWdodCAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWJvdHRvbSAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWxlZnQ7XG5cbiAgICAvLyBGSVhNRTogbXVsdGktbGluZSBtZW51IHdvcmQgd3JhcHBpbmcgZG9lc24ndCB3b3JrIC0gc2VlIHRoZSBtYXhpbXVtIHdpZHRoIGV4YW1wbGUgaW4gbWVudXMubWRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAkYm1kLW1lbnUtbGluZS1oZWlnaHQ7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG5cbiAgICAvLyBTaW1wbGUgbWVudXMgYWx3YXlzIG1haW50YWluIGEgMTZkcCBtYXJnaW4gKHBob25lKSBvciAyNGRwIG1hcmdpbiAodGFibGV0KSB0byB0aGUgbGVmdCBhbmQgcmlnaHQgZWRnZXMgb2YgdGhlIHNjcmVlbi5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLXJpZ2h0LW1kO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkYm1kLW1lbnUtaXRlbS1wYWRkaW5nLWxlZnQtbWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gdGhpcyBjb3VsZCBiZSBpbiBhIC5idG4tZ3JvdXAgb3IgLmRyb3Bkb3duXG4uZHJvcGRvd24tdG9nZ2xlIHtcblxuICAmLmJtZC1idG4taWNvbixcbiAgJi5ibWQtYnRuLWZhYiB7XG4gICAgLy8gcmVtb3ZlIHRoZSBkcm9wZG93biBpY29uXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB+IC5kcm9wZG93bi1tZW51IHtcbiAgICAgICYuZHJvcGRvd24tbWVudS10b3AtbGVmdCxcbiAgICAgICYuZHJvcGRvd24tbWVudS10b3AtcmlnaHQge1xuICAgICAgICBib3R0b206ICRibWQtYnRuLWljb24tc2l6ZTsgLy8gcHVzaCB1cCB0aGUgYm90dG9tIG9mIHRoZSBtZW51IHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYm1kLWJ0bi1mYWItc20ge1xuICAgIH4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgJi5kcm9wZG93bi1tZW51LXRvcC1sZWZ0LFxuICAgICAgJi5kcm9wZG93bi1tZW51LXRvcC1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogJGJtZC1idG4tZmFiLXNpemUtc207IC8vIHB1c2ggdXAgdGhlIGJvdHRvbSBvZiB0aGUgbWVudSB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b25cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJtZC1idG4taWNvbiB7XG4gICAgfiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAvLyBjb2xsYXBzZSBzb21lIHNwYWNpbmdcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIiRibWQtbWVudS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDsgLy8gbWFrZXMgaXQgZWFzaWVyIHRvIHVzZSBzaXplcyB0byBtYXRjaCBzcGVjXG5cbiRibWQtbWVudS1pdGVtLW1pbi13aWR0aDogN3JlbSAhZGVmYXVsdDsgLy8gTWluaW11bSB3aWR0aCBvbiBtb2JpbGUgPSAyICogNTZkcCA9IDExMmRwXG4kYm1kLW1lbnUtaXRlbS1tYXgtd2lkdGg6IDE3LjVyZW0gIWRlZmF1bHQ7IC8vIE1heGltdW0gd2lkdGggb24gbW9iaWxlIChpbiBib3RoIHBvcnRyYWl0IGFuZCBsYW5kc2NhcGUpID0gNSAqIDU2ZHAgPSAyODBkcFxuJGJtZC1tZW51LWl0ZW0tbWluLWhlaWdodDogM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG4kYm1kLW1lbnUtaXRlbS1wYWRkaW5nLXJpZ2h0OiAxcmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1ib3R0b206IC44cmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy1sZWZ0OiAxcmVtICFkZWZhdWx0O1xuJGJtZC1tZW51LWl0ZW0tcGFkZGluZy10b3A6IC44cmVtICFkZWZhdWx0O1xuXG4vLyBtZCBhbmQgdXBcbiRibWQtbWVudS1pdGVtLXBhZGRpbmctcmlnaHQtbWQ6IDEuNXJlbSAhZGVmYXVsdDtcbiRibWQtbWVudS1pdGVtLXBhZGRpbmctbGVmdC1tZDogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBNZW51XG4kYm1kLW1lbnUtZXhwYW5kLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJGJtZC1tZW51LWZhZGUtZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4iLCIvLyBJbXBsZW1lbnRhdGlvbiBzcGVjaWZpY2F0aW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9GZXpWcmFzdGEvYm9vdHN0cmFwLW1hdGVyaWFsLWRlc2lnbi9pc3N1ZXMvODIyXG5cbi8vIERyYXdlci5cbi5ibWQtbGF5b3V0LWRyYXdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTsgLy8gb3ZlciBhIGhlYWRlciBhbmQgY29udGVudFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmb250LXNpemU6IC44NzVyZW07XG4gIC8vY29sb3I6ICRibWQtbGF5b3V0LWRyYXdlci10ZXh0LWNvbG9yO1xuICAvL2JhY2tncm91bmQ6ICRibWQtbGF5b3V0LWRyYXdlci1iZy1jb2xvcjtcblxuICAvLyBUcmFuc2Zvcm0gb2Zmc2NyZWVuLlxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm07XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGJtZC1zaGFkb3ctMmRwKTtcbiAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcblxuICA+ICoge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLy8gUGxhY2VtZW50IG9mIGNvbW1vbiBjb21wb25lbnRzIHdpdGhpbiB0aGUgZHJhd2VyXG4gIC8vICBZb3UgbWlnaHQgc2F5IHRoaXMgaXMgb3BpbmlvbmF0ZWQgLSBmZWVkYmFjayB3ZWxjb21lLlxuICA+IGhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIC5uYXZiYXItYnJhbmQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2l6aW5nIGFuZCBwb3NpdGlvbmluZyBiZWxvdyBoZXJlXG5cbi8vIGZvciBsZWZ0IG9yIHJpZ2h0IGRyYXdlcnMsIHNldHVwIHdpZHRocywgaGVpZ2h0cyBhbmQgcG9zaXRpb25zXG5AaW5jbHVkZSBibWQtZHJhd2VyLXgtb3V0KCRibWQtZHJhd2VyLXgtc2l6ZSk7XG5cbi8vIGZvciB0b3Agb3IgYm90dG9tIGRyYXdlcnMsIHNldHVwIHdpZHRocywgaGVpZ2h0cyBhbmQgcG9zaXRpb25zXG5AaW5jbHVkZSBibWQtZHJhd2VyLXktb3V0KCRibWQtZHJhd2VyLXktc2l6ZSk7XG5cbi8vIE1hcmtlciBjbGFzcyBmb3IgYm90aCB0cmlnZ2VyaW5nIHRoZSBvcGVuaW5nIG9mIHRoZSBkcmF3ZXIgKGkuZS4gamF2YXNjcmlwdCAjYWRkQ2xhc3MoJy5ibWQtZHJhd2VyLWluJykpLCBhcyB3ZWxsXG4vLyAgYXMgcmVzcG9uc2l2ZSBzaXplcyAoaS5lLiBibWQtZHJhd2VyLWluLW1kIHdpbGwgb3BlbiBvbmNlIHRoZSBicm93c2VyIGlzIHdpZGVyIHRoYW4gNzY4cHgpLlxuLy9cbi8vXG4vLyBibWQtZHJhd2VyLWluLCBibWQtZHJhd2VyLWluLXNtLCBibWQtZHJhd2VyLWluLW1kLCBibWQtZHJhd2VyLWluLWxnXG4vLyAgV2UgaXRlcmF0ZSBvdmVyIHRoZSBzdGFuZGFyZCBncmlkIGJyZWFrcG9pbnRzLCBidXQgd2UgYWxzbyBuZWVkIHN0eWxlcyBmb3IgdGhlIHNpbXBsZXIgYGJtZC1kcmF3ZXItaW5gXG4vLyAgd2l0aG91dCBhIHNpemUgKGZvciB0cmlnZ2VyZWQgb3BlbmluZ3MpLiAgU2luY2UgdGhlIHhzIHNpemUgaXMgMCwgaW5zdGVhZCBvZiB1c2luZyBgYm1kLWRyYXdlci1pbi14c2Bcbi8vICAod2hpY2ggaXMgbW9zdGx5IG1lYW5pbmdsZXNzKSwgd2UgY3JlYXRlIGBibWQtZHJhd2VyLWluYCBtZWFuaW5nIGFsd2F5cyBvcGVuLlxuLy9cbi8vICBOT1RFOiBibWQtZHJhd2VyLWluLSogdXNlcyBtZWRpYS1icmVha3BvaW50LXVwKClcbi8vXG4vLyBibWQtZHJhd2VyLW91dFxuLy8gIEEgbWFya2VyIGNsYXNzIHRoYXQgd2lsbCBfZm9yY2VfIHRoZSBkcmF3ZXIgY2xvc2VkIHJlZ2FyZGxlc3Mgb2YgdGhlIHJlc3BvbnNpdmUgY2xhc3MgcHJlc2VudC4gSWYgKGZvciBzb21lXG4vLyAgc3RyYW5nZSByZWFzb24pIGJvdGggYm1kLWRyYXdlci1vdXQgYW5kIGJtZC1kcmF3ZXItaW4gYXJlIHByZXNlbnQsIGl0IGFwcGVhcnMgdGhhdCB0aGUgY2xvc2VkIG9wdGlvbiB3aW5zLlxuLy9cbi8vIGJtZC1kcmF3ZXItb3ZlcmxheSwgYm1kLWRyYXdlci1vdmVybGF5LXNtLCBibWQtZHJhd2VyLW92ZXJsYXktbWQsIGJtZC1kcmF3ZXItb3ZlcmxheS1sZ1xuLy8gIFdlIGl0ZXJhdGUgb3ZlciB0aGUgc3RhbmRhcmQgZ3JpZCBicmVha3BvaW50cywgYnV0IHdlIGFsc28gbmVlZCBzdHlsZXMgZm9yIHRoZSBzaW1wbGVyIGBibWQtZHJhd2VyLW92ZXJsYXlgLlxuLy8gIFNpbmNlIHRoZSB4cyBzaXplIGlzIDAsIGluc3RlYWQgb2YgdXNpbmcgYGJtZC1kcmF3ZXItb3ZlcmxheS14c2AsIHdlIGNyZWF0ZSBgYm1kLWRyYXdlci1vdmVybGF5YCBtZWFuaW5nIGFsd2F5cyBvdmVybGF5LlxuLy9cbi8vICBOT1RFOiBibWQtZHJhd2VyLW92ZXJsYXktKiB1c2VzIG1lZGlhLWJyZWFrcG9pbnQtZG93bigpIC0gdGhpcyBpcyBiZWNhdXNlIHdlIHVzdWFsbHkgd2FudCBhIHJlc3BvbnNpdmUgb3ZlcmxheSB0byBiZSB1c2VkIGluIHNtYWxsIHNjcmVlbiBzY2VuYXJpb3MuXG4vL1xuXG4vL1xuLy8gRHJhd2VyIG9wZW4gcG9zaXRpb25pbmcsIGFuZCBzdHlsZSBvcHRpb25zIChwdXNoIGlzIGRlZmF1bHQsIG92ZXJsYXkgaXMgb3B0aW9uYWwpXG46bm90KC5ibWQtZHJhd2VyLW91dCkgeyAvLyBmaXJzdCBlbGltaW5hdGUgcG9zaXRpb25pbmcgb3Igc2l6aW5nIHJ1bGVzIGlmIHRoZSBkcmF3ZXIgaXMgYWxyZWFkeSBmb3JjZWQgY2xvc2VkXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG5cbiAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXgtaW4tdXAoJGJtZC1kcmF3ZXIteC1zaXplLCAkYnJlYWtwb2ludCk7XG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LWluLXVwKCRibWQtZHJhd2VyLXktc2l6ZSwgJGJyZWFrcG9pbnQpO1xuXG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCk7XG4gICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vLy0tLS1cbi8vLy8gRXhhbXBsZSAxOiBjcmVhdGVzIGEgbWVkaWEgcmVzcG9uc2l2ZSBraXRjaGVuLXNpbmstZHJhd2VyIHRoYXQgcGFpcnMgd2l0aCBibWQtZHJhd2VyLWluLWxnIGFuZCBhbGxvd3MgZm9yIHRoZSBibWQtZHJhd2VyLWluIHRyaWdnZXJcbi8vLmtpdGNoZW4tc2luay1kcmF3ZXIge1xuLy8gICRjdXN0b20tc2l6ZTogNTAwcHg7XG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW91dCgkY3VzdG9tLXNpemUpO1xuLy8gICY6bm90KC5ibWQtZHJhd2VyLW91dCkge1xuLy8gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbi8vICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LWluLXVwKCRjdXN0b20tc2l6ZSwgJGJyZWFrcG9pbnQpO1xuLy8gICAgfVxuLy8gIH1cbi8vfVxuLy9cbi8vLy9cbi8vLy8tLS0tXG4vLy8vIEV4YW1wbGUgMjogY3JlYXRlcyBhIE5PTi1yZXNwb25zaXZlIGtpdGNoZW4tc2luay1kcmF3ZXIgYW5kIGFsbG93cyBmb3IgdGhlIGJtZC1kcmF3ZXItaW4gdHJpZ2dlclxuLy8ua2l0Y2hlbi1zaW5rLWRyYXdlci1zdGF0aWMge1xuLy8gICRjdXN0b20tc2l6ZTogNTAwcHg7XG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW91dCgkY3VzdG9tLXNpemUpOyAvLyBjbG9zZWQgYnkgZGVmYXVsdFxuLy8gIEBpbmNsdWRlIGJtZC1kcmF3ZXIteC1pbigkY3VzdG9tLXNpemUpOyAvLyB0cmlnZ2VyZWQgd2l0aCBibWQtZHJhd2VyLWluXG4vLyAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXkoKTsgLy8gb3ZlcmxheSBieSBkZWZhdWx0LCBubyBvdGhlciBjbGFzc2VzIG5lY2Vzc2FyeVxuLy99XG5cbiIsIi8vIE1peGlucyB0byBhbGxvdyBjcmVhdGlvbiBvZiBhZGRpdGlvbmFsIGN1c3RvbSBkcmF3ZXIgc2l6ZXMgd2hlbiB1c2luZyB0aGUgZGVmYXVsdHMgYXQgdGhlIHNhbWUgdGltZVxuXG5AbWl4aW4gYm1kLWRyYXdlci14LW91dCgkc2l6ZSkge1xuICBAZWFjaCAkc2lkZSwgJGFiYnJldiBpbiAobGVmdDogbCwgcmlnaHQ6IHIpIHtcbiAgICAmLmJtZC1kcmF3ZXItZi0jeyRhYmJyZXZ9IHtcbiAgICAgID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICAgICAgLy8gcG9zaXRpb25cbiAgICAgICAgdG9wOiAwO1xuICAgICAgICAjeyRzaWRlfTogMDtcblxuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBAaWYgJHNpZGUgPT0gbGVmdCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSAtIDEwcHgpOyAvLyBpbml0aWFsIHBvc2l0aW9uIG9mIGRyYXdlciAoY2xvc2VkKSwgd2F5IG9mZiBzY3JlZW5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplICsgMTBweCk7IC8vIGluaXRpYWwgcG9zaXRpb24gb2YgZHJhd2VyIChjbG9zZWQpLCB3YXkgb2ZmIHNjcmVlblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtaGVhZGVyLFxuICAgICAgPiAuYm1kLWxheW91dC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm1kLWRyYXdlci15LW91dCgkc2l6ZSkge1xuICBAZWFjaCAkc2lkZSwgJGFiYnJldiBpbiAodG9wOiB0LCBib3R0b206IGIpIHtcbiAgICAmLmJtZC1kcmF3ZXItZi0jeyRhYmJyZXZ9IHtcbiAgICAgID4gLmJtZC1sYXlvdXQtZHJhd2VyIHtcbiAgICAgICAgLy8gcG9zaXRpb25cbiAgICAgICAgI3skc2lkZX06IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG5cbiAgICAgICAgQGlmICRzaWRlID09IHRvcCB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSAtIDEwcHgpOyAvLyBpbml0aWFsIHBvc2l0aW9uIG9mIGRyYXdlciAoY2xvc2VkKSwgd2F5IG9mZiBzY3JlZW5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplICsgMTBweCk7IC8vIGluaXRpYWwgcG9zaXRpb24gb2YgZHJhd2VyIChjbG9zZWQpLCB3YXkgb2ZmIHNjcmVlblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGZ1bmN0aW9uIGJtZC1kcmF3ZXItYnJlYWtwb2ludC1uYW1lKCRicmVha3BvaW50LCAkc3VmZml4OiBcIlwiKSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogXCImLSN7JGJyZWFrcG9pbnR9I3skc3VmZml4fVwiO1xuICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICRuYW1lOiBcIiZcIjtcbiAgfVxuICBAcmV0dXJuICRuYW1lO1xufVxuXG5AbWl4aW4gYm1kLWRyYXdlci14LWluKCRzaXplKSB7XG4gIEBlYWNoICRzaWRlLCAkYWJicmV2IGluIChsZWZ0OiBsLCByaWdodDogcikge1xuICAgICYuYm1kLWRyYXdlci1mLSN7JGFiYnJldn0ge1xuICAgICAgLy8gUHVzaCAtIGRyYXdlciB3aWxsIHB1c2ggdGhlIGhlYWRlciBhbmQgY29udGVudCAoZGVmYXVsdCBiZWhhdmlvcilcbiAgICAgID4gLmJtZC1sYXlvdXQtaGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNpemV9KTtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAkc2l6ZTtcbiAgICAgIH1cblxuICAgICAgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi0jeyRzaWRlfTogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibWQtZHJhd2VyLXktaW4oJHNpemUpIHtcbiAgQGVhY2ggJHNpZGUsICRhYmJyZXYgaW4gKHRvcDogdCwgYm90dG9tOiBiKSB7XG4gICAgJi5ibWQtZHJhd2VyLWYtI3skYWJicmV2fSB7XG5cbiAgICAgIC8vIDEuIFB1c2ggLSBkcmF3ZXIgd2lsbCBwdXNoIHRoZSBoZWFkZXIgb3IgY29udGVudFxuICAgICAgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgICAgICBAaWYgJHNpZGUgPT0gdG9wIHsgLy8gb25seSBhZGQgbWFyZ2luLXRvcCBvbiBhIGhlYWRlciB3aGVuIHRoZSBkcmF3ZXIgaXMgYXQgdGhlIHRvcFxuICAgICAgICAgIG1hcmdpbi0jeyRzaWRlfTogJHNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiAuYm1kLWxheW91dC1kcmF3ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB9XG5cbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIEBpZiAkc2lkZSA9PSBib3R0b20geyAvLyBvbmx5IGFkZCBtYXJnaW4tYm90dG9tIG9uIGNvbnRlbnQgd2hlbiB0aGUgZHJhd2VyIGlzIGF0IHRoZSBib3R0b21cbiAgICAgICAgICBtYXJnaW4tI3skc2lkZX06ICRzaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIGJyZWFrcG9pbnQgYmFzZWQgb3BlbiB0byBhIHBhcnRpY3VsYXIgc2l6ZVxuQG1peGluIGJtZC1kcmF3ZXIteC1pbi11cCgkc2l6ZSwgJGJyZWFrcG9pbnQpIHtcbiAgLy8gZS5nLiAmLCAmLXNtLCAmLW1kLCAmLWxnXG4gICRuYW1lOiBibWQtZHJhd2VyLWJyZWFrcG9pbnQtbmFtZSgkYnJlYWtwb2ludCwgXCItdXBcIik7XG5cbiAgJi5ibWQtZHJhd2VyLWluIHtcbiAgICAje3VucXVvdGUoJG5hbWUpfSB7IC8vIGJtZC1kcmF3ZXItaW4sIGJtZC1kcmF3ZXItaW4tc20sIGJtZC1kcmF3ZXItaW4tbWQsIGJtZC1kcmF3ZXItaW4tbGdcblxuICAgICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgICAgLy8gYm1kLWRyYXdlci1pbiBtYXJrZXIgY2xhc3MgKG5vbi1yZXNwb25zaXZlKVxuICAgICAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXgtaW4oJHNpemUpO1xuICAgICAgfSBAZWxzZSB7XG5cbiAgICAgICAgLy8gcmVzcG9uc2l2ZSBjbGFzc1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgLy8gYm1kLWRyYXdlci1mLShsZWZ0IGFuZCByaWdodCkgc3R5bGVzXG4gICAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LWluKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBicmVha3BvaW50IGJhc2VkIG9wZW4gdG8gYSBwYXJ0aWN1bGFyIHNpemVcbkBtaXhpbiBibWQtZHJhd2VyLXktaW4tdXAoJHNpemUsICRicmVha3BvaW50KSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogYm1kLWRyYXdlci1icmVha3BvaW50LW5hbWUoJGJyZWFrcG9pbnQsIFwiLXVwXCIpO1xuXG4gICYuYm1kLWRyYXdlci1pbiB7XG4gICAgI3t1bnF1b3RlKCRuYW1lKX0geyAvLyBibWQtZHJhd2VyLWluLCBibWQtZHJhd2VyLWluLXNtLCBibWQtZHJhd2VyLWluLW1kLCBibWQtZHJhd2VyLWluLWxnXG5cbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAgIC8vIGJtZC1kcmF3ZXItaW4gbWFya2VyIGNsYXNzIChub24tcmVzcG9uc2l2ZSlcbiAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci15LWluKCRzaXplKTtcbiAgICAgIH0gQGVsc2Uge1xuXG4gICAgICAgIC8vIHJlc3BvbnNpdmUgY2xhc3NcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIC8vIGJtZC1kcmF3ZXItZi0obGVmdCBhbmQgcmlnaHQpIHN0eWxlc1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteS1pbigkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJtZC1kcmF3ZXIteC1vdmVybGF5KCkge1xuICBAaW5jbHVkZSBibWQtbGF5b3V0LWJhY2tkcm9wLWluKCk7XG5cbiAgQGVhY2ggJHNpZGUsICRhYmJyZXYgaW4gKGxlZnQ6IGwsIHJpZ2h0OiByKSB7XG4gICAgJi5ibWQtZHJhd2VyLWYtI3skYWJicmV2fSB7XG4gICAgICA+IC5ibWQtbGF5b3V0LWhlYWRlcixcbiAgICAgID4gLmJtZC1sYXlvdXQtY29udGVudCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tI3skc2lkZX06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibWQtZHJhd2VyLXktb3ZlcmxheSgpIHtcbiAgQGluY2x1ZGUgYm1kLWxheW91dC1iYWNrZHJvcC1pbigpO1xuXG4gIEBlYWNoICRzaWRlLCAkYWJicmV2IGluICh0b3A6IHQsIGJvdHRvbTogYikge1xuICAgICYuYm1kLWRyYXdlci1mLSN7JGFiYnJldn0ge1xuICAgICAgPiAuYm1kLWxheW91dC1oZWFkZXIge1xuICAgICAgICBAaWYgJHNpZGUgPT0gdG9wIHsgLy8gb25seSBhZGQgbWFyZ2luLXRvcCBvbiBhIGhlYWRlciB3aGVuIHRoZSBkcmF3ZXIgaXMgYXQgdGhlIHRvcFxuICAgICAgICAgIG1hcmdpbi0jeyRzaWRlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IC5ibWQtbGF5b3V0LWNvbnRlbnQge1xuICAgICAgICBAaWYgJHNpZGUgPT0gYm90dG9tIHsgLy8gb25seSBhZGQgbWFyZ2luLWJvdHRvbSBvbiBjb250ZW50IHdoZW4gdGhlIGRyYXdlciBpcyBhdCB0aGUgYm90dG9tXG4gICAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE92ZXJsYXkgLSBsZWZ0L3JpZ2h0IHJlc3BvbnNpdmUgb3ZlcmxheSBjbGFzc2VzIGFuZCBtYXJrZXIgY2xhc3NcbkBtaXhpbiBibWQtZHJhd2VyLXgtb3ZlcmxheS1kb3duKCRicmVha3BvaW50KSB7XG4gIC8vIGUuZy4gJiwgJi1zbSwgJi1tZCwgJi1sZ1xuICAkbmFtZTogYm1kLWRyYXdlci1icmVha3BvaW50LW5hbWUoJGJyZWFrcG9pbnQsIFwiLWRvd25cIik7XG5cbiAgJi5ibWQtZHJhd2VyLW92ZXJsYXkge1xuICAgICN7dW5xdW90ZSgkbmFtZSl9IHsgLy8gYm1kLWRyYXdlci1vdmVybGF5LCBibWQtZHJhd2VyLW92ZXJsYXktc20sIGJtZC1kcmF3ZXItb3ZlcmxheS1tZCwgYm1kLWRyYXdlci1vdmVybGF5LWxnXG5cbiAgICAgIC8vIHggLSBsZWZ0L3JpZ2h0XG5cbiAgICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7IC8vIG92ZXJsYXkgbWFya2VyIGNsYXNzIChub24tcmVzcG9uc2l2ZSlcblxuICAgICAgICAvLyBNdXN0IGRvdWJsZSB1cCBvbiB0aGUgLmJtZC1kcmF3ZXItb3ZlcmxheSBjbGFzcyB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eSBvdGhlcndpc2UgdGhlXG4gICAgICAgIC8vICByZXNwb25zaXZlIGJtZC1kcmF3ZXItaW4tKiBtZWRpYSBxdWVyaWVzIGFib3ZlIHdpbiAoYW5kIG92ZXJsYXkgaXMgaWdub3JlZClcbiAgICAgICAgJi5ibWQtZHJhd2VyLW92ZXJsYXkge1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteC1vdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHsgLy8gb3ZlcmxheSByZXNwb25zaXZlIGNsYXNzXG4gICAgICAgICAgQGluY2x1ZGUgYm1kLWRyYXdlci14LW92ZXJsYXkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPdmVybGF5IC0gdG9wL2JvdHRvbSByZXNwb25zaXZlIG92ZXJsYXkgY2xhc3NlcyBhbmQgbWFya2VyIGNsYXNzXG5AbWl4aW4gYm1kLWRyYXdlci15LW92ZXJsYXktZG93bigkYnJlYWtwb2ludCkge1xuICAvLyBlLmcuICYsICYtc20sICYtbWQsICYtbGdcbiAgJG5hbWU6IGJtZC1kcmF3ZXItYnJlYWtwb2ludC1uYW1lKCRicmVha3BvaW50LCBcIi1kb3duXCIpO1xuXG4gICYuYm1kLWRyYXdlci1vdmVybGF5IHtcbiAgICAje3VucXVvdGUoJG5hbWUpfSB7IC8vIGJtZC1kcmF3ZXItb3ZlcmxheSwgYm1kLWRyYXdlci1vdmVybGF5LXNtLCBibWQtZHJhd2VyLW92ZXJsYXktbWQsIGJtZC1kcmF3ZXItb3ZlcmxheS1sZ1xuICAgICAgLy8vLyB5IC0gdG9wL2JvdHRvbVxuXG4gICAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMgeyAvLyBvdmVybGF5IG1hcmtlciBjbGFzcyAobm9uLXJlc3BvbnNpdmUpXG5cbiAgICAgICAgLy8gTXVzdCBkb3VibGUgdXAgb24gdGhlIC5ibWQtZHJhd2VyLW92ZXJsYXkgY2xhc3MgdG8gaW5jcmVhc2Ugc3BlY2lmaWNpdHkgb3RoZXJ3aXNlIHRoZVxuICAgICAgICAvLyAgcmVzcG9uc2l2ZSBibWQtZHJhd2VyLWluLSogbWVkaWEgcXVlcmllcyBhYm92ZSB3aW4gKGFuZCBvdmVybGF5IGlzIGlnbm9yZWQpXG4gICAgICAgICYuYm1kLWRyYXdlci1vdmVybGF5IHtcbiAgICAgICAgICBAaW5jbHVkZSBibWQtZHJhd2VyLXktb3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7IC8vIG92ZXJsYXkgcmVzcG9uc2l2ZSBjbGFzc1xuICAgICAgICAgIEBpbmNsdWRlIGJtZC1kcmF3ZXIteS1vdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRHJhd2VyXG5cbi8vIFNpemluZ1xuJGJtZC1kcmF3ZXIteC1zaXplOiAyNDBweCAhZGVmYXVsdDtcbiRibWQtZHJhd2VyLXktc2l6ZTogMTAwcHggIWRlZmF1bHQ7XG4iLCIvLyBHZW5lcmF0ZXMgdGhlIGAuaW5gIHN0eWxlIGZvciB0aGUgZ2VuZXJpYyBiYWNrZHJvcCB1c2VkIGNvbXBvbmVudHMgc3VjaCBhcyB0aGUgZHJhd2VyIGluIG92ZXJsYXkgbW9kZVxuQG1peGluIGJtZC1sYXlvdXQtYmFja2Ryb3AtaW4oKSB7XG5cbiAgPiAuYm1kLWxheW91dC1iYWNrZHJvcCB7XG4gICAgLmluIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIChwb2ludGVyLWV2ZW50czogYXV0bykge1xuICAgICAgJi5pbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gbWFya2VyIGNsYXNzICh1c2VkIGFzIGEgc2VsZWN0b3IgZm9yIG9uZS1vZmYgZWxlbWVudHMgdG8gZGVjb3JhdGUpXG4ucmlwcGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuICAucmlwcGxlLWRlY29yYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcblxuICAgICYucmlwcGxlLW9uIHtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbiAwcywgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSAwLjFzO1xuICAgIH1cblxuICAgICYucmlwcGxlLW91dCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhciAwcyAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIl19 */
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js
new file mode 100644
index 0000000..aa626d5
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js
@@ -0,0 +1,11743 @@
+/*!
+ * bootstrap-material-design v4.0.2 (https://github.com/FezVrasta/bootstrap-material-design)
+ * Copyright 2016 Federico Zivolo and contributors
+ * Licensed under MIT
+ */
+(function () {
+ 'use strict';
+
+ var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}
+
+ function interopDefault(ex) {
+ return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;
+ }
+
+ function createCommonjsModule(fn, module) {
+ return module = { exports: {} }, fn(module, module.exports), module.exports;
+ }
+
+ var _global = createCommonjsModule(function (module) {
+ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+ var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
+ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
+ });
+
+ var _global$1 = interopDefault(_global);
+
+var require$$3 = Object.freeze({
+ default: _global$1
+ });
+
+ var _has = createCommonjsModule(function (module) {
+ var hasOwnProperty = {}.hasOwnProperty;
+ module.exports = function (it, key) {
+ return hasOwnProperty.call(it, key);
+ };
+ });
+
+ var _has$1 = interopDefault(_has);
+
+var require$$4 = Object.freeze({
+ default: _has$1
+ });
+
+ var _fails = createCommonjsModule(function (module) {
+ module.exports = function (exec) {
+ try {
+ return !!exec();
+ } catch (e) {
+ return true;
+ }
+ };
+ });
+
+ var _fails$1 = interopDefault(_fails);
+
+var require$$1$1 = Object.freeze({
+ default: _fails$1
+ });
+
+ var _descriptors = createCommonjsModule(function (module) {
+ // Thank's IE8 for his funny defineProperty
+ module.exports = !interopDefault(require$$1$1)(function () {
+ return Object.defineProperty({}, 'a', { get: function get() {
+ return 7;
+ } }).a != 7;
+ });
+ });
+
+ var _descriptors$1 = interopDefault(_descriptors);
+
+var require$$1 = Object.freeze({
+ default: _descriptors$1
+ });
+
+ var _core = createCommonjsModule(function (module) {
+ var core = module.exports = { version: '2.4.0' };
+ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
+ });
+
+ var _core$1 = interopDefault(_core);
+ var version = _core.version;
+
+var require$$0 = Object.freeze({
+ default: _core$1,
+ version: version
+ });
+
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
+ return typeof obj;
+ } : function (obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj;
+ };
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ var get = function get(object, property, receiver) {
+ if (object === null) object = Function.prototype;
+ var desc = Object.getOwnPropertyDescriptor(object, property);
+
+ if (desc === undefined) {
+ var parent = Object.getPrototypeOf(object);
+
+ if (parent === null) {
+ return undefined;
+ } else {
+ return get(parent, property, receiver);
+ }
+ } else if ("value" in desc) {
+ return desc.value;
+ } else {
+ var getter = desc.get;
+
+ if (getter === undefined) {
+ return undefined;
+ }
+
+ return getter.call(receiver);
+ }
+ };
+
+ var inherits = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ var possibleConstructorReturn = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
+ };
+
+ var _isObject = createCommonjsModule(function (module) {
+ module.exports = function (it) {
+ return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function';
+ };
+ });
+
+ var _isObject$1 = interopDefault(_isObject);
+
+
+
+ var require$$0$1 = Object.freeze({
+ default: _isObject$1
+ });
+
+ var _anObject = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1);
+ module.exports = function (it) {
+ if (!isObject(it)) throw TypeError(it + ' is not an object!');
+ return it;
+ };
+ });
+
+ var _anObject$1 = interopDefault(_anObject);
+
+var require$$5 = Object.freeze({
+ default: _anObject$1
+ });
+
+ var _domCreate = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1),
+ document = interopDefault(require$$3).document
+ // in old IE typeof document.createElement is 'object'
+ ,
+ is = isObject(document) && isObject(document.createElement);
+ module.exports = function (it) {
+ return is ? document.createElement(it) : {};
+ };
+ });
+
+ var _domCreate$1 = interopDefault(_domCreate);
+
+var require$$2$2 = Object.freeze({
+ default: _domCreate$1
+ });
+
+ var _ie8DomDefine = createCommonjsModule(function (module) {
+ module.exports = !interopDefault(require$$1) && !interopDefault(require$$1$1)(function () {
+ return Object.defineProperty(interopDefault(require$$2$2)('div'), 'a', { get: function get() {
+ return 7;
+ } }).a != 7;
+ });
+ });
+
+ var _ie8DomDefine$1 = interopDefault(_ie8DomDefine);
+
+var require$$1$3 = Object.freeze({
+ default: _ie8DomDefine$1
+ });
+
+ var _toPrimitive = createCommonjsModule(function (module) {
+ // 7.1.1 ToPrimitive(input [, PreferredType])
+ var isObject = interopDefault(require$$0$1);
+ // instead of the ES6 spec version, we didn't implement @@toPrimitive case
+ // and the second argument - flag - preferred type is a string
+ module.exports = function (it, S) {
+ if (!isObject(it)) return it;
+ var fn, val;
+ if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
+ if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;
+ if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;
+ throw TypeError("Can't convert object to primitive value");
+ };
+ });
+
+ var _toPrimitive$1 = interopDefault(_toPrimitive);
+
+var require$$4$1 = Object.freeze({
+ default: _toPrimitive$1
+ });
+
+ var _objectDp = createCommonjsModule(function (module, exports) {
+ var anObject = interopDefault(require$$5),
+ IE8_DOM_DEFINE = interopDefault(require$$1$3),
+ toPrimitive = interopDefault(require$$4$1),
+ dP = Object.defineProperty;
+
+ exports.f = interopDefault(require$$1) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
+ anObject(O);
+ P = toPrimitive(P, true);
+ anObject(Attributes);
+ if (IE8_DOM_DEFINE) try {
+ return dP(O, P, Attributes);
+ } catch (e) {/* empty */}
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');
+ if ('value' in Attributes) O[P] = Attributes.value;
+ return O;
+ };
+ });
+
+ var _objectDp$1 = interopDefault(_objectDp);
+ var f = _objectDp.f;
+
+var require$$2$1 = Object.freeze({
+ default: _objectDp$1,
+ f: f
+ });
+
+ var _propertyDesc = createCommonjsModule(function (module) {
+ module.exports = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+ };
+ });
+
+ var _propertyDesc$1 = interopDefault(_propertyDesc);
+
+var require$$2$3 = Object.freeze({
+ default: _propertyDesc$1
+ });
+
+ var _hide = createCommonjsModule(function (module) {
+ var dP = interopDefault(require$$2$1),
+ createDesc = interopDefault(require$$2$3);
+ module.exports = interopDefault(require$$1) ? function (object, key, value) {
+ return dP.f(object, key, createDesc(1, value));
+ } : function (object, key, value) {
+ object[key] = value;
+ return object;
+ };
+ });
+
+ var _hide$1 = interopDefault(_hide);
+
+var require$$2 = Object.freeze({
+ default: _hide$1
+ });
+
+ var _uid = createCommonjsModule(function (module) {
+ var id = 0,
+ px = Math.random();
+ module.exports = function (key) {
+ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));
+ };
+ });
+
+ var _uid$1 = interopDefault(_uid);
+
+var require$$12 = Object.freeze({
+ default: _uid$1
+ });
+
+ var _redefine = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ hide = interopDefault(require$$2),
+ has = interopDefault(require$$4),
+ SRC = interopDefault(require$$12)('src'),
+ TO_STRING = 'toString',
+ $toString = Function[TO_STRING],
+ TPL = ('' + $toString).split(TO_STRING);
+
+ interopDefault(require$$0).inspectSource = function (it) {
+ return $toString.call(it);
+ };
+
+ (module.exports = function (O, key, val, safe) {
+ var isFunction = typeof val == 'function';
+ if (isFunction) has(val, 'name') || hide(val, 'name', key);
+ if (O[key] === val) return;
+ if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));
+ if (O === global) {
+ O[key] = val;
+ } else {
+ if (!safe) {
+ delete O[key];
+ hide(O, key, val);
+ } else {
+ if (O[key]) O[key] = val;else hide(O, key, val);
+ }
+ }
+ // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
+ })(Function.prototype, TO_STRING, function toString() {
+ return typeof this == 'function' && this[SRC] || $toString.call(this);
+ });
+ });
+
+ var _redefine$1 = interopDefault(_redefine);
+
+var require$$4$2 = Object.freeze({
+ default: _redefine$1
+ });
+
+ var _aFunction = createCommonjsModule(function (module) {
+ module.exports = function (it) {
+ if (typeof it != 'function') throw TypeError(it + ' is not a function!');
+ return it;
+ };
+ });
+
+ var _aFunction$1 = interopDefault(_aFunction);
+
+var require$$0$2 = Object.freeze({
+ default: _aFunction$1
+ });
+
+ var _ctx = createCommonjsModule(function (module) {
+ // optional / simple context binding
+ var aFunction = interopDefault(require$$0$2);
+ module.exports = function (fn, that, length) {
+ aFunction(fn);
+ if (that === undefined) return fn;
+ switch (length) {
+ case 1:
+ return function (a) {
+ return fn.call(that, a);
+ };
+ case 2:
+ return function (a, b) {
+ return fn.call(that, a, b);
+ };
+ case 3:
+ return function (a, b, c) {
+ return fn.call(that, a, b, c);
+ };
+ }
+ return function () /* ...args */{
+ return fn.apply(that, arguments);
+ };
+ };
+ });
+
+ var _ctx$1 = interopDefault(_ctx);
+
+var require$$31 = Object.freeze({
+ default: _ctx$1
+ });
+
+ var _export = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ core = interopDefault(require$$0),
+ hide = interopDefault(require$$2),
+ redefine = interopDefault(require$$4$2),
+ ctx = interopDefault(require$$31),
+ PROTOTYPE = 'prototype';
+
+ var $export = function $export(type, name, source) {
+ var IS_FORCED = type & $export.F,
+ IS_GLOBAL = type & $export.G,
+ IS_STATIC = type & $export.S,
+ IS_PROTO = type & $export.P,
+ IS_BIND = type & $export.B,
+ target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE],
+ exports = IS_GLOBAL ? core : core[name] || (core[name] = {}),
+ expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}),
+ key,
+ own,
+ out,
+ exp;
+ if (IS_GLOBAL) source = name;
+ for (key in source) {
+ // contains in native
+ own = !IS_FORCED && target && target[key] !== undefined;
+ // export native or passed
+ out = (own ? target : source)[key];
+ // bind timers to global for call from export context
+ exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
+ // extend global
+ if (target) redefine(target, key, out, type & $export.U);
+ // export
+ if (exports[key] != out) hide(exports, key, exp);
+ if (IS_PROTO && expProto[key] != out) expProto[key] = out;
+ }
+ };
+ global.core = core;
+ // type bitmap
+ $export.F = 1; // forced
+ $export.G = 2; // global
+ $export.S = 4; // static
+ $export.P = 8; // proto
+ $export.B = 16; // bind
+ $export.W = 32; // wrap
+ $export.U = 64; // safe
+ $export.R = 128; // real proto method for `library`
+ module.exports = $export;
+ });
+
+ var _export$1 = interopDefault(_export);
+
+var require$$1$2 = Object.freeze({
+ default: _export$1
+ });
+
+ var _meta = createCommonjsModule(function (module) {
+ var META = interopDefault(require$$12)('meta'),
+ isObject = interopDefault(require$$0$1),
+ has = interopDefault(require$$4),
+ setDesc = interopDefault(require$$2$1).f,
+ id = 0;
+ var isExtensible = Object.isExtensible || function () {
+ return true;
+ };
+ var FREEZE = !interopDefault(require$$1$1)(function () {
+ return isExtensible(Object.preventExtensions({}));
+ });
+ var setMeta = function setMeta(it) {
+ setDesc(it, META, { value: {
+ i: 'O' + ++id, // object ID
+ w: {} // weak collections IDs
+ } });
+ };
+ var fastKey = function fastKey(it, create) {
+ // return primitive with prefix
+ if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
+ if (!has(it, META)) {
+ // can't set metadata to uncaught frozen object
+ if (!isExtensible(it)) return 'F';
+ // not necessary to add metadata
+ if (!create) return 'E';
+ // add missing metadata
+ setMeta(it);
+ // return object ID
+ }return it[META].i;
+ };
+ var getWeak = function getWeak(it, create) {
+ if (!has(it, META)) {
+ // can't set metadata to uncaught frozen object
+ if (!isExtensible(it)) return true;
+ // not necessary to add metadata
+ if (!create) return false;
+ // add missing metadata
+ setMeta(it);
+ // return hash weak collections IDs
+ }return it[META].w;
+ };
+ // add metadata on freeze-family methods calling
+ var onFreeze = function onFreeze(it) {
+ if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);
+ return it;
+ };
+ var meta = module.exports = {
+ KEY: META,
+ NEED: false,
+ fastKey: fastKey,
+ getWeak: getWeak,
+ onFreeze: onFreeze
+ };
+ });
+
+ var _meta$1 = interopDefault(_meta);
+ var KEY = _meta.KEY;
+ var NEED = _meta.NEED;
+ var fastKey = _meta.fastKey;
+ var getWeak = _meta.getWeak;
+ var onFreeze = _meta.onFreeze;
+
+
+
+ var require$$6 = Object.freeze({
+ default: _meta$1,
+ KEY: KEY,
+ NEED: NEED,
+ fastKey: fastKey,
+ getWeak: getWeak,
+ onFreeze: onFreeze
+ });
+
+ var _shared = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ SHARED = '__core-js_shared__',
+ store = global[SHARED] || (global[SHARED] = {});
+ module.exports = function (key) {
+ return store[key] || (store[key] = {});
+ };
+ });
+
+ var _shared$1 = interopDefault(_shared);
+
+var require$$1$4 = Object.freeze({
+ default: _shared$1
+ });
+
+ var _wks = createCommonjsModule(function (module) {
+ var store = interopDefault(require$$1$4)('wks'),
+ uid = interopDefault(require$$12),
+ _Symbol = interopDefault(require$$3).Symbol,
+ USE_SYMBOL = typeof _Symbol == 'function';
+
+ var $exports = module.exports = function (name) {
+ return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name));
+ };
+
+ $exports.store = store;
+ });
+
+ var _wks$1 = interopDefault(_wks);
+
+var require$$0$4 = Object.freeze({
+ default: _wks$1
+ });
+
+ var _setToStringTag = createCommonjsModule(function (module) {
+ var def = interopDefault(require$$2$1).f,
+ has = interopDefault(require$$4),
+ TAG = interopDefault(require$$0$4)('toStringTag');
+
+ module.exports = function (it, tag, stat) {
+ if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
+ };
+ });
+
+ var _setToStringTag$1 = interopDefault(_setToStringTag);
+
+var require$$0$3 = Object.freeze({
+ default: _setToStringTag$1
+ });
+
+ var _wksExt = createCommonjsModule(function (module, exports) {
+ exports.f = interopDefault(require$$0$4);
+ });
+
+ var _wksExt$1 = interopDefault(_wksExt);
+ var f$1 = _wksExt.f;
+
+var require$$1$5 = Object.freeze({
+ default: _wksExt$1,
+ f: f$1
+ });
+
+ var _library = createCommonjsModule(function (module) {
+ module.exports = false;
+ });
+
+ var _library$1 = interopDefault(_library);
+
+var require$$2$4 = Object.freeze({
+ default: _library$1
+ });
+
+ var _wksDefine = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ core = interopDefault(require$$0),
+ LIBRARY = interopDefault(require$$2$4),
+ wksExt = interopDefault(require$$1$5),
+ defineProperty = interopDefault(require$$2$1).f;
+ module.exports = function (name) {
+ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});
+ if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });
+ };
+ });
+
+ var _wksDefine$1 = interopDefault(_wksDefine);
+
+var require$$0$5 = Object.freeze({
+ default: _wksDefine$1
+ });
+
+ var _cof = createCommonjsModule(function (module) {
+ var toString = {}.toString;
+
+ module.exports = function (it) {
+ return toString.call(it).slice(8, -1);
+ };
+ });
+
+ var _cof$1 = interopDefault(_cof);
+
+var require$$0$6 = Object.freeze({
+ default: _cof$1
+ });
+
+ var _iobject = createCommonjsModule(function (module) {
+ // fallback for non-array-like ES3 and non-enumerable old V8 strings
+ var cof = interopDefault(require$$0$6);
+ module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {
+ return cof(it) == 'String' ? it.split('') : Object(it);
+ };
+ });
+
+ var _iobject$1 = interopDefault(_iobject);
+
+var require$$1$8 = Object.freeze({
+ default: _iobject$1
+ });
+
+ var _defined = createCommonjsModule(function (module) {
+ // 7.2.1 RequireObjectCoercible(argument)
+ module.exports = function (it) {
+ if (it == undefined) throw TypeError("Can't call method on " + it);
+ return it;
+ };
+ });
+
+ var _defined$1 = interopDefault(_defined);
+
+var require$$4$3 = Object.freeze({
+ default: _defined$1
+ });
+
+ var _toIobject = createCommonjsModule(function (module) {
+ // to indexed object, toObject with fallback for non-array-like ES3 strings
+ var IObject = interopDefault(require$$1$8),
+ defined = interopDefault(require$$4$3);
+ module.exports = function (it) {
+ return IObject(defined(it));
+ };
+ });
+
+ var _toIobject$1 = interopDefault(_toIobject);
+
+var require$$1$7 = Object.freeze({
+ default: _toIobject$1
+ });
+
+ var _toInteger = createCommonjsModule(function (module) {
+ // 7.1.4 ToInteger
+ var ceil = Math.ceil,
+ floor = Math.floor;
+ module.exports = function (it) {
+ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
+ };
+ });
+
+ var _toInteger$1 = interopDefault(_toInteger);
+
+var require$$26 = Object.freeze({
+ default: _toInteger$1
+ });
+
+ var _toLength = createCommonjsModule(function (module) {
+ // 7.1.15 ToLength
+ var toInteger = interopDefault(require$$26),
+ min = Math.min;
+ module.exports = function (it) {
+ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991
+ };
+ });
+
+ var _toLength$1 = interopDefault(_toLength);
+
+var require$$3$1 = Object.freeze({
+ default: _toLength$1
+ });
+
+ var _toIndex = createCommonjsModule(function (module) {
+ var toInteger = interopDefault(require$$26),
+ max = Math.max,
+ min = Math.min;
+ module.exports = function (index, length) {
+ index = toInteger(index);
+ return index < 0 ? max(index + length, 0) : min(index, length);
+ };
+ });
+
+ var _toIndex$1 = interopDefault(_toIndex);
+
+var require$$24 = Object.freeze({
+ default: _toIndex$1
+ });
+
+ var _arrayIncludes = createCommonjsModule(function (module) {
+ // false -> Array#indexOf
+ // true -> Array#includes
+ var toIObject = interopDefault(require$$1$7),
+ toLength = interopDefault(require$$3$1),
+ toIndex = interopDefault(require$$24);
+ module.exports = function (IS_INCLUDES) {
+ return function ($this, el, fromIndex) {
+ var O = toIObject($this),
+ length = toLength(O.length),
+ index = toIndex(fromIndex, length),
+ value;
+ // Array#includes uses SameValueZero equality algorithm
+ if (IS_INCLUDES && el != el) while (length > index) {
+ value = O[index++];
+ if (value != value) return true;
+ // Array#toIndex ignores holes, Array#includes - not
+ } else for (; length > index; index++) {
+ if (IS_INCLUDES || index in O) {
+ if (O[index] === el) return IS_INCLUDES || index || 0;
+ }
+ }return !IS_INCLUDES && -1;
+ };
+ };
+ });
+
+ var _arrayIncludes$1 = interopDefault(_arrayIncludes);
+
+var require$$1$9 = Object.freeze({
+ default: _arrayIncludes$1
+ });
+
+ var _sharedKey = createCommonjsModule(function (module) {
+ var shared = interopDefault(require$$1$4)('keys'),
+ uid = interopDefault(require$$12);
+ module.exports = function (key) {
+ return shared[key] || (shared[key] = uid(key));
+ };
+ });
+
+ var _sharedKey$1 = interopDefault(_sharedKey);
+
+var require$$0$7 = Object.freeze({
+ default: _sharedKey$1
+ });
+
+ var _objectKeysInternal = createCommonjsModule(function (module) {
+ var has = interopDefault(require$$4),
+ toIObject = interopDefault(require$$1$7),
+ arrayIndexOf = interopDefault(require$$1$9)(false),
+ IE_PROTO = interopDefault(require$$0$7)('IE_PROTO');
+
+ module.exports = function (object, names) {
+ var O = toIObject(object),
+ i = 0,
+ result = [],
+ key;
+ for (key in O) {
+ if (key != IE_PROTO) has(O, key) && result.push(key);
+ } // Don't enum bug & hidden keys
+ while (names.length > i) {
+ if (has(O, key = names[i++])) {
+ ~arrayIndexOf(result, key) || result.push(key);
+ }
+ }return result;
+ };
+ });
+
+ var _objectKeysInternal$1 = interopDefault(_objectKeysInternal);
+
+var require$$1$6 = Object.freeze({
+ default: _objectKeysInternal$1
+ });
+
+ var _enumBugKeys = createCommonjsModule(function (module) {
+ // IE 8- don't enum bug keys
+ module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(',');
+ });
+
+ var _enumBugKeys$1 = interopDefault(_enumBugKeys);
+
+var require$$0$8 = Object.freeze({
+ default: _enumBugKeys$1
+ });
+
+ var _objectKeys = createCommonjsModule(function (module) {
+ // 19.1.2.14 / 15.2.3.14 Object.keys(O)
+ var $keys = interopDefault(require$$1$6),
+ enumBugKeys = interopDefault(require$$0$8);
+
+ module.exports = Object.keys || function keys(O) {
+ return $keys(O, enumBugKeys);
+ };
+ });
+
+ var _objectKeys$1 = interopDefault(_objectKeys);
+
+var require$$2$5 = Object.freeze({
+ default: _objectKeys$1
+ });
+
+ var _keyof = createCommonjsModule(function (module) {
+ var getKeys = interopDefault(require$$2$5),
+ toIObject = interopDefault(require$$1$7);
+ module.exports = function (object, el) {
+ var O = toIObject(object),
+ keys = getKeys(O),
+ length = keys.length,
+ index = 0,
+ key;
+ while (length > index) {
+ if (O[key = keys[index++]] === el) return key;
+ }
+ };
+ });
+
+ var _keyof$1 = interopDefault(_keyof);
+
+var require$$16 = Object.freeze({
+ default: _keyof$1
+ });
+
+ var _objectGops = createCommonjsModule(function (module, exports) {
+ exports.f = Object.getOwnPropertySymbols;
+ });
+
+ var _objectGops$1 = interopDefault(_objectGops);
+ var f$2 = _objectGops.f;
+
+var require$$2$6 = Object.freeze({
+ default: _objectGops$1,
+ f: f$2
+ });
+
+ var _objectPie = createCommonjsModule(function (module, exports) {
+ exports.f = {}.propertyIsEnumerable;
+ });
+
+ var _objectPie$1 = interopDefault(_objectPie);
+ var f$3 = _objectPie.f;
+
+var require$$0$9 = Object.freeze({
+ default: _objectPie$1,
+ f: f$3
+ });
+
+ var _enumKeys = createCommonjsModule(function (module) {
+ // all enumerable object keys, includes symbols
+ var getKeys = interopDefault(require$$2$5),
+ gOPS = interopDefault(require$$2$6),
+ pIE = interopDefault(require$$0$9);
+ module.exports = function (it) {
+ var result = getKeys(it),
+ getSymbols = gOPS.f;
+ if (getSymbols) {
+ var symbols = getSymbols(it),
+ isEnum = pIE.f,
+ i = 0,
+ key;
+ while (symbols.length > i) {
+ if (isEnum.call(it, key = symbols[i++])) result.push(key);
+ }
+ }return result;
+ };
+ });
+
+ var _enumKeys$1 = interopDefault(_enumKeys);
+
+var require$$15 = Object.freeze({
+ default: _enumKeys$1
+ });
+
+ var _isArray = createCommonjsModule(function (module) {
+ // 7.2.2 IsArray(argument)
+ var cof = interopDefault(require$$0$6);
+ module.exports = Array.isArray || function isArray(arg) {
+ return cof(arg) == 'Array';
+ };
+ });
+
+ var _isArray$1 = interopDefault(_isArray);
+
+var require$$1$10 = Object.freeze({
+ default: _isArray$1
+ });
+
+ var _objectDps = createCommonjsModule(function (module) {
+ var dP = interopDefault(require$$2$1),
+ anObject = interopDefault(require$$5),
+ getKeys = interopDefault(require$$2$5);
+
+ module.exports = interopDefault(require$$1) ? Object.defineProperties : function defineProperties(O, Properties) {
+ anObject(O);
+ var keys = getKeys(Properties),
+ length = keys.length,
+ i = 0,
+ P;
+ while (length > i) {
+ dP.f(O, P = keys[i++], Properties[P]);
+ }return O;
+ };
+ });
+
+ var _objectDps$1 = interopDefault(_objectDps);
+
+var require$$0$10 = Object.freeze({
+ default: _objectDps$1
+ });
+
+ var _html = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$3).document && document.documentElement;
+ });
+
+ var _html$1 = interopDefault(_html);
+
+var require$$3$2 = Object.freeze({
+ default: _html$1
+ });
+
+ var _objectCreate = createCommonjsModule(function (module) {
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+ var anObject = interopDefault(require$$5),
+ dPs = interopDefault(require$$0$10),
+ enumBugKeys = interopDefault(require$$0$8),
+ IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'),
+ Empty = function Empty() {/* empty */},
+ PROTOTYPE = 'prototype';
+
+ // Create object with fake `null` prototype: use iframe Object with cleared prototype
+ var _createDict = function createDict() {
+ // Thrash, waste and sodomy: IE GC bug
+ var iframe = interopDefault(require$$2$2)('iframe'),
+ i = enumBugKeys.length,
+ lt = '<',
+ gt = '>',
+ iframeDocument;
+ iframe.style.display = 'none';
+ interopDefault(require$$3$2).appendChild(iframe);
+ iframe.src = 'javascript:'; // eslint-disable-line no-script-url
+ // createDict = iframe.contentWindow.Object;
+ // html.removeChild(iframe);
+ iframeDocument = iframe.contentWindow.document;
+ iframeDocument.open();
+ iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
+ iframeDocument.close();
+ _createDict = iframeDocument.F;
+ while (i--) {
+ delete _createDict[PROTOTYPE][enumBugKeys[i]];
+ }return _createDict();
+ };
+
+ module.exports = Object.create || function create(O, Properties) {
+ var result;
+ if (O !== null) {
+ Empty[PROTOTYPE] = anObject(O);
+ result = new Empty();
+ Empty[PROTOTYPE] = null;
+ // add "__proto__" for Object.getPrototypeOf polyfill
+ result[IE_PROTO] = O;
+ } else result = _createDict();
+ return Properties === undefined ? result : dPs(result, Properties);
+ };
+ });
+
+ var _objectCreate$1 = interopDefault(_objectCreate);
+
+var require$$6$1 = Object.freeze({
+ default: _objectCreate$1
+ });
+
+ var _objectGopn = createCommonjsModule(function (module, exports) {
+ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)
+ var $keys = interopDefault(require$$1$6),
+ hiddenKeys = interopDefault(require$$0$8).concat('length', 'prototype');
+
+ exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+ return $keys(O, hiddenKeys);
+ };
+ });
+
+ var _objectGopn$1 = interopDefault(_objectGopn);
+ var f$5 = _objectGopn.f;
+
+var require$$3$3 = Object.freeze({
+ default: _objectGopn$1,
+ f: f$5
+ });
+
+ var _objectGopnExt = createCommonjsModule(function (module) {
+ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
+ var toIObject = interopDefault(require$$1$7),
+ gOPN = interopDefault(require$$3$3).f,
+ toString = {}.toString;
+
+ var windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
+
+ var getWindowNames = function getWindowNames(it) {
+ try {
+ return gOPN(it);
+ } catch (e) {
+ return windowNames.slice();
+ }
+ };
+
+ module.exports.f = function getOwnPropertyNames(it) {
+ return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));
+ };
+ });
+
+ var _objectGopnExt$1 = interopDefault(_objectGopnExt);
+ var f$4 = _objectGopnExt.f;
+
+
+
+ var require$$0$11 = Object.freeze({
+ default: _objectGopnExt$1,
+ f: f$4
+ });
+
+ var _objectGopd = createCommonjsModule(function (module, exports) {
+ var pIE = interopDefault(require$$0$9),
+ createDesc = interopDefault(require$$2$3),
+ toIObject = interopDefault(require$$1$7),
+ toPrimitive = interopDefault(require$$4$1),
+ has = interopDefault(require$$4),
+ IE8_DOM_DEFINE = interopDefault(require$$1$3),
+ gOPD = Object.getOwnPropertyDescriptor;
+
+ exports.f = interopDefault(require$$1) ? gOPD : function getOwnPropertyDescriptor(O, P) {
+ O = toIObject(O);
+ P = toPrimitive(P, true);
+ if (IE8_DOM_DEFINE) try {
+ return gOPD(O, P);
+ } catch (e) {/* empty */}
+ if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);
+ };
+ });
+
+ var _objectGopd$1 = interopDefault(_objectGopd);
+ var f$6 = _objectGopd.f;
+
+var require$$2$7 = Object.freeze({
+ default: _objectGopd$1,
+ f: f$6
+ });
+
+ var es6_symbol = createCommonjsModule(function (module) {
+ 'use strict';
+ // ECMAScript 6 symbols shim
+
+ var global = interopDefault(require$$3),
+ has = interopDefault(require$$4),
+ DESCRIPTORS = interopDefault(require$$1),
+ $export = interopDefault(require$$1$2),
+ redefine = interopDefault(require$$4$2),
+ META = interopDefault(require$$6).KEY,
+ $fails = interopDefault(require$$1$1),
+ shared = interopDefault(require$$1$4),
+ setToStringTag = interopDefault(require$$0$3),
+ uid = interopDefault(require$$12),
+ wks = interopDefault(require$$0$4),
+ wksExt = interopDefault(require$$1$5),
+ wksDefine = interopDefault(require$$0$5),
+ keyOf = interopDefault(require$$16),
+ enumKeys = interopDefault(require$$15),
+ isArray = interopDefault(require$$1$10),
+ anObject = interopDefault(require$$5),
+ toIObject = interopDefault(require$$1$7),
+ toPrimitive = interopDefault(require$$4$1),
+ createDesc = interopDefault(require$$2$3),
+ _create = interopDefault(require$$6$1),
+ gOPNExt = interopDefault(require$$0$11),
+ $GOPD = interopDefault(require$$2$7),
+ $DP = interopDefault(require$$2$1),
+ $keys = interopDefault(require$$2$5),
+ gOPD = $GOPD.f,
+ dP = $DP.f,
+ gOPN = gOPNExt.f,
+ $Symbol = global.Symbol,
+ $JSON = global.JSON,
+ _stringify = $JSON && $JSON.stringify,
+ PROTOTYPE = 'prototype',
+ HIDDEN = wks('_hidden'),
+ TO_PRIMITIVE = wks('toPrimitive'),
+ isEnum = {}.propertyIsEnumerable,
+ SymbolRegistry = shared('symbol-registry'),
+ AllSymbols = shared('symbols'),
+ OPSymbols = shared('op-symbols'),
+ ObjectProto = Object[PROTOTYPE],
+ USE_NATIVE = typeof $Symbol == 'function',
+ QObject = global.QObject;
+ // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
+ var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
+
+ // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
+ var setSymbolDesc = DESCRIPTORS && $fails(function () {
+ return _create(dP({}, 'a', {
+ get: function get() {
+ return dP(this, 'a', { value: 7 }).a;
+ }
+ })).a != 7;
+ }) ? function (it, key, D) {
+ var protoDesc = gOPD(ObjectProto, key);
+ if (protoDesc) delete ObjectProto[key];
+ dP(it, key, D);
+ if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);
+ } : dP;
+
+ var wrap = function wrap(tag) {
+ var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);
+ sym._k = tag;
+ return sym;
+ };
+
+ var isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) {
+ return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol';
+ } : function (it) {
+ return it instanceof $Symbol;
+ };
+
+ var $defineProperty = function defineProperty(it, key, D) {
+ if (it === ObjectProto) $defineProperty(OPSymbols, key, D);
+ anObject(it);
+ key = toPrimitive(key, true);
+ anObject(D);
+ if (has(AllSymbols, key)) {
+ if (!D.enumerable) {
+ if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));
+ it[HIDDEN][key] = true;
+ } else {
+ if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;
+ D = _create(D, { enumerable: createDesc(0, false) });
+ }return setSymbolDesc(it, key, D);
+ }return dP(it, key, D);
+ };
+ var $defineProperties = function defineProperties(it, P) {
+ anObject(it);
+ var keys = enumKeys(P = toIObject(P)),
+ i = 0,
+ l = keys.length,
+ key;
+ while (l > i) {
+ $defineProperty(it, key = keys[i++], P[key]);
+ }return it;
+ };
+ var $create = function create(it, P) {
+ return P === undefined ? _create(it) : $defineProperties(_create(it), P);
+ };
+ var $propertyIsEnumerable = function propertyIsEnumerable(key) {
+ var E = isEnum.call(this, key = toPrimitive(key, true));
+ if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;
+ return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;
+ };
+ var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {
+ it = toIObject(it);
+ key = toPrimitive(key, true);
+ if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;
+ var D = gOPD(it, key);
+ if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;
+ return D;
+ };
+ var $getOwnPropertyNames = function getOwnPropertyNames(it) {
+ var names = gOPN(toIObject(it)),
+ result = [],
+ i = 0,
+ key;
+ while (names.length > i) {
+ if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);
+ }return result;
+ };
+ var $getOwnPropertySymbols = function getOwnPropertySymbols(it) {
+ var IS_OP = it === ObjectProto,
+ names = gOPN(IS_OP ? OPSymbols : toIObject(it)),
+ result = [],
+ i = 0,
+ key;
+ while (names.length > i) {
+ if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);
+ }return result;
+ };
+
+ // 19.4.1.1 Symbol([description])
+ if (!USE_NATIVE) {
+ $Symbol = function _Symbol() {
+ if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');
+ var tag = uid(arguments.length > 0 ? arguments[0] : undefined);
+ var $set = function $set(value) {
+ if (this === ObjectProto) $set.call(OPSymbols, value);
+ if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
+ setSymbolDesc(this, tag, createDesc(1, value));
+ };
+ if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });
+ return wrap(tag);
+ };
+ redefine($Symbol[PROTOTYPE], 'toString', function toString() {
+ return this._k;
+ });
+
+ $GOPD.f = $getOwnPropertyDescriptor;
+ $DP.f = $defineProperty;
+ interopDefault(require$$3$3).f = gOPNExt.f = $getOwnPropertyNames;
+ interopDefault(require$$0$9).f = $propertyIsEnumerable;
+ interopDefault(require$$2$6).f = $getOwnPropertySymbols;
+
+ if (DESCRIPTORS && !interopDefault(require$$2$4)) {
+ redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);
+ }
+
+ wksExt.f = function (name) {
+ return wrap(wks(name));
+ };
+ }
+
+ $export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });
+
+ for (var symbols =
+ // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14
+ 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), i = 0; symbols.length > i;) {
+ wks(symbols[i++]);
+ }for (var symbols = $keys(wks.store), i = 0; symbols.length > i;) {
+ wksDefine(symbols[i++]);
+ }$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {
+ // 19.4.2.1 Symbol.for(key)
+ 'for': function _for(key) {
+ return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key);
+ },
+ // 19.4.2.5 Symbol.keyFor(sym)
+ keyFor: function keyFor(key) {
+ if (isSymbol(key)) return keyOf(SymbolRegistry, key);
+ throw TypeError(key + ' is not a symbol!');
+ },
+ useSetter: function useSetter() {
+ setter = true;
+ },
+ useSimple: function useSimple() {
+ setter = false;
+ }
+ });
+
+ $export($export.S + $export.F * !USE_NATIVE, 'Object', {
+ // 19.1.2.2 Object.create(O [, Properties])
+ create: $create,
+ // 19.1.2.4 Object.defineProperty(O, P, Attributes)
+ defineProperty: $defineProperty,
+ // 19.1.2.3 Object.defineProperties(O, Properties)
+ defineProperties: $defineProperties,
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
+ getOwnPropertyDescriptor: $getOwnPropertyDescriptor,
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
+ getOwnPropertyNames: $getOwnPropertyNames,
+ // 19.1.2.8 Object.getOwnPropertySymbols(O)
+ getOwnPropertySymbols: $getOwnPropertySymbols
+ });
+
+ // 24.3.2 JSON.stringify(value [, replacer [, space]])
+ $JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {
+ var S = $Symbol();
+ // MS Edge converts symbol values to JSON as {}
+ // WebKit converts symbol values to JSON as null
+ // V8 throws on boxed symbols
+ return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';
+ })), 'JSON', {
+ stringify: function stringify(it) {
+ if (it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
+ var args = [it],
+ i = 1,
+ replacer,
+ $replacer;
+ while (arguments.length > i) {
+ args.push(arguments[i++]);
+ }replacer = args[1];
+ if (typeof replacer == 'function') $replacer = replacer;
+ if ($replacer || !isArray(replacer)) replacer = function replacer(key, value) {
+ if ($replacer) value = $replacer.call(this, key, value);
+ if (!isSymbol(value)) return value;
+ };
+ args[1] = replacer;
+ return _stringify.apply($JSON, args);
+ }
+ });
+
+ // 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)
+ $Symbol[PROTOTYPE][TO_PRIMITIVE] || interopDefault(require$$2)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
+ // 19.4.3.5 Symbol.prototype[@@toStringTag]
+ setToStringTag($Symbol, 'Symbol');
+ // 20.2.1.9 Math[@@toStringTag]
+ setToStringTag(Math, 'Math', true);
+ // 24.3.3 JSON[@@toStringTag]
+ setToStringTag(global.JSON, 'JSON', true);
+ });
+
+ interopDefault(es6_symbol);
+
+ var es6_object_create = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
+ $export($export.S, 'Object', { create: interopDefault(require$$6$1) });
+ });
+
+ interopDefault(es6_object_create);
+
+ var es6_object_defineProperty = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)
+ $export($export.S + $export.F * !interopDefault(require$$1), 'Object', { defineProperty: interopDefault(require$$2$1).f });
+ });
+
+ interopDefault(es6_object_defineProperty);
+
+ var es6_object_defineProperties = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ // 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)
+ $export($export.S + $export.F * !interopDefault(require$$1), 'Object', { defineProperties: interopDefault(require$$0$10) });
+ });
+
+ interopDefault(es6_object_defineProperties);
+
+ var _objectSap = createCommonjsModule(function (module) {
+ // most Object methods by ES6 should accept primitives
+ var $export = interopDefault(require$$1$2),
+ core = interopDefault(require$$0),
+ fails = interopDefault(require$$1$1);
+ module.exports = function (KEY, exec) {
+ var fn = (core.Object || {})[KEY] || Object[KEY],
+ exp = {};
+ exp[KEY] = exec(fn);
+ $export($export.S + $export.F * fails(function () {
+ fn(1);
+ }), 'Object', exp);
+ };
+ });
+
+ var _objectSap$1 = interopDefault(_objectSap);
+
+var require$$0$12 = Object.freeze({
+ default: _objectSap$1
+ });
+
+ var es6_object_getOwnPropertyDescriptor = createCommonjsModule(function (module) {
+ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)
+ var toIObject = interopDefault(require$$1$7),
+ $getOwnPropertyDescriptor = interopDefault(require$$2$7).f;
+
+ interopDefault(require$$0$12)('getOwnPropertyDescriptor', function () {
+ return function getOwnPropertyDescriptor(it, key) {
+ return $getOwnPropertyDescriptor(toIObject(it), key);
+ };
+ });
+ });
+
+ interopDefault(es6_object_getOwnPropertyDescriptor);
+
+ var _toObject = createCommonjsModule(function (module) {
+ // 7.1.13 ToObject(argument)
+ var defined = interopDefault(require$$4$3);
+ module.exports = function (it) {
+ return Object(defined(it));
+ };
+ });
+
+ var _toObject$1 = interopDefault(_toObject);
+
+var require$$5$1 = Object.freeze({
+ default: _toObject$1
+ });
+
+ var _objectGpo = createCommonjsModule(function (module) {
+ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)
+ var has = interopDefault(require$$4),
+ toObject = interopDefault(require$$5$1),
+ IE_PROTO = interopDefault(require$$0$7)('IE_PROTO'),
+ ObjectProto = Object.prototype;
+
+ module.exports = Object.getPrototypeOf || function (O) {
+ O = toObject(O);
+ if (has(O, IE_PROTO)) return O[IE_PROTO];
+ if (typeof O.constructor == 'function' && O instanceof O.constructor) {
+ return O.constructor.prototype;
+ }return O instanceof Object ? ObjectProto : null;
+ };
+ });
+
+ var _objectGpo$1 = interopDefault(_objectGpo);
+
+var require$$0$13 = Object.freeze({
+ default: _objectGpo$1
+ });
+
+ var es6_object_getPrototypeOf = createCommonjsModule(function (module) {
+ // 19.1.2.9 Object.getPrototypeOf(O)
+ var toObject = interopDefault(require$$5$1),
+ $getPrototypeOf = interopDefault(require$$0$13);
+
+ interopDefault(require$$0$12)('getPrototypeOf', function () {
+ return function getPrototypeOf(it) {
+ return $getPrototypeOf(toObject(it));
+ };
+ });
+ });
+
+ interopDefault(es6_object_getPrototypeOf);
+
+ var es6_object_keys = createCommonjsModule(function (module) {
+ // 19.1.2.14 Object.keys(O)
+ var toObject = interopDefault(require$$5$1),
+ $keys = interopDefault(require$$2$5);
+
+ interopDefault(require$$0$12)('keys', function () {
+ return function keys(it) {
+ return $keys(toObject(it));
+ };
+ });
+ });
+
+ interopDefault(es6_object_keys);
+
+ var es6_object_getOwnPropertyNames = createCommonjsModule(function (module) {
+ // 19.1.2.7 Object.getOwnPropertyNames(O)
+ interopDefault(require$$0$12)('getOwnPropertyNames', function () {
+ return interopDefault(require$$0$11).f;
+ });
+ });
+
+ interopDefault(es6_object_getOwnPropertyNames);
+
+ var es6_object_freeze = createCommonjsModule(function (module) {
+ // 19.1.2.5 Object.freeze(O)
+ var isObject = interopDefault(require$$0$1),
+ meta = interopDefault(require$$6).onFreeze;
+
+ interopDefault(require$$0$12)('freeze', function ($freeze) {
+ return function freeze(it) {
+ return $freeze && isObject(it) ? $freeze(meta(it)) : it;
+ };
+ });
+ });
+
+ interopDefault(es6_object_freeze);
+
+ var es6_object_seal = createCommonjsModule(function (module) {
+ // 19.1.2.17 Object.seal(O)
+ var isObject = interopDefault(require$$0$1),
+ meta = interopDefault(require$$6).onFreeze;
+
+ interopDefault(require$$0$12)('seal', function ($seal) {
+ return function seal(it) {
+ return $seal && isObject(it) ? $seal(meta(it)) : it;
+ };
+ });
+ });
+
+ interopDefault(es6_object_seal);
+
+ var es6_object_preventExtensions = createCommonjsModule(function (module) {
+ // 19.1.2.15 Object.preventExtensions(O)
+ var isObject = interopDefault(require$$0$1),
+ meta = interopDefault(require$$6).onFreeze;
+
+ interopDefault(require$$0$12)('preventExtensions', function ($preventExtensions) {
+ return function preventExtensions(it) {
+ return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;
+ };
+ });
+ });
+
+ interopDefault(es6_object_preventExtensions);
+
+ var es6_object_isFrozen = createCommonjsModule(function (module) {
+ // 19.1.2.12 Object.isFrozen(O)
+ var isObject = interopDefault(require$$0$1);
+
+ interopDefault(require$$0$12)('isFrozen', function ($isFrozen) {
+ return function isFrozen(it) {
+ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;
+ };
+ });
+ });
+
+ interopDefault(es6_object_isFrozen);
+
+ var es6_object_isSealed = createCommonjsModule(function (module) {
+ // 19.1.2.13 Object.isSealed(O)
+ var isObject = interopDefault(require$$0$1);
+
+ interopDefault(require$$0$12)('isSealed', function ($isSealed) {
+ return function isSealed(it) {
+ return isObject(it) ? $isSealed ? $isSealed(it) : false : true;
+ };
+ });
+ });
+
+ interopDefault(es6_object_isSealed);
+
+ var es6_object_isExtensible = createCommonjsModule(function (module) {
+ // 19.1.2.11 Object.isExtensible(O)
+ var isObject = interopDefault(require$$0$1);
+
+ interopDefault(require$$0$12)('isExtensible', function ($isExtensible) {
+ return function isExtensible(it) {
+ return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
+ };
+ });
+ });
+
+ interopDefault(es6_object_isExtensible);
+
+ var _objectAssign = createCommonjsModule(function (module) {
+ 'use strict';
+ // 19.1.2.1 Object.assign(target, source, ...)
+
+ var getKeys = interopDefault(require$$2$5),
+ gOPS = interopDefault(require$$2$6),
+ pIE = interopDefault(require$$0$9),
+ toObject = interopDefault(require$$5$1),
+ IObject = interopDefault(require$$1$8),
+ $assign = Object.assign;
+
+ // should work with symbols and should have deterministic property order (V8 bug)
+ module.exports = !$assign || interopDefault(require$$1$1)(function () {
+ var A = {},
+ B = {},
+ S = Symbol(),
+ K = 'abcdefghijklmnopqrst';
+ A[S] = 7;
+ K.split('').forEach(function (k) {
+ B[k] = k;
+ });
+ return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;
+ }) ? function assign(target, source) {
+ // eslint-disable-line no-unused-vars
+ var T = toObject(target),
+ aLen = arguments.length,
+ index = 1,
+ getSymbols = gOPS.f,
+ isEnum = pIE.f;
+ while (aLen > index) {
+ var S = IObject(arguments[index++]),
+ keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S),
+ length = keys.length,
+ j = 0,
+ key;
+ while (length > j) {
+ if (isEnum.call(S, key = keys[j++])) T[key] = S[key];
+ }
+ }return T;
+ } : $assign;
+ });
+
+ var _objectAssign$1 = interopDefault(_objectAssign);
+
+var require$$3$4 = Object.freeze({
+ default: _objectAssign$1
+ });
+
+ var es6_object_assign = createCommonjsModule(function (module) {
+ // 19.1.3.1 Object.assign(target, source)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S + $export.F, 'Object', { assign: interopDefault(require$$3$4) });
+ });
+
+ interopDefault(es6_object_assign);
+
+ var _sameValue = createCommonjsModule(function (module) {
+ // 7.2.9 SameValue(x, y)
+ module.exports = Object.is || function is(x, y) {
+ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
+ };
+ });
+
+ var _sameValue$1 = interopDefault(_sameValue);
+
+var require$$21 = Object.freeze({
+ default: _sameValue$1
+ });
+
+ var es6_object_is = createCommonjsModule(function (module) {
+ // 19.1.3.10 Object.is(value1, value2)
+ var $export = interopDefault(require$$1$2);
+ $export($export.S, 'Object', { is: interopDefault(require$$21) });
+ });
+
+ interopDefault(es6_object_is);
+
+ var _setProto = createCommonjsModule(function (module) {
+ // Works with __proto__ only. Old v8 can't work with null proto objects.
+ /* eslint-disable no-proto */
+ var isObject = interopDefault(require$$0$1),
+ anObject = interopDefault(require$$5);
+ var check = function check(O, proto) {
+ anObject(O);
+ if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!");
+ };
+ module.exports = {
+ set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line
+ function (test, buggy, set) {
+ try {
+ set = interopDefault(require$$31)(Function.call, interopDefault(require$$2$7).f(Object.prototype, '__proto__').set, 2);
+ set(test, []);
+ buggy = !(test instanceof Array);
+ } catch (e) {
+ buggy = true;
+ }
+ return function setPrototypeOf(O, proto) {
+ check(O, proto);
+ if (buggy) O.__proto__ = proto;else set(O, proto);
+ return O;
+ };
+ }({}, false) : undefined),
+ check: check
+ };
+ });
+
+ var _setProto$1 = interopDefault(_setProto);
+ var set$1 = _setProto.set;
+ var check = _setProto.check;
+
+var require$$0$14 = Object.freeze({
+ default: _setProto$1,
+ set: set$1,
+ check: check
+ });
+
+ var es6_object_setPrototypeOf = createCommonjsModule(function (module) {
+ // 19.1.3.19 Object.setPrototypeOf(O, proto)
+ var $export = interopDefault(require$$1$2);
+ $export($export.S, 'Object', { setPrototypeOf: interopDefault(require$$0$14).set });
+ });
+
+ interopDefault(es6_object_setPrototypeOf);
+
+ var _classof = createCommonjsModule(function (module) {
+ // getting tag from 19.1.3.6 Object.prototype.toString()
+ var cof = interopDefault(require$$0$6),
+ TAG = interopDefault(require$$0$4)('toStringTag')
+ // ES3 wrong here
+ ,
+ ARG = cof(function () {
+ return arguments;
+ }()) == 'Arguments';
+
+ // fallback for IE11 Script Access Denied error
+ var tryGet = function tryGet(it, key) {
+ try {
+ return it[key];
+ } catch (e) {/* empty */}
+ };
+
+ module.exports = function (it) {
+ var O, T, B;
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
+ // @@toStringTag case
+ : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T
+ // builtinTag case
+ : ARG ? cof(O)
+ // ES3 arguments fallback
+ : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;
+ };
+ });
+
+ var _classof$1 = interopDefault(_classof);
+
+var require$$1$11 = Object.freeze({
+ default: _classof$1
+ });
+
+ var es6_object_toString = createCommonjsModule(function (module) {
+ 'use strict';
+ // 19.1.3.6 Object.prototype.toString()
+
+ var classof = interopDefault(require$$1$11),
+ test = {};
+ test[interopDefault(require$$0$4)('toStringTag')] = 'z';
+ if (test + '' != '[object z]') {
+ interopDefault(require$$4$2)(Object.prototype, 'toString', function toString() {
+ return '[object ' + classof(this) + ']';
+ }, true);
+ }
+ });
+
+ interopDefault(es6_object_toString);
+
+ var _invoke = createCommonjsModule(function (module) {
+ // fast apply, http://jsperf.lnkit.com/fast-apply/5
+ module.exports = function (fn, args, that) {
+ var un = that === undefined;
+ switch (args.length) {
+ case 0:
+ return un ? fn() : fn.call(that);
+ case 1:
+ return un ? fn(args[0]) : fn.call(that, args[0]);
+ case 2:
+ return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);
+ case 3:
+ return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
+ case 4:
+ return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);
+ }return fn.apply(that, args);
+ };
+ });
+
+ var _invoke$1 = interopDefault(_invoke);
+
+var require$$1$13 = Object.freeze({
+ default: _invoke$1
+ });
+
+ var _bind = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var aFunction = interopDefault(require$$0$2),
+ isObject = interopDefault(require$$0$1),
+ invoke = interopDefault(require$$1$13),
+ arraySlice = [].slice,
+ factories = {};
+
+ var construct = function construct(F, len, args) {
+ if (!(len in factories)) {
+ for (var n = [], i = 0; i < len; i++) {
+ n[i] = 'a[' + i + ']';
+ }factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');
+ }return factories[len](F, args);
+ };
+
+ module.exports = Function.bind || function bind(that /*, args... */) {
+ var fn = aFunction(this),
+ partArgs = arraySlice.call(arguments, 1);
+ var bound = function bound() /* args... */{
+ var args = partArgs.concat(arraySlice.call(arguments));
+ return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);
+ };
+ if (isObject(fn.prototype)) bound.prototype = fn.prototype;
+ return bound;
+ };
+ });
+
+ var _bind$1 = interopDefault(_bind);
+
+var require$$1$12 = Object.freeze({
+ default: _bind$1
+ });
+
+ var es6_function_bind = createCommonjsModule(function (module) {
+ // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'Function', { bind: interopDefault(require$$1$12) });
+ });
+
+ interopDefault(es6_function_bind);
+
+ var es6_function_name = createCommonjsModule(function (module) {
+ var dP = interopDefault(require$$2$1).f,
+ createDesc = interopDefault(require$$2$3),
+ has = interopDefault(require$$4),
+ FProto = Function.prototype,
+ nameRE = /^\s*function ([^ (]*)/,
+ NAME = 'name';
+
+ var isExtensible = Object.isExtensible || function () {
+ return true;
+ };
+
+ // 19.2.4.2 name
+ NAME in FProto || interopDefault(require$$1) && dP(FProto, NAME, {
+ configurable: true,
+ get: function get() {
+ try {
+ var that = this,
+ name = ('' + that).match(nameRE)[1];
+ has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));
+ return name;
+ } catch (e) {
+ return '';
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_function_name);
+
+ var es6_function_hasInstance = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var isObject = interopDefault(require$$0$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ HAS_INSTANCE = interopDefault(require$$0$4)('hasInstance'),
+ FunctionProto = Function.prototype;
+ // 19.2.3.6 Function.prototype[@@hasInstance](V)
+ if (!(HAS_INSTANCE in FunctionProto)) interopDefault(require$$2$1).f(FunctionProto, HAS_INSTANCE, { value: function value(O) {
+ if (typeof this != 'function' || !isObject(O)) return false;
+ if (!isObject(this.prototype)) return O instanceof this;
+ // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
+ while (O = getPrototypeOf(O)) {
+ if (this.prototype === O) return true;
+ }return false;
+ } });
+ });
+
+ interopDefault(es6_function_hasInstance);
+
+ var _stringWs = createCommonjsModule(function (module) {
+ module.exports = '\t\n\u000b\f\r   ᠎    ' + '          \u2028\u2029';
+ });
+
+ var _stringWs$1 = interopDefault(_stringWs);
+
+var require$$0$17 = Object.freeze({
+ default: _stringWs$1
+ });
+
+ var _stringTrim = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ defined = interopDefault(require$$4$3),
+ fails = interopDefault(require$$1$1),
+ spaces = interopDefault(require$$0$17),
+ space = '[' + spaces + ']',
+ non = '​…',
+ ltrim = RegExp('^' + space + space + '*'),
+ rtrim = RegExp(space + space + '*$');
+
+ var exporter = function exporter(KEY, exec, ALIAS) {
+ var exp = {};
+ var FORCE = fails(function () {
+ return !!spaces[KEY]() || non[KEY]() != non;
+ });
+ var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];
+ if (ALIAS) exp[ALIAS] = fn;
+ $export($export.P + $export.F * FORCE, 'String', exp);
+ };
+
+ // 1 -> String#trimLeft
+ // 2 -> String#trimRight
+ // 3 -> String#trim
+ var trim = exporter.trim = function (string, TYPE) {
+ string = String(defined(string));
+ if (TYPE & 1) string = string.replace(ltrim, '');
+ if (TYPE & 2) string = string.replace(rtrim, '');
+ return string;
+ };
+
+ module.exports = exporter;
+ });
+
+ var _stringTrim$1 = interopDefault(_stringTrim);
+
+var require$$0$16 = Object.freeze({
+ default: _stringTrim$1
+ });
+
+ var _parseInt = createCommonjsModule(function (module) {
+ var $parseInt = interopDefault(require$$3).parseInt,
+ $trim = interopDefault(require$$0$16).trim,
+ ws = interopDefault(require$$0$17),
+ hex = /^[\-+]?0[xX]/;
+
+ module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {
+ var string = $trim(String(str), 3);
+ return $parseInt(string, radix >>> 0 || (hex.test(string) ? 16 : 10));
+ } : $parseInt;
+ });
+
+ var _parseInt$1 = interopDefault(_parseInt);
+
+var require$$0$15 = Object.freeze({
+ default: _parseInt$1
+ });
+
+ var es6_parseInt = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseInt = interopDefault(require$$0$15);
+ // 18.2.5 parseInt(string, radix)
+ $export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });
+ });
+
+ interopDefault(es6_parseInt);
+
+ var _parseFloat = createCommonjsModule(function (module) {
+ var $parseFloat = interopDefault(require$$3).parseFloat,
+ $trim = interopDefault(require$$0$16).trim;
+
+ module.exports = 1 / $parseFloat(interopDefault(require$$0$17) + '-0') !== -Infinity ? function parseFloat(str) {
+ var string = $trim(String(str), 3),
+ result = $parseFloat(string);
+ return result === 0 && string.charAt(0) == '-' ? -0 : result;
+ } : $parseFloat;
+ });
+
+ var _parseFloat$1 = interopDefault(_parseFloat);
+
+var require$$0$18 = Object.freeze({
+ default: _parseFloat$1
+ });
+
+ var es6_parseFloat = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseFloat = interopDefault(require$$0$18);
+ // 18.2.4 parseFloat(string)
+ $export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });
+ });
+
+ interopDefault(es6_parseFloat);
+
+ var _inheritIfRequired = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1),
+ setPrototypeOf = interopDefault(require$$0$14).set;
+ module.exports = function (that, target, C) {
+ var P,
+ S = target.constructor;
+ if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {
+ setPrototypeOf(that, P);
+ }return that;
+ };
+ });
+
+ var _inheritIfRequired$1 = interopDefault(_inheritIfRequired);
+
+var require$$0$19 = Object.freeze({
+ default: _inheritIfRequired$1
+ });
+
+ var es6_number_constructor = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ has = interopDefault(require$$4),
+ cof = interopDefault(require$$0$6),
+ inheritIfRequired = interopDefault(require$$0$19),
+ toPrimitive = interopDefault(require$$4$1),
+ fails = interopDefault(require$$1$1),
+ gOPN = interopDefault(require$$3$3).f,
+ gOPD = interopDefault(require$$2$7).f,
+ dP = interopDefault(require$$2$1).f,
+ $trim = interopDefault(require$$0$16).trim,
+ NUMBER = 'Number',
+ $Number = global[NUMBER],
+ Base = $Number,
+ proto = $Number.prototype
+ // Opera ~12 has broken Object#toString
+ ,
+ BROKEN_COF = cof(interopDefault(require$$6$1)(proto)) == NUMBER,
+ TRIM = 'trim' in String.prototype;
+
+ // 7.1.3 ToNumber(argument)
+ var toNumber = function toNumber(argument) {
+ var it = toPrimitive(argument, false);
+ if (typeof it == 'string' && it.length > 2) {
+ it = TRIM ? it.trim() : $trim(it, 3);
+ var first = it.charCodeAt(0),
+ third,
+ radix,
+ maxCode;
+ if (first === 43 || first === 45) {
+ third = it.charCodeAt(2);
+ if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
+ } else if (first === 48) {
+ switch (it.charCodeAt(1)) {
+ case 66:case 98:
+ radix = 2;maxCode = 49;break; // fast equal /^0b[01]+$/i
+ case 79:case 111:
+ radix = 8;maxCode = 55;break; // fast equal /^0o[0-7]+$/i
+ default:
+ return +it;
+ }
+ for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
+ code = digits.charCodeAt(i);
+ // parseInt parses a string to a first unavailable symbol
+ // but ToNumber should return NaN if a string contains unavailable symbols
+ if (code < 48 || code > maxCode) return NaN;
+ }return parseInt(digits, radix);
+ }
+ }return +it;
+ };
+
+ if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {
+ $Number = function Number(value) {
+ var it = arguments.length < 1 ? 0 : value,
+ that = this;
+ return that instanceof $Number
+ // check on 1..constructor(foo) case
+ && (BROKEN_COF ? fails(function () {
+ proto.valueOf.call(that);
+ }) : cof(that) != NUMBER) ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);
+ };
+ for (var keys = interopDefault(require$$1) ? gOPN(Base) : (
+ // ES3:
+ 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
+ // ES6 (in case, if modules with ES6 Number statics required before):
+ 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger').split(','), j = 0, key; keys.length > j; j++) {
+ if (has(Base, key = keys[j]) && !has($Number, key)) {
+ dP($Number, key, gOPD(Base, key));
+ }
+ }
+ $Number.prototype = proto;
+ proto.constructor = $Number;
+ interopDefault(require$$4$2)(global, NUMBER, $Number);
+ }
+ });
+
+ interopDefault(es6_number_constructor);
+
+ var _aNumberValue = createCommonjsModule(function (module) {
+ var cof = interopDefault(require$$0$6);
+ module.exports = function (it, msg) {
+ if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);
+ return +it;
+ };
+ });
+
+ var _aNumberValue$1 = interopDefault(_aNumberValue);
+
+var require$$0$20 = Object.freeze({
+ default: _aNumberValue$1
+ });
+
+ var _stringRepeat = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var toInteger = interopDefault(require$$26),
+ defined = interopDefault(require$$4$3);
+
+ module.exports = function repeat(count) {
+ var str = String(defined(this)),
+ res = '',
+ n = toInteger(count);
+ if (n < 0 || n == Infinity) throw RangeError("Count can't be negative");
+ for (; n > 0; (n >>>= 1) && (str += str)) {
+ if (n & 1) res += str;
+ }return res;
+ };
+ });
+
+ var _stringRepeat$1 = interopDefault(_stringRepeat);
+
+var require$$1$14 = Object.freeze({
+ default: _stringRepeat$1
+ });
+
+ var es6_number_toFixed = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toInteger = interopDefault(require$$26),
+ aNumberValue = interopDefault(require$$0$20),
+ repeat = interopDefault(require$$1$14),
+ $toFixed = 1..toFixed,
+ floor = Math.floor,
+ data = [0, 0, 0, 0, 0, 0],
+ ERROR = 'Number.toFixed: incorrect invocation!',
+ ZERO = '0';
+
+ var multiply = function multiply(n, c) {
+ var i = -1,
+ c2 = c;
+ while (++i < 6) {
+ c2 += n * data[i];
+ data[i] = c2 % 1e7;
+ c2 = floor(c2 / 1e7);
+ }
+ };
+ var divide = function divide(n) {
+ var i = 6,
+ c = 0;
+ while (--i >= 0) {
+ c += data[i];
+ data[i] = floor(c / n);
+ c = c % n * 1e7;
+ }
+ };
+ var numToString = function numToString() {
+ var i = 6,
+ s = '';
+ while (--i >= 0) {
+ if (s !== '' || i === 0 || data[i] !== 0) {
+ var t = String(data[i]);
+ s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;
+ }
+ }return s;
+ };
+ var pow = function pow(x, n, acc) {
+ return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
+ };
+ var log = function log(x) {
+ var n = 0,
+ x2 = x;
+ while (x2 >= 4096) {
+ n += 12;
+ x2 /= 4096;
+ }
+ while (x2 >= 2) {
+ n += 1;
+ x2 /= 2;
+ }return n;
+ };
+
+ $export($export.P + $export.F * (!!$toFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128..toFixed(0) !== '1000000000000000128') || !interopDefault(require$$1$1)(function () {
+ // V8 ~ Android 4.3-
+ $toFixed.call({});
+ })), 'Number', {
+ toFixed: function toFixed(fractionDigits) {
+ var x = aNumberValue(this, ERROR),
+ f = toInteger(fractionDigits),
+ s = '',
+ m = ZERO,
+ e,
+ z,
+ j,
+ k;
+ if (f < 0 || f > 20) throw RangeError(ERROR);
+ if (x != x) return 'NaN';
+ if (x <= -1e21 || x >= 1e21) return String(x);
+ if (x < 0) {
+ s = '-';
+ x = -x;
+ }
+ if (x > 1e-21) {
+ e = log(x * pow(2, 69, 1)) - 69;
+ z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);
+ z *= 0x10000000000000;
+ e = 52 - e;
+ if (e > 0) {
+ multiply(0, z);
+ j = f;
+ while (j >= 7) {
+ multiply(1e7, 0);
+ j -= 7;
+ }
+ multiply(pow(10, j, 1), 0);
+ j = e - 1;
+ while (j >= 23) {
+ divide(1 << 23);
+ j -= 23;
+ }
+ divide(1 << j);
+ multiply(1, 1);
+ divide(2);
+ m = numToString();
+ } else {
+ multiply(0, z);
+ multiply(1 << -e, 0);
+ m = numToString() + repeat.call(ZERO, f);
+ }
+ }
+ if (f > 0) {
+ k = m.length;
+ m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));
+ } else {
+ m = s + m;
+ }return m;
+ }
+ });
+ });
+
+ interopDefault(es6_number_toFixed);
+
+ var es6_number_toPrecision = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $fails = interopDefault(require$$1$1),
+ aNumberValue = interopDefault(require$$0$20),
+ $toPrecision = 1..toPrecision;
+
+ $export($export.P + $export.F * ($fails(function () {
+ // IE7-
+ return $toPrecision.call(1, undefined) !== '1';
+ }) || !$fails(function () {
+ // V8 ~ Android 4.3-
+ $toPrecision.call({});
+ })), 'Number', {
+ toPrecision: function toPrecision(precision) {
+ var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');
+ return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);
+ }
+ });
+ });
+
+ interopDefault(es6_number_toPrecision);
+
+ var es6_number_epsilon = createCommonjsModule(function (module) {
+ // 20.1.2.1 Number.EPSILON
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });
+ });
+
+ interopDefault(es6_number_epsilon);
+
+ var es6_number_isFinite = createCommonjsModule(function (module) {
+ // 20.1.2.2 Number.isFinite(number)
+ var $export = interopDefault(require$$1$2),
+ _isFinite = interopDefault(require$$3).isFinite;
+
+ $export($export.S, 'Number', {
+ isFinite: function isFinite(it) {
+ return typeof it == 'number' && _isFinite(it);
+ }
+ });
+ });
+
+ interopDefault(es6_number_isFinite);
+
+ var _isInteger = createCommonjsModule(function (module) {
+ // 20.1.2.3 Number.isInteger(number)
+ var isObject = interopDefault(require$$0$1),
+ floor = Math.floor;
+ module.exports = function isInteger(it) {
+ return !isObject(it) && isFinite(it) && floor(it) === it;
+ };
+ });
+
+ var _isInteger$1 = interopDefault(_isInteger);
+
+var require$$0$21 = Object.freeze({
+ default: _isInteger$1
+ });
+
+ var es6_number_isInteger = createCommonjsModule(function (module) {
+ // 20.1.2.3 Number.isInteger(number)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { isInteger: interopDefault(require$$0$21) });
+ });
+
+ interopDefault(es6_number_isInteger);
+
+ var es6_number_isNan = createCommonjsModule(function (module) {
+ // 20.1.2.4 Number.isNaN(number)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', {
+ isNaN: function isNaN(number) {
+ return number != number;
+ }
+ });
+ });
+
+ interopDefault(es6_number_isNan);
+
+ var es6_number_isSafeInteger = createCommonjsModule(function (module) {
+ // 20.1.2.5 Number.isSafeInteger(number)
+ var $export = interopDefault(require$$1$2),
+ isInteger = interopDefault(require$$0$21),
+ abs = Math.abs;
+
+ $export($export.S, 'Number', {
+ isSafeInteger: function isSafeInteger(number) {
+ return isInteger(number) && abs(number) <= 0x1fffffffffffff;
+ }
+ });
+ });
+
+ interopDefault(es6_number_isSafeInteger);
+
+ var es6_number_maxSafeInteger = createCommonjsModule(function (module) {
+ // 20.1.2.6 Number.MAX_SAFE_INTEGER
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });
+ });
+
+ interopDefault(es6_number_maxSafeInteger);
+
+ var es6_number_minSafeInteger = createCommonjsModule(function (module) {
+ // 20.1.2.10 Number.MIN_SAFE_INTEGER
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });
+ });
+
+ interopDefault(es6_number_minSafeInteger);
+
+ var es6_number_parseFloat = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseFloat = interopDefault(require$$0$18);
+ // 20.1.2.12 Number.parseFloat(string)
+ $export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });
+ });
+
+ interopDefault(es6_number_parseFloat);
+
+ var es6_number_parseInt = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $parseInt = interopDefault(require$$0$15);
+ // 20.1.2.13 Number.parseInt(string, radix)
+ $export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });
+ });
+
+ interopDefault(es6_number_parseInt);
+
+ var _mathLog1p = createCommonjsModule(function (module) {
+ // 20.2.2.20 Math.log1p(x)
+ module.exports = Math.log1p || function log1p(x) {
+ return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);
+ };
+ });
+
+ var _mathLog1p$1 = interopDefault(_mathLog1p);
+
+var require$$0$22 = Object.freeze({
+ default: _mathLog1p$1
+ });
+
+ var es6_math_acosh = createCommonjsModule(function (module) {
+ // 20.2.2.3 Math.acosh(x)
+ var $export = interopDefault(require$$1$2),
+ log1p = interopDefault(require$$0$22),
+ sqrt = Math.sqrt,
+ $acosh = Math.acosh;
+
+ $export($export.S + $export.F * !($acosh
+ // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
+ && Math.floor($acosh(Number.MAX_VALUE)) == 710
+ // Tor Browser bug: Math.acosh(Infinity) -> NaN
+ && $acosh(Infinity) == Infinity), 'Math', {
+ acosh: function acosh(x) {
+ return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
+ }
+ });
+ });
+
+ interopDefault(es6_math_acosh);
+
+ var es6_math_asinh = createCommonjsModule(function (module) {
+ // 20.2.2.5 Math.asinh(x)
+ var $export = interopDefault(require$$1$2),
+ $asinh = Math.asinh;
+
+ function asinh(x) {
+ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));
+ }
+
+ // Tor Browser bug: Math.asinh(0) -> -0
+ $export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });
+ });
+
+ interopDefault(es6_math_asinh);
+
+ var es6_math_atanh = createCommonjsModule(function (module) {
+ // 20.2.2.7 Math.atanh(x)
+ var $export = interopDefault(require$$1$2),
+ $atanh = Math.atanh;
+
+ // Tor Browser bug: Math.atanh(-0) -> 0
+ $export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {
+ atanh: function atanh(x) {
+ return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;
+ }
+ });
+ });
+
+ interopDefault(es6_math_atanh);
+
+ var _mathSign = createCommonjsModule(function (module) {
+ // 20.2.2.28 Math.sign(x)
+ module.exports = Math.sign || function sign(x) {
+ return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
+ };
+ });
+
+ var _mathSign$1 = interopDefault(_mathSign);
+
+var require$$0$23 = Object.freeze({
+ default: _mathSign$1
+ });
+
+ var es6_math_cbrt = createCommonjsModule(function (module) {
+ // 20.2.2.9 Math.cbrt(x)
+ var $export = interopDefault(require$$1$2),
+ sign = interopDefault(require$$0$23);
+
+ $export($export.S, 'Math', {
+ cbrt: function cbrt(x) {
+ return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);
+ }
+ });
+ });
+
+ interopDefault(es6_math_cbrt);
+
+ var es6_math_clz32 = createCommonjsModule(function (module) {
+ // 20.2.2.11 Math.clz32(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ clz32: function clz32(x) {
+ return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;
+ }
+ });
+ });
+
+ interopDefault(es6_math_clz32);
+
+ var es6_math_cosh = createCommonjsModule(function (module) {
+ // 20.2.2.12 Math.cosh(x)
+ var $export = interopDefault(require$$1$2),
+ exp = Math.exp;
+
+ $export($export.S, 'Math', {
+ cosh: function cosh(x) {
+ return (exp(x = +x) + exp(-x)) / 2;
+ }
+ });
+ });
+
+ interopDefault(es6_math_cosh);
+
+ var _mathExpm1 = createCommonjsModule(function (module) {
+ // 20.2.2.14 Math.expm1(x)
+ var $expm1 = Math.expm1;
+ module.exports = !$expm1
+ // Old FF bug
+ || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
+ // Tor Browser bug
+ || $expm1(-2e-17) != -2e-17 ? function expm1(x) {
+ return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;
+ } : $expm1;
+ });
+
+ var _mathExpm1$1 = interopDefault(_mathExpm1);
+
+var require$$0$24 = Object.freeze({
+ default: _mathExpm1$1
+ });
+
+ var es6_math_expm1 = createCommonjsModule(function (module) {
+ // 20.2.2.14 Math.expm1(x)
+ var $export = interopDefault(require$$1$2),
+ $expm1 = interopDefault(require$$0$24);
+
+ $export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });
+ });
+
+ interopDefault(es6_math_expm1);
+
+ var es6_math_fround = createCommonjsModule(function (module) {
+ // 20.2.2.16 Math.fround(x)
+ var $export = interopDefault(require$$1$2),
+ sign = interopDefault(require$$0$23),
+ pow = Math.pow,
+ EPSILON = pow(2, -52),
+ EPSILON32 = pow(2, -23),
+ MAX32 = pow(2, 127) * (2 - EPSILON32),
+ MIN32 = pow(2, -126);
+
+ var roundTiesToEven = function roundTiesToEven(n) {
+ return n + 1 / EPSILON - 1 / EPSILON;
+ };
+
+ $export($export.S, 'Math', {
+ fround: function fround(x) {
+ var $abs = Math.abs(x),
+ $sign = sign(x),
+ a,
+ result;
+ if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
+ a = (1 + EPSILON32 / EPSILON) * $abs;
+ result = a - (a - $abs);
+ if (result > MAX32 || result != result) return $sign * Infinity;
+ return $sign * result;
+ }
+ });
+ });
+
+ interopDefault(es6_math_fround);
+
+ var es6_math_hypot = createCommonjsModule(function (module) {
+ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]])
+ var $export = interopDefault(require$$1$2),
+ abs = Math.abs;
+
+ $export($export.S, 'Math', {
+ hypot: function hypot(value1, value2) {
+ // eslint-disable-line no-unused-vars
+ var sum = 0,
+ i = 0,
+ aLen = arguments.length,
+ larg = 0,
+ arg,
+ div;
+ while (i < aLen) {
+ arg = abs(arguments[i++]);
+ if (larg < arg) {
+ div = larg / arg;
+ sum = sum * div * div + 1;
+ larg = arg;
+ } else if (arg > 0) {
+ div = arg / larg;
+ sum += div * div;
+ } else sum += arg;
+ }
+ return larg === Infinity ? Infinity : larg * Math.sqrt(sum);
+ }
+ });
+ });
+
+ interopDefault(es6_math_hypot);
+
+ var es6_math_imul = createCommonjsModule(function (module) {
+ // 20.2.2.18 Math.imul(x, y)
+ var $export = interopDefault(require$$1$2),
+ $imul = Math.imul;
+
+ // some WebKit versions fails with big numbers, some has wrong arity
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ return $imul(0xffffffff, 5) != -5 || $imul.length != 2;
+ }), 'Math', {
+ imul: function imul(x, y) {
+ var UINT16 = 0xffff,
+ xn = +x,
+ yn = +y,
+ xl = UINT16 & xn,
+ yl = UINT16 & yn;
+ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
+ }
+ });
+ });
+
+ interopDefault(es6_math_imul);
+
+ var es6_math_log10 = createCommonjsModule(function (module) {
+ // 20.2.2.21 Math.log10(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ log10: function log10(x) {
+ return Math.log(x) / Math.LN10;
+ }
+ });
+ });
+
+ interopDefault(es6_math_log10);
+
+ var es6_math_log1p = createCommonjsModule(function (module) {
+ // 20.2.2.20 Math.log1p(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', { log1p: interopDefault(require$$0$22) });
+ });
+
+ interopDefault(es6_math_log1p);
+
+ var es6_math_log2 = createCommonjsModule(function (module) {
+ // 20.2.2.22 Math.log2(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ log2: function log2(x) {
+ return Math.log(x) / Math.LN2;
+ }
+ });
+ });
+
+ interopDefault(es6_math_log2);
+
+ var es6_math_sign = createCommonjsModule(function (module) {
+ // 20.2.2.28 Math.sign(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', { sign: interopDefault(require$$0$23) });
+ });
+
+ interopDefault(es6_math_sign);
+
+ var es6_math_sinh = createCommonjsModule(function (module) {
+ // 20.2.2.30 Math.sinh(x)
+ var $export = interopDefault(require$$1$2),
+ expm1 = interopDefault(require$$0$24),
+ exp = Math.exp;
+
+ // V8 near Chromium 38 has a problem with very small numbers
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ return !Math.sinh(-2e-17) != -2e-17;
+ }), 'Math', {
+ sinh: function sinh(x) {
+ return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
+ }
+ });
+ });
+
+ interopDefault(es6_math_sinh);
+
+ var es6_math_tanh = createCommonjsModule(function (module) {
+ // 20.2.2.33 Math.tanh(x)
+ var $export = interopDefault(require$$1$2),
+ expm1 = interopDefault(require$$0$24),
+ exp = Math.exp;
+
+ $export($export.S, 'Math', {
+ tanh: function tanh(x) {
+ var a = expm1(x = +x),
+ b = expm1(-x);
+ return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));
+ }
+ });
+ });
+
+ interopDefault(es6_math_tanh);
+
+ var es6_math_trunc = createCommonjsModule(function (module) {
+ // 20.2.2.34 Math.trunc(x)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ trunc: function trunc(it) {
+ return (it > 0 ? Math.floor : Math.ceil)(it);
+ }
+ });
+ });
+
+ interopDefault(es6_math_trunc);
+
+ var es6_string_fromCodePoint = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ toIndex = interopDefault(require$$24),
+ fromCharCode = String.fromCharCode,
+ $fromCodePoint = String.fromCodePoint;
+
+ // length should be 1, old FF problem
+ $export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {
+ // 21.1.2.2 String.fromCodePoint(...codePoints)
+ fromCodePoint: function fromCodePoint(x) {
+ // eslint-disable-line no-unused-vars
+ var res = [],
+ aLen = arguments.length,
+ i = 0,
+ code;
+ while (aLen > i) {
+ code = +arguments[i++];
+ if (toIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');
+ res.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00));
+ }return res.join('');
+ }
+ });
+ });
+
+ interopDefault(es6_string_fromCodePoint);
+
+ var es6_string_raw = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ toIObject = interopDefault(require$$1$7),
+ toLength = interopDefault(require$$3$1);
+
+ $export($export.S, 'String', {
+ // 21.1.2.4 String.raw(callSite, ...substitutions)
+ raw: function raw(callSite) {
+ var tpl = toIObject(callSite.raw),
+ len = toLength(tpl.length),
+ aLen = arguments.length,
+ res = [],
+ i = 0;
+ while (len > i) {
+ res.push(String(tpl[i++]));
+ if (i < aLen) res.push(String(arguments[i]));
+ }return res.join('');
+ }
+ });
+ });
+
+ interopDefault(es6_string_raw);
+
+ var es6_string_trim = createCommonjsModule(function (module) {
+ 'use strict';
+ // 21.1.3.25 String.prototype.trim()
+
+ interopDefault(require$$0$16)('trim', function ($trim) {
+ return function trim() {
+ return $trim(this, 3);
+ };
+ });
+ });
+
+ interopDefault(es6_string_trim);
+
+ var _stringAt = createCommonjsModule(function (module) {
+ var toInteger = interopDefault(require$$26),
+ defined = interopDefault(require$$4$3);
+ // true -> String#at
+ // false -> String#codePointAt
+ module.exports = function (TO_STRING) {
+ return function (that, pos) {
+ var s = String(defined(that)),
+ i = toInteger(pos),
+ l = s.length,
+ a,
+ b;
+ if (i < 0 || i >= l) return TO_STRING ? '' : undefined;
+ a = s.charCodeAt(i);
+ return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
+ };
+ };
+ });
+
+ var _stringAt$1 = interopDefault(_stringAt);
+
+var require$$0$25 = Object.freeze({
+ default: _stringAt$1
+ });
+
+ var _iterators = createCommonjsModule(function (module) {
+ module.exports = {};
+ });
+
+ var _iterators$1 = interopDefault(_iterators);
+
+var require$$1$15 = Object.freeze({
+ default: _iterators$1
+ });
+
+ var _iterCreate = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var create = interopDefault(require$$6$1),
+ descriptor = interopDefault(require$$2$3),
+ setToStringTag = interopDefault(require$$0$3),
+ IteratorPrototype = {};
+
+ // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
+ interopDefault(require$$2)(IteratorPrototype, interopDefault(require$$0$4)('iterator'), function () {
+ return this;
+ });
+
+ module.exports = function (Constructor, NAME, next) {
+ Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
+ setToStringTag(Constructor, NAME + ' Iterator');
+ };
+ });
+
+ var _iterCreate$1 = interopDefault(_iterCreate);
+
+var require$$0$26 = Object.freeze({
+ default: _iterCreate$1
+ });
+
+ var _iterDefine = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var LIBRARY = interopDefault(require$$2$4),
+ $export = interopDefault(require$$1$2),
+ redefine = interopDefault(require$$4$2),
+ hide = interopDefault(require$$2),
+ has = interopDefault(require$$4),
+ Iterators = interopDefault(require$$1$15),
+ $iterCreate = interopDefault(require$$0$26),
+ setToStringTag = interopDefault(require$$0$3),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ITERATOR = interopDefault(require$$0$4)('iterator'),
+ BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
+ ,
+ FF_ITERATOR = '@@iterator',
+ KEYS = 'keys',
+ VALUES = 'values';
+
+ var returnThis = function returnThis() {
+ return this;
+ };
+
+ module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
+ $iterCreate(Constructor, NAME, next);
+ var getMethod = function getMethod(kind) {
+ if (!BUGGY && kind in proto) return proto[kind];
+ switch (kind) {
+ case KEYS:
+ return function keys() {
+ return new Constructor(this, kind);
+ };
+ case VALUES:
+ return function values() {
+ return new Constructor(this, kind);
+ };
+ }return function entries() {
+ return new Constructor(this, kind);
+ };
+ };
+ var TAG = NAME + ' Iterator',
+ DEF_VALUES = DEFAULT == VALUES,
+ VALUES_BUG = false,
+ proto = Base.prototype,
+ $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT],
+ $default = $native || getMethod(DEFAULT),
+ $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined,
+ $anyNative = NAME == 'Array' ? proto.entries || $native : $native,
+ methods,
+ key,
+ IteratorPrototype;
+ // Fix native
+ if ($anyNative) {
+ IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
+ if (IteratorPrototype !== Object.prototype) {
+ // Set @@toStringTag to native iterators
+ setToStringTag(IteratorPrototype, TAG, true);
+ // fix for some old engines
+ if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis);
+ }
+ }
+ // fix Array#{values, @@iterator}.name in V8 / FF
+ if (DEF_VALUES && $native && $native.name !== VALUES) {
+ VALUES_BUG = true;
+ $default = function values() {
+ return $native.call(this);
+ };
+ }
+ // Define iterator
+ if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
+ hide(proto, ITERATOR, $default);
+ }
+ // Plug for library
+ Iterators[NAME] = $default;
+ Iterators[TAG] = returnThis;
+ if (DEFAULT) {
+ methods = {
+ values: DEF_VALUES ? $default : getMethod(VALUES),
+ keys: IS_SET ? $default : getMethod(KEYS),
+ entries: $entries
+ };
+ if (FORCED) for (key in methods) {
+ if (!(key in proto)) redefine(proto, key, methods[key]);
+ } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
+ }
+ return methods;
+ };
+ });
+
+ var _iterDefine$1 = interopDefault(_iterDefine);
+
+var require$$4$4 = Object.freeze({
+ default: _iterDefine$1
+ });
+
+ var es6_string_iterator = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $at = interopDefault(require$$0$25)(true);
+
+ // 21.1.3.27 String.prototype[@@iterator]()
+ interopDefault(require$$4$4)(String, 'String', function (iterated) {
+ this._t = String(iterated); // target
+ this._i = 0; // next index
+ // 21.1.5.2.1 %StringIteratorPrototype%.next()
+ }, function () {
+ var O = this._t,
+ index = this._i,
+ point;
+ if (index >= O.length) return { value: undefined, done: true };
+ point = $at(O, index);
+ this._i += point.length;
+ return { value: point, done: false };
+ });
+ });
+
+ interopDefault(es6_string_iterator);
+
+ var es6_string_codePointAt = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $at = interopDefault(require$$0$25)(false);
+ $export($export.P, 'String', {
+ // 21.1.3.3 String.prototype.codePointAt(pos)
+ codePointAt: function codePointAt(pos) {
+ return $at(this, pos);
+ }
+ });
+ });
+
+ interopDefault(es6_string_codePointAt);
+
+ var _isRegexp = createCommonjsModule(function (module) {
+ // 7.2.8 IsRegExp(argument)
+ var isObject = interopDefault(require$$0$1),
+ cof = interopDefault(require$$0$6),
+ MATCH = interopDefault(require$$0$4)('match');
+ module.exports = function (it) {
+ var isRegExp;
+ return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');
+ };
+ });
+
+ var _isRegexp$1 = interopDefault(_isRegexp);
+
+var require$$2$8 = Object.freeze({
+ default: _isRegexp$1
+ });
+
+ var _stringContext = createCommonjsModule(function (module) {
+ // helper for String#{startsWith, endsWith, includes}
+ var isRegExp = interopDefault(require$$2$8),
+ defined = interopDefault(require$$4$3);
+
+ module.exports = function (that, searchString, NAME) {
+ if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!");
+ return String(defined(that));
+ };
+ });
+
+ var _stringContext$1 = interopDefault(_stringContext);
+
+var require$$1$16 = Object.freeze({
+ default: _stringContext$1
+ });
+
+ var _failsIsRegexp = createCommonjsModule(function (module) {
+ var MATCH = interopDefault(require$$0$4)('match');
+ module.exports = function (KEY) {
+ var re = /./;
+ try {
+ '/./'[KEY](re);
+ } catch (e) {
+ try {
+ re[MATCH] = false;
+ return !'/./'[KEY](re);
+ } catch (f) {/* empty */}
+ }return true;
+ };
+ });
+
+ var _failsIsRegexp$1 = interopDefault(_failsIsRegexp);
+
+var require$$0$27 = Object.freeze({
+ default: _failsIsRegexp$1
+ });
+
+ var es6_string_endsWith = createCommonjsModule(function (module) {
+ // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toLength = interopDefault(require$$3$1),
+ context = interopDefault(require$$1$16),
+ ENDS_WITH = 'endsWith',
+ $endsWith = ''[ENDS_WITH];
+
+ $export($export.P + $export.F * interopDefault(require$$0$27)(ENDS_WITH), 'String', {
+ endsWith: function endsWith(searchString /*, endPosition = @length */) {
+ var that = context(this, searchString, ENDS_WITH),
+ endPosition = arguments.length > 1 ? arguments[1] : undefined,
+ len = toLength(that.length),
+ end = endPosition === undefined ? len : Math.min(toLength(endPosition), len),
+ search = String(searchString);
+ return $endsWith ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
+ }
+ });
+ });
+
+ interopDefault(es6_string_endsWith);
+
+ var es6_string_includes = createCommonjsModule(function (module) {
+ // 21.1.3.7 String.prototype.includes(searchString, position = 0)
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ context = interopDefault(require$$1$16),
+ INCLUDES = 'includes';
+
+ $export($export.P + $export.F * interopDefault(require$$0$27)(INCLUDES), 'String', {
+ includes: function includes(searchString /*, position = 0 */) {
+ return !!~context(this, searchString, INCLUDES).indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+ });
+
+ interopDefault(es6_string_includes);
+
+ var es6_string_repeat = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'String', {
+ // 21.1.3.13 String.prototype.repeat(count)
+ repeat: interopDefault(require$$1$14)
+ });
+ });
+
+ interopDefault(es6_string_repeat);
+
+ var es6_string_startsWith = createCommonjsModule(function (module) {
+ // 21.1.3.18 String.prototype.startsWith(searchString [, position ])
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toLength = interopDefault(require$$3$1),
+ context = interopDefault(require$$1$16),
+ STARTS_WITH = 'startsWith',
+ $startsWith = ''[STARTS_WITH];
+
+ $export($export.P + $export.F * interopDefault(require$$0$27)(STARTS_WITH), 'String', {
+ startsWith: function startsWith(searchString /*, position = 0 */) {
+ var that = context(this, searchString, STARTS_WITH),
+ index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)),
+ search = String(searchString);
+ return $startsWith ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
+ }
+ });
+ });
+
+ interopDefault(es6_string_startsWith);
+
+ var _stringHtml = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ fails = interopDefault(require$$1$1),
+ defined = interopDefault(require$$4$3),
+ quot = /"/g;
+ // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
+ var createHTML = function createHTML(string, tag, attribute, value) {
+ var S = String(defined(string)),
+ p1 = '<' + tag;
+ if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '&quot;') + '"';
+ return p1 + '>' + S + '</' + tag + '>';
+ };
+ module.exports = function (NAME, exec) {
+ var O = {};
+ O[NAME] = exec(createHTML);
+ $export($export.P + $export.F * fails(function () {
+ var test = ''[NAME]('"');
+ return test !== test.toLowerCase() || test.split('"').length > 3;
+ }), 'String', O);
+ };
+ });
+
+ var _stringHtml$1 = interopDefault(_stringHtml);
+
+var require$$0$28 = Object.freeze({
+ default: _stringHtml$1
+ });
+
+ var es6_string_anchor = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.2 String.prototype.anchor(name)
+
+ interopDefault(require$$0$28)('anchor', function (createHTML) {
+ return function anchor(name) {
+ return createHTML(this, 'a', 'name', name);
+ };
+ });
+ });
+
+ interopDefault(es6_string_anchor);
+
+ var es6_string_big = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.3 String.prototype.big()
+
+ interopDefault(require$$0$28)('big', function (createHTML) {
+ return function big() {
+ return createHTML(this, 'big', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_big);
+
+ var es6_string_blink = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.4 String.prototype.blink()
+
+ interopDefault(require$$0$28)('blink', function (createHTML) {
+ return function blink() {
+ return createHTML(this, 'blink', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_blink);
+
+ var es6_string_bold = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.5 String.prototype.bold()
+
+ interopDefault(require$$0$28)('bold', function (createHTML) {
+ return function bold() {
+ return createHTML(this, 'b', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_bold);
+
+ var es6_string_fixed = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.6 String.prototype.fixed()
+
+ interopDefault(require$$0$28)('fixed', function (createHTML) {
+ return function fixed() {
+ return createHTML(this, 'tt', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_fixed);
+
+ var es6_string_fontcolor = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.7 String.prototype.fontcolor(color)
+
+ interopDefault(require$$0$28)('fontcolor', function (createHTML) {
+ return function fontcolor(color) {
+ return createHTML(this, 'font', 'color', color);
+ };
+ });
+ });
+
+ interopDefault(es6_string_fontcolor);
+
+ var es6_string_fontsize = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.8 String.prototype.fontsize(size)
+
+ interopDefault(require$$0$28)('fontsize', function (createHTML) {
+ return function fontsize(size) {
+ return createHTML(this, 'font', 'size', size);
+ };
+ });
+ });
+
+ interopDefault(es6_string_fontsize);
+
+ var es6_string_italics = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.9 String.prototype.italics()
+
+ interopDefault(require$$0$28)('italics', function (createHTML) {
+ return function italics() {
+ return createHTML(this, 'i', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_italics);
+
+ var es6_string_link = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.10 String.prototype.link(url)
+
+ interopDefault(require$$0$28)('link', function (createHTML) {
+ return function link(url) {
+ return createHTML(this, 'a', 'href', url);
+ };
+ });
+ });
+
+ interopDefault(es6_string_link);
+
+ var es6_string_small = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.11 String.prototype.small()
+
+ interopDefault(require$$0$28)('small', function (createHTML) {
+ return function small() {
+ return createHTML(this, 'small', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_small);
+
+ var es6_string_strike = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.12 String.prototype.strike()
+
+ interopDefault(require$$0$28)('strike', function (createHTML) {
+ return function strike() {
+ return createHTML(this, 'strike', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_strike);
+
+ var es6_string_sub = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.13 String.prototype.sub()
+
+ interopDefault(require$$0$28)('sub', function (createHTML) {
+ return function sub() {
+ return createHTML(this, 'sub', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_sub);
+
+ var es6_string_sup = createCommonjsModule(function (module) {
+ 'use strict';
+ // B.2.3.14 String.prototype.sup()
+
+ interopDefault(require$$0$28)('sup', function (createHTML) {
+ return function sup() {
+ return createHTML(this, 'sup', '', '');
+ };
+ });
+ });
+
+ interopDefault(es6_string_sup);
+
+ var es6_date_now = createCommonjsModule(function (module) {
+ // 20.3.3.1 / 15.9.4.4 Date.now()
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Date', { now: function now() {
+ return new Date().getTime();
+ } });
+ });
+
+ interopDefault(es6_date_now);
+
+ var es6_date_toJson = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ toPrimitive = interopDefault(require$$4$1);
+
+ $export($export.P + $export.F * interopDefault(require$$1$1)(function () {
+ return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({ toISOString: function toISOString() {
+ return 1;
+ } }) !== 1;
+ }), 'Date', {
+ toJSON: function toJSON(key) {
+ var O = toObject(this),
+ pv = toPrimitive(O);
+ return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
+ }
+ });
+ });
+
+ interopDefault(es6_date_toJson);
+
+ var es6_date_toIsoString = createCommonjsModule(function (module) {
+ 'use strict';
+ // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()
+
+ var $export = interopDefault(require$$1$2),
+ fails = interopDefault(require$$1$1),
+ getTime = Date.prototype.getTime;
+
+ var lz = function lz(num) {
+ return num > 9 ? num : '0' + num;
+ };
+
+ // PhantomJS / old WebKit has a broken implementations
+ $export($export.P + $export.F * (fails(function () {
+ return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';
+ }) || !fails(function () {
+ new Date(NaN).toISOString();
+ })), 'Date', {
+ toISOString: function toISOString() {
+ if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
+ var d = this,
+ y = d.getUTCFullYear(),
+ m = d.getUTCMilliseconds(),
+ s = y < 0 ? '-' : y > 9999 ? '+' : '';
+ return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';
+ }
+ });
+ });
+
+ interopDefault(es6_date_toIsoString);
+
+ var es6_date_toString = createCommonjsModule(function (module) {
+ var DateProto = Date.prototype,
+ INVALID_DATE = 'Invalid Date',
+ TO_STRING = 'toString',
+ $toString = DateProto[TO_STRING],
+ getTime = DateProto.getTime;
+ if (new Date(NaN) + '' != INVALID_DATE) {
+ interopDefault(require$$4$2)(DateProto, TO_STRING, function toString() {
+ var value = getTime.call(this);
+ return value === value ? $toString.call(this) : INVALID_DATE;
+ });
+ }
+ });
+
+ interopDefault(es6_date_toString);
+
+ var _dateToPrimitive = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var anObject = interopDefault(require$$5),
+ toPrimitive = interopDefault(require$$4$1),
+ NUMBER = 'number';
+
+ module.exports = function (hint) {
+ if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');
+ return toPrimitive(anObject(this), hint != NUMBER);
+ };
+ });
+
+ var _dateToPrimitive$1 = interopDefault(_dateToPrimitive);
+
+var require$$0$29 = Object.freeze({
+ default: _dateToPrimitive$1
+ });
+
+ var es6_date_toPrimitive = createCommonjsModule(function (module) {
+ var TO_PRIMITIVE = interopDefault(require$$0$4)('toPrimitive'),
+ proto = Date.prototype;
+
+ if (!(TO_PRIMITIVE in proto)) interopDefault(require$$2)(proto, TO_PRIMITIVE, interopDefault(require$$0$29));
+ });
+
+ interopDefault(es6_date_toPrimitive);
+
+ var es6_array_isArray = createCommonjsModule(function (module) {
+ // 22.1.2.2 / 15.4.3.2 Array.isArray(arg)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Array', { isArray: interopDefault(require$$1$10) });
+ });
+
+ interopDefault(es6_array_isArray);
+
+ var _iterCall = createCommonjsModule(function (module) {
+ // call something on iterator step with safe closing on error
+ var anObject = interopDefault(require$$5);
+ module.exports = function (iterator, fn, value, entries) {
+ try {
+ return entries ? fn(anObject(value)[0], value[1]) : fn(value);
+ // 7.4.6 IteratorClose(iterator, completion)
+ } catch (e) {
+ var ret = iterator['return'];
+ if (ret !== undefined) anObject(ret.call(iterator));
+ throw e;
+ }
+ };
+ });
+
+ var _iterCall$1 = interopDefault(_iterCall);
+
+var require$$4$5 = Object.freeze({
+ default: _iterCall$1
+ });
+
+ var _isArrayIter = createCommonjsModule(function (module) {
+ // check on default Array iterator
+ var Iterators = interopDefault(require$$1$15),
+ ITERATOR = interopDefault(require$$0$4)('iterator'),
+ ArrayProto = Array.prototype;
+
+ module.exports = function (it) {
+ return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
+ };
+ });
+
+ var _isArrayIter$1 = interopDefault(_isArrayIter);
+
+var require$$17 = Object.freeze({
+ default: _isArrayIter$1
+ });
+
+ var _createProperty = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $defineProperty = interopDefault(require$$2$1),
+ createDesc = interopDefault(require$$2$3);
+
+ module.exports = function (object, index, value) {
+ if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value;
+ };
+ });
+
+ var _createProperty$1 = interopDefault(_createProperty);
+
+var require$$0$30 = Object.freeze({
+ default: _createProperty$1
+ });
+
+ var core_getIteratorMethod = createCommonjsModule(function (module) {
+ var classof = interopDefault(require$$1$11),
+ ITERATOR = interopDefault(require$$0$4)('iterator'),
+ Iterators = interopDefault(require$$1$15);
+ module.exports = interopDefault(require$$0).getIteratorMethod = function (it) {
+ if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
+ };
+ });
+
+ var core_getIteratorMethod$1 = interopDefault(core_getIteratorMethod);
+
+var require$$13 = Object.freeze({
+ default: core_getIteratorMethod$1
+ });
+
+ var _iterDetect = createCommonjsModule(function (module) {
+ var ITERATOR = interopDefault(require$$0$4)('iterator'),
+ SAFE_CLOSING = false;
+
+ try {
+ var riter = [7][ITERATOR]();
+ riter['return'] = function () {
+ SAFE_CLOSING = true;
+ };
+ Array.from(riter, function () {
+ throw 2;
+ });
+ } catch (e) {/* empty */}
+
+ module.exports = function (exec, skipClosing) {
+ if (!skipClosing && !SAFE_CLOSING) return false;
+ var safe = false;
+ try {
+ var arr = [7],
+ iter = arr[ITERATOR]();
+ iter.next = function () {
+ return { done: safe = true };
+ };
+ arr[ITERATOR] = function () {
+ return iter;
+ };
+ exec(arr);
+ } catch (e) {/* empty */}
+ return safe;
+ };
+ });
+
+ var _iterDetect$1 = interopDefault(_iterDetect);
+
+var require$$5$2 = Object.freeze({
+ default: _iterDetect$1
+ });
+
+ var es6_array_from = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var ctx = interopDefault(require$$31),
+ $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ call = interopDefault(require$$4$5),
+ isArrayIter = interopDefault(require$$17),
+ toLength = interopDefault(require$$3$1),
+ createProperty = interopDefault(require$$0$30),
+ getIterFn = interopDefault(require$$13);
+
+ $export($export.S + $export.F * !interopDefault(require$$5$2)(function (iter) {
+ Array.from(iter);
+ }), 'Array', {
+ // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)
+ from: function from(arrayLike /*, mapfn = undefined, thisArg = undefined*/) {
+ var O = toObject(arrayLike),
+ C = typeof this == 'function' ? this : Array,
+ aLen = arguments.length,
+ mapfn = aLen > 1 ? arguments[1] : undefined,
+ mapping = mapfn !== undefined,
+ index = 0,
+ iterFn = getIterFn(O),
+ length,
+ result,
+ step,
+ iterator;
+ if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);
+ // if object isn't iterable or it's array with default iterator - use simple case
+ if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {
+ for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {
+ createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);
+ }
+ } else {
+ length = toLength(O.length);
+ for (result = new C(length); length > index; index++) {
+ createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);
+ }
+ }
+ result.length = index;
+ return result;
+ }
+ });
+ });
+
+ interopDefault(es6_array_from);
+
+ var es6_array_of = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ createProperty = interopDefault(require$$0$30);
+
+ // WebKit Array.of isn't generic
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ function F() {}
+ return !(Array.of.call(F) instanceof F);
+ }), 'Array', {
+ // 22.1.2.3 Array.of( ...items)
+ of: function of() /* ...args */{
+ var index = 0,
+ aLen = arguments.length,
+ result = new (typeof this == 'function' ? this : Array)(aLen);
+ while (aLen > index) {
+ createProperty(result, index, arguments[index++]);
+ }result.length = aLen;
+ return result;
+ }
+ });
+ });
+
+ interopDefault(es6_array_of);
+
+ var _strictMethod = createCommonjsModule(function (module) {
+ var fails = interopDefault(require$$1$1);
+
+ module.exports = function (method, arg) {
+ return !!method && fails(function () {
+ arg ? method.call(null, function () {}, 1) : method.call(null);
+ });
+ };
+ });
+
+ var _strictMethod$1 = interopDefault(_strictMethod);
+
+var require$$0$31 = Object.freeze({
+ default: _strictMethod$1
+ });
+
+ var es6_array_join = createCommonjsModule(function (module) {
+ 'use strict';
+ // 22.1.3.13 Array.prototype.join(separator)
+
+ var $export = interopDefault(require$$1$2),
+ toIObject = interopDefault(require$$1$7),
+ arrayJoin = [].join;
+
+ // fallback for not array-like strings
+ $export($export.P + $export.F * (interopDefault(require$$1$8) != Object || !interopDefault(require$$0$31)(arrayJoin)), 'Array', {
+ join: function join(separator) {
+ return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);
+ }
+ });
+ });
+
+ interopDefault(es6_array_join);
+
+ var es6_array_slice = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ html = interopDefault(require$$3$2),
+ cof = interopDefault(require$$0$6),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1),
+ arraySlice = [].slice;
+
+ // fallback for not array-like ES3 strings and DOM objects
+ $export($export.P + $export.F * interopDefault(require$$1$1)(function () {
+ if (html) arraySlice.call(html);
+ }), 'Array', {
+ slice: function slice(begin, end) {
+ var len = toLength(this.length),
+ klass = cof(this);
+ end = end === undefined ? len : end;
+ if (klass == 'Array') return arraySlice.call(this, begin, end);
+ var start = toIndex(begin, len),
+ upTo = toIndex(end, len),
+ size = toLength(upTo - start),
+ cloned = Array(size),
+ i = 0;
+ for (; i < size; i++) {
+ cloned[i] = klass == 'String' ? this.charAt(start + i) : this[start + i];
+ }return cloned;
+ }
+ });
+ });
+
+ interopDefault(es6_array_slice);
+
+ var es6_array_sort = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ aFunction = interopDefault(require$$0$2),
+ toObject = interopDefault(require$$5$1),
+ fails = interopDefault(require$$1$1),
+ $sort = [].sort,
+ test = [1, 2, 3];
+
+ $export($export.P + $export.F * (fails(function () {
+ // IE8-
+ test.sort(undefined);
+ }) || !fails(function () {
+ // V8 bug
+ test.sort(null);
+ // Old WebKit
+ }) || !interopDefault(require$$0$31)($sort)), 'Array', {
+ // 22.1.3.25 Array.prototype.sort(comparefn)
+ sort: function sort(comparefn) {
+ return comparefn === undefined ? $sort.call(toObject(this)) : $sort.call(toObject(this), aFunction(comparefn));
+ }
+ });
+ });
+
+ interopDefault(es6_array_sort);
+
+ var _arraySpeciesConstructor = createCommonjsModule(function (module) {
+ var isObject = interopDefault(require$$0$1),
+ isArray = interopDefault(require$$1$10),
+ SPECIES = interopDefault(require$$0$4)('species');
+
+ module.exports = function (original) {
+ var C;
+ if (isArray(original)) {
+ C = original.constructor;
+ // cross-realm fallback
+ if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;
+ if (isObject(C)) {
+ C = C[SPECIES];
+ if (C === null) C = undefined;
+ }
+ }return C === undefined ? Array : C;
+ };
+ });
+
+ var _arraySpeciesConstructor$1 = interopDefault(_arraySpeciesConstructor);
+
+var require$$0$33 = Object.freeze({
+ default: _arraySpeciesConstructor$1
+ });
+
+ var _arraySpeciesCreate = createCommonjsModule(function (module) {
+ // 9.4.2.3 ArraySpeciesCreate(originalArray, length)
+ var speciesConstructor = interopDefault(require$$0$33);
+
+ module.exports = function (original, length) {
+ return new (speciesConstructor(original))(length);
+ };
+ });
+
+ var _arraySpeciesCreate$1 = interopDefault(_arraySpeciesCreate);
+
+var require$$0$32 = Object.freeze({
+ default: _arraySpeciesCreate$1
+ });
+
+ var _arrayMethods = createCommonjsModule(function (module) {
+ // 0 -> Array#forEach
+ // 1 -> Array#map
+ // 2 -> Array#filter
+ // 3 -> Array#some
+ // 4 -> Array#every
+ // 5 -> Array#find
+ // 6 -> Array#findIndex
+ var ctx = interopDefault(require$$31),
+ IObject = interopDefault(require$$1$8),
+ toObject = interopDefault(require$$5$1),
+ toLength = interopDefault(require$$3$1),
+ asc = interopDefault(require$$0$32);
+ module.exports = function (TYPE, $create) {
+ var IS_MAP = TYPE == 1,
+ IS_FILTER = TYPE == 2,
+ IS_SOME = TYPE == 3,
+ IS_EVERY = TYPE == 4,
+ IS_FIND_INDEX = TYPE == 6,
+ NO_HOLES = TYPE == 5 || IS_FIND_INDEX,
+ create = $create || asc;
+ return function ($this, callbackfn, that) {
+ var O = toObject($this),
+ self = IObject(O),
+ f = ctx(callbackfn, that, 3),
+ length = toLength(self.length),
+ index = 0,
+ result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined,
+ val,
+ res;
+ for (; length > index; index++) {
+ if (NO_HOLES || index in self) {
+ val = self[index];
+ res = f(val, index, O);
+ if (TYPE) {
+ if (IS_MAP) result[index] = res; // map
+ else if (res) switch (TYPE) {
+ case 3:
+ return true; // some
+ case 5:
+ return val; // find
+ case 6:
+ return index; // findIndex
+ case 2:
+ result.push(val); // filter
+ } else if (IS_EVERY) return false; // every
+ }
+ }
+ }return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;
+ };
+ };
+ });
+
+ var _arrayMethods$1 = interopDefault(_arrayMethods);
+
+var require$$10 = Object.freeze({
+ default: _arrayMethods$1
+ });
+
+ var es6_array_forEach = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $forEach = interopDefault(require$$10)(0),
+ STRICT = interopDefault(require$$0$31)([].forEach, true);
+
+ $export($export.P + $export.F * !STRICT, 'Array', {
+ // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])
+ forEach: function forEach(callbackfn /* , thisArg */) {
+ return $forEach(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_forEach);
+
+ var es6_array_map = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $map = interopDefault(require$$10)(1);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].map, true), 'Array', {
+ // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])
+ map: function map(callbackfn /* , thisArg */) {
+ return $map(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_map);
+
+ var es6_array_filter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $filter = interopDefault(require$$10)(2);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].filter, true), 'Array', {
+ // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])
+ filter: function filter(callbackfn /* , thisArg */) {
+ return $filter(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_filter);
+
+ var es6_array_some = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $some = interopDefault(require$$10)(3);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].some, true), 'Array', {
+ // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])
+ some: function some(callbackfn /* , thisArg */) {
+ return $some(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_some);
+
+ var es6_array_every = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $every = interopDefault(require$$10)(4);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].every, true), 'Array', {
+ // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])
+ every: function every(callbackfn /* , thisArg */) {
+ return $every(this, callbackfn, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_every);
+
+ var _arrayReduce = createCommonjsModule(function (module) {
+ var aFunction = interopDefault(require$$0$2),
+ toObject = interopDefault(require$$5$1),
+ IObject = interopDefault(require$$1$8),
+ toLength = interopDefault(require$$3$1);
+
+ module.exports = function (that, callbackfn, aLen, memo, isRight) {
+ aFunction(callbackfn);
+ var O = toObject(that),
+ self = IObject(O),
+ length = toLength(O.length),
+ index = isRight ? length - 1 : 0,
+ i = isRight ? -1 : 1;
+ if (aLen < 2) for (;;) {
+ if (index in self) {
+ memo = self[index];
+ index += i;
+ break;
+ }
+ index += i;
+ if (isRight ? index < 0 : length <= index) {
+ throw TypeError('Reduce of empty array with no initial value');
+ }
+ }
+ for (; isRight ? index >= 0 : length > index; index += i) {
+ if (index in self) {
+ memo = callbackfn(memo, self[index], index, O);
+ }
+ }return memo;
+ };
+ });
+
+ var _arrayReduce$1 = interopDefault(_arrayReduce);
+
+var require$$1$17 = Object.freeze({
+ default: _arrayReduce$1
+ });
+
+ var es6_array_reduce = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $reduce = interopDefault(require$$1$17);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].reduce, true), 'Array', {
+ // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])
+ reduce: function reduce(callbackfn /* , initialValue */) {
+ return $reduce(this, callbackfn, arguments.length, arguments[1], false);
+ }
+ });
+ });
+
+ interopDefault(es6_array_reduce);
+
+ var es6_array_reduceRight = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $reduce = interopDefault(require$$1$17);
+
+ $export($export.P + $export.F * !interopDefault(require$$0$31)([].reduceRight, true), 'Array', {
+ // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])
+ reduceRight: function reduceRight(callbackfn /* , initialValue */) {
+ return $reduce(this, callbackfn, arguments.length, arguments[1], true);
+ }
+ });
+ });
+
+ interopDefault(es6_array_reduceRight);
+
+ var es6_array_indexOf = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $indexOf = interopDefault(require$$1$9)(false),
+ $native = [].indexOf,
+ NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;
+
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !interopDefault(require$$0$31)($native)), 'Array', {
+ // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])
+ indexOf: function indexOf(searchElement /*, fromIndex = 0 */) {
+ return NEGATIVE_ZERO
+ // convert -0 to +0
+ ? $native.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments[1]);
+ }
+ });
+ });
+
+ interopDefault(es6_array_indexOf);
+
+ var es6_array_lastIndexOf = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toIObject = interopDefault(require$$1$7),
+ toInteger = interopDefault(require$$26),
+ toLength = interopDefault(require$$3$1),
+ $native = [].lastIndexOf,
+ NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;
+
+ $export($export.P + $export.F * (NEGATIVE_ZERO || !interopDefault(require$$0$31)($native)), 'Array', {
+ // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])
+ lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */) {
+ // convert -0 to +0
+ if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;
+ var O = toIObject(this),
+ length = toLength(O.length),
+ index = length - 1;
+ if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));
+ if (index < 0) index = length + index;
+ for (; index >= 0; index--) {
+ if (index in O) if (O[index] === searchElement) return index || 0;
+ }return -1;
+ }
+ });
+ });
+
+ interopDefault(es6_array_lastIndexOf);
+
+ var _arrayCopyWithin = createCommonjsModule(function (module) {
+ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
+ 'use strict';
+
+ var toObject = interopDefault(require$$5$1),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1);
+
+ module.exports = [].copyWithin || function copyWithin(target /*= 0*/, start /*= 0, end = @length*/) {
+ var O = toObject(this),
+ len = toLength(O.length),
+ to = toIndex(target, len),
+ from = toIndex(start, len),
+ end = arguments.length > 2 ? arguments[2] : undefined,
+ count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to),
+ inc = 1;
+ if (from < to && to < from + count) {
+ inc = -1;
+ from += count - 1;
+ to += count - 1;
+ }
+ while (count-- > 0) {
+ if (from in O) O[to] = O[from];else delete O[to];
+ to += inc;
+ from += inc;
+ }return O;
+ };
+ });
+
+ var _arrayCopyWithin$1 = interopDefault(_arrayCopyWithin);
+
+var require$$2$9 = Object.freeze({
+ default: _arrayCopyWithin$1
+ });
+
+ var _addToUnscopables = createCommonjsModule(function (module) {
+ // 22.1.3.31 Array.prototype[@@unscopables]
+ var UNSCOPABLES = interopDefault(require$$0$4)('unscopables'),
+ ArrayProto = Array.prototype;
+ if (ArrayProto[UNSCOPABLES] == undefined) interopDefault(require$$2)(ArrayProto, UNSCOPABLES, {});
+ module.exports = function (key) {
+ ArrayProto[UNSCOPABLES][key] = true;
+ };
+ });
+
+ var _addToUnscopables$1 = interopDefault(_addToUnscopables);
+
+var require$$0$34 = Object.freeze({
+ default: _addToUnscopables$1
+ });
+
+ var es6_array_copyWithin = createCommonjsModule(function (module) {
+ // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'Array', { copyWithin: interopDefault(require$$2$9) });
+
+ interopDefault(require$$0$34)('copyWithin');
+ });
+
+ interopDefault(es6_array_copyWithin);
+
+ var _arrayFill = createCommonjsModule(function (module) {
+ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
+ 'use strict';
+
+ var toObject = interopDefault(require$$5$1),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1);
+ module.exports = function fill(value /*, start = 0, end = @length */) {
+ var O = toObject(this),
+ length = toLength(O.length),
+ aLen = arguments.length,
+ index = toIndex(aLen > 1 ? arguments[1] : undefined, length),
+ end = aLen > 2 ? arguments[2] : undefined,
+ endPos = end === undefined ? length : toIndex(end, length);
+ while (endPos > index) {
+ O[index++] = value;
+ }return O;
+ };
+ });
+
+ var _arrayFill$1 = interopDefault(_arrayFill);
+
+var require$$3$5 = Object.freeze({
+ default: _arrayFill$1
+ });
+
+ var es6_array_fill = createCommonjsModule(function (module) {
+ // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P, 'Array', { fill: interopDefault(require$$3$5) });
+
+ interopDefault(require$$0$34)('fill');
+ });
+
+ interopDefault(es6_array_fill);
+
+ var es6_array_find = createCommonjsModule(function (module) {
+ 'use strict';
+ // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
+
+ var $export = interopDefault(require$$1$2),
+ $find = interopDefault(require$$10)(5),
+ KEY = 'find',
+ forced = true;
+ // Shouldn't skip holes
+ if (KEY in []) Array(1)[KEY](function () {
+ forced = false;
+ });
+ $export($export.P + $export.F * forced, 'Array', {
+ find: function find(callbackfn /*, that = undefined */) {
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+ interopDefault(require$$0$34)(KEY);
+ });
+
+ interopDefault(es6_array_find);
+
+ var es6_array_findIndex = createCommonjsModule(function (module) {
+ 'use strict';
+ // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)
+
+ var $export = interopDefault(require$$1$2),
+ $find = interopDefault(require$$10)(6),
+ KEY = 'findIndex',
+ forced = true;
+ // Shouldn't skip holes
+ if (KEY in []) Array(1)[KEY](function () {
+ forced = false;
+ });
+ $export($export.P + $export.F * forced, 'Array', {
+ findIndex: function findIndex(callbackfn /*, that = undefined */) {
+ return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+ interopDefault(require$$0$34)(KEY);
+ });
+
+ interopDefault(es6_array_findIndex);
+
+ var _setSpecies = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ dP = interopDefault(require$$2$1),
+ DESCRIPTORS = interopDefault(require$$1),
+ SPECIES = interopDefault(require$$0$4)('species');
+
+ module.exports = function (KEY) {
+ var C = global[KEY];
+ if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
+ configurable: true,
+ get: function get() {
+ return this;
+ }
+ });
+ };
+ });
+
+ var _setSpecies$1 = interopDefault(_setSpecies);
+
+var require$$0$35 = Object.freeze({
+ default: _setSpecies$1
+ });
+
+ var es6_array_species = createCommonjsModule(function (module) {
+ interopDefault(require$$0$35)('Array');
+ });
+
+ interopDefault(es6_array_species);
+
+ var _iterStep = createCommonjsModule(function (module) {
+ module.exports = function (done, value) {
+ return { value: value, done: !!done };
+ };
+ });
+
+ var _iterStep$1 = interopDefault(_iterStep);
+
+var require$$3$6 = Object.freeze({
+ default: _iterStep$1
+ });
+
+ var es6_array_iterator = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var addToUnscopables = interopDefault(require$$0$34),
+ step = interopDefault(require$$3$6),
+ Iterators = interopDefault(require$$1$15),
+ toIObject = interopDefault(require$$1$7);
+
+ // 22.1.3.4 Array.prototype.entries()
+ // 22.1.3.13 Array.prototype.keys()
+ // 22.1.3.29 Array.prototype.values()
+ // 22.1.3.30 Array.prototype[@@iterator]()
+ module.exports = interopDefault(require$$4$4)(Array, 'Array', function (iterated, kind) {
+ this._t = toIObject(iterated); // target
+ this._i = 0; // next index
+ this._k = kind; // kind
+ // 22.1.5.2.1 %ArrayIteratorPrototype%.next()
+ }, function () {
+ var O = this._t,
+ kind = this._k,
+ index = this._i++;
+ if (!O || index >= O.length) {
+ this._t = undefined;
+ return step(1);
+ }
+ if (kind == 'keys') return step(0, index);
+ if (kind == 'values') return step(0, O[index]);
+ return step(0, [index, O[index]]);
+ }, 'values');
+
+ // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)
+ Iterators.Arguments = Iterators.Array;
+
+ addToUnscopables('keys');
+ addToUnscopables('values');
+ addToUnscopables('entries');
+ });
+
+ var es6_array_iterator$1 = interopDefault(es6_array_iterator);
+
+var require$$5$3 = Object.freeze({
+ default: es6_array_iterator$1
+ });
+
+ var _flags = createCommonjsModule(function (module) {
+ 'use strict';
+ // 21.2.5.3 get RegExp.prototype.flags
+
+ var anObject = interopDefault(require$$5);
+ module.exports = function () {
+ var that = anObject(this),
+ result = '';
+ if (that.global) result += 'g';
+ if (that.ignoreCase) result += 'i';
+ if (that.multiline) result += 'm';
+ if (that.unicode) result += 'u';
+ if (that.sticky) result += 'y';
+ return result;
+ };
+ });
+
+ var _flags$1 = interopDefault(_flags);
+
+var require$$1$18 = Object.freeze({
+ default: _flags$1
+ });
+
+ var es6_regexp_constructor = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ inheritIfRequired = interopDefault(require$$0$19),
+ dP = interopDefault(require$$2$1).f,
+ gOPN = interopDefault(require$$3$3).f,
+ isRegExp = interopDefault(require$$2$8),
+ $flags = interopDefault(require$$1$18),
+ $RegExp = global.RegExp,
+ Base = $RegExp,
+ proto = $RegExp.prototype,
+ re1 = /a/g,
+ re2 = /a/g
+ // "new" creates a new object, old webkit buggy here
+ ,
+ CORRECT_NEW = new $RegExp(re1) !== re1;
+
+ if (interopDefault(require$$1) && (!CORRECT_NEW || interopDefault(require$$1$1)(function () {
+ re2[interopDefault(require$$0$4)('match')] = false;
+ // RegExp constructor can alter flags and IsRegExp works correct with @@match
+ return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';
+ }))) {
+ $RegExp = function RegExp(p, f) {
+ var tiRE = this instanceof $RegExp,
+ piRE = isRegExp(p),
+ fiU = f === undefined;
+ return !tiRE && piRE && p.constructor === $RegExp && fiU ? p : inheritIfRequired(CORRECT_NEW ? new Base(piRE && !fiU ? p.source : p, f) : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f), tiRE ? this : proto, $RegExp);
+ };
+ var proxy = function proxy(key) {
+ key in $RegExp || dP($RegExp, key, {
+ configurable: true,
+ get: function get() {
+ return Base[key];
+ },
+ set: function set(it) {
+ Base[key] = it;
+ }
+ });
+ };
+ for (var keys = gOPN(Base), i = 0; keys.length > i;) {
+ proxy(keys[i++]);
+ }proto.constructor = $RegExp;
+ $RegExp.prototype = proto;
+ interopDefault(require$$4$2)(global, 'RegExp', $RegExp);
+ }
+
+ interopDefault(require$$0$35)('RegExp');
+ });
+
+ interopDefault(es6_regexp_constructor);
+
+ var es6_regexp_flags = createCommonjsModule(function (module) {
+ // 21.2.5.3 get RegExp.prototype.flags()
+ if (interopDefault(require$$1) && /./g.flags != 'g') interopDefault(require$$2$1).f(RegExp.prototype, 'flags', {
+ configurable: true,
+ get: interopDefault(require$$1$18)
+ });
+ });
+
+ interopDefault(es6_regexp_flags);
+
+ var es6_regexp_toString = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var anObject = interopDefault(require$$5),
+ $flags = interopDefault(require$$1$18),
+ DESCRIPTORS = interopDefault(require$$1),
+ TO_STRING = 'toString',
+ $toString = /./[TO_STRING];
+
+ var define = function define(fn) {
+ interopDefault(require$$4$2)(RegExp.prototype, TO_STRING, fn, true);
+ };
+
+ // 21.2.5.14 RegExp.prototype.toString()
+ if (interopDefault(require$$1$1)(function () {
+ return $toString.call({ source: 'a', flags: 'b' }) != '/a/b';
+ })) {
+ define(function toString() {
+ var R = anObject(this);
+ return '/'.concat(R.source, '/', 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);
+ });
+ // FF44- RegExp#toString has a wrong name
+ } else if ($toString.name != TO_STRING) {
+ define(function toString() {
+ return $toString.call(this);
+ });
+ }
+ });
+
+ interopDefault(es6_regexp_toString);
+
+ var _fixReWks = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var hide = interopDefault(require$$2),
+ redefine = interopDefault(require$$4$2),
+ fails = interopDefault(require$$1$1),
+ defined = interopDefault(require$$4$3),
+ wks = interopDefault(require$$0$4);
+
+ module.exports = function (KEY, length, exec) {
+ var SYMBOL = wks(KEY),
+ fns = exec(defined, SYMBOL, ''[KEY]),
+ strfn = fns[0],
+ rxfn = fns[1];
+ if (fails(function () {
+ var O = {};
+ O[SYMBOL] = function () {
+ return 7;
+ };
+ return ''[KEY](O) != 7;
+ })) {
+ redefine(String.prototype, KEY, strfn);
+ hide(RegExp.prototype, SYMBOL, length == 2
+ // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)
+ // 21.2.5.11 RegExp.prototype[@@split](string, limit)
+ ? function (string, arg) {
+ return rxfn.call(string, this, arg);
+ }
+ // 21.2.5.6 RegExp.prototype[@@match](string)
+ // 21.2.5.9 RegExp.prototype[@@search](string)
+ : function (string) {
+ return rxfn.call(string, this);
+ });
+ }
+ };
+ });
+
+ var _fixReWks$1 = interopDefault(_fixReWks);
+
+var require$$1$19 = Object.freeze({
+ default: _fixReWks$1
+ });
+
+ var es6_regexp_match = createCommonjsModule(function (module) {
+ // @@match logic
+ interopDefault(require$$1$19)('match', 1, function (defined, MATCH, $match) {
+ // 21.1.3.11 String.prototype.match(regexp)
+ return [function match(regexp) {
+ 'use strict';
+
+ var O = defined(this),
+ fn = regexp == undefined ? undefined : regexp[MATCH];
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
+ }, $match];
+ });
+ });
+
+ interopDefault(es6_regexp_match);
+
+ var es6_regexp_replace = createCommonjsModule(function (module) {
+ // @@replace logic
+ interopDefault(require$$1$19)('replace', 2, function (defined, REPLACE, $replace) {
+ // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)
+ return [function replace(searchValue, replaceValue) {
+ 'use strict';
+
+ var O = defined(this),
+ fn = searchValue == undefined ? undefined : searchValue[REPLACE];
+ return fn !== undefined ? fn.call(searchValue, O, replaceValue) : $replace.call(String(O), searchValue, replaceValue);
+ }, $replace];
+ });
+ });
+
+ interopDefault(es6_regexp_replace);
+
+ var es6_regexp_search = createCommonjsModule(function (module) {
+ // @@search logic
+ interopDefault(require$$1$19)('search', 1, function (defined, SEARCH, $search) {
+ // 21.1.3.15 String.prototype.search(regexp)
+ return [function search(regexp) {
+ 'use strict';
+
+ var O = defined(this),
+ fn = regexp == undefined ? undefined : regexp[SEARCH];
+ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
+ }, $search];
+ });
+ });
+
+ interopDefault(es6_regexp_search);
+
+ var es6_regexp_split = createCommonjsModule(function (module) {
+ // @@split logic
+ interopDefault(require$$1$19)('split', 2, function (defined, SPLIT, $split) {
+ 'use strict';
+
+ var isRegExp = interopDefault(require$$2$8),
+ _split = $split,
+ $push = [].push,
+ $SPLIT = 'split',
+ LENGTH = 'length',
+ LAST_INDEX = 'lastIndex';
+ if ('abbc'[$SPLIT](/(b)*/)[1] == 'c' || 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || '.'[$SPLIT](/()()/)[LENGTH] > 1 || ''[$SPLIT](/.?/)[LENGTH]) {
+ var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group
+ // based on es5-shim implementation, need to rework it
+ $split = function $split(separator, limit) {
+ var string = String(this);
+ if (separator === undefined && limit === 0) return [];
+ // If `separator` is not a regex, use native split
+ if (!isRegExp(separator)) return _split.call(string, separator, limit);
+ var output = [];
+ var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : '');
+ var lastLastIndex = 0;
+ var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;
+ // Make `global` and avoid `lastIndex` issues by working with a copy
+ var separatorCopy = new RegExp(separator.source, flags + 'g');
+ var separator2, match, lastIndex, lastLength, i;
+ // Doesn't need flags gy, but they don't hurt
+ if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags);
+ while (match = separatorCopy.exec(string)) {
+ // `separatorCopy.lastIndex` is not reliable cross-browser
+ lastIndex = match.index + match[0][LENGTH];
+ if (lastIndex > lastLastIndex) {
+ output.push(string.slice(lastLastIndex, match.index));
+ // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG
+ if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {
+ for (i = 1; i < arguments[LENGTH] - 2; i++) {
+ if (arguments[i] === undefined) match[i] = undefined;
+ }
+ });
+ if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));
+ lastLength = match[0][LENGTH];
+ lastLastIndex = lastIndex;
+ if (output[LENGTH] >= splitLimit) break;
+ }
+ if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop
+ }
+ if (lastLastIndex === string[LENGTH]) {
+ if (lastLength || !separatorCopy.test('')) output.push('');
+ } else output.push(string.slice(lastLastIndex));
+ return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;
+ };
+ // Chakra, V8
+ } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {
+ $split = function $split(separator, limit) {
+ return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);
+ };
+ }
+ // 21.1.3.17 String.prototype.split(separator, limit)
+ return [function split(separator, limit) {
+ var O = defined(this),
+ fn = separator == undefined ? undefined : separator[SPLIT];
+ return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);
+ }, $split];
+ });
+ });
+
+ interopDefault(es6_regexp_split);
+
+ var _anInstance = createCommonjsModule(function (module) {
+ module.exports = function (it, Constructor, name, forbiddenField) {
+ if (!(it instanceof Constructor) || forbiddenField !== undefined && forbiddenField in it) {
+ throw TypeError(name + ': incorrect invocation!');
+ }return it;
+ };
+ });
+
+ var _anInstance$1 = interopDefault(_anInstance);
+
+var require$$4$6 = Object.freeze({
+ default: _anInstance$1
+ });
+
+ var _forOf = createCommonjsModule(function (module) {
+ var ctx = interopDefault(require$$31),
+ call = interopDefault(require$$4$5),
+ isArrayIter = interopDefault(require$$17),
+ anObject = interopDefault(require$$5),
+ toLength = interopDefault(require$$3$1),
+ getIterFn = interopDefault(require$$13),
+ BREAK = {},
+ RETURN = {};
+ var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {
+ var iterFn = ITERATOR ? function () {
+ return iterable;
+ } : getIterFn(iterable),
+ f = ctx(fn, that, entries ? 2 : 1),
+ index = 0,
+ length,
+ step,
+ iterator,
+ result;
+ if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');
+ // fast case for arrays with default iterator
+ if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
+ result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
+ if (result === BREAK || result === RETURN) return result;
+ } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {
+ result = call(iterator, f, step.value, entries);
+ if (result === BREAK || result === RETURN) return result;
+ }
+ };
+ exports.BREAK = BREAK;
+ exports.RETURN = RETURN;
+ });
+
+ var _forOf$1 = interopDefault(_forOf);
+
+var require$$1$20 = Object.freeze({
+ default: _forOf$1
+ });
+
+ var _speciesConstructor = createCommonjsModule(function (module) {
+ // 7.3.20 SpeciesConstructor(O, defaultConstructor)
+ var anObject = interopDefault(require$$5),
+ aFunction = interopDefault(require$$0$2),
+ SPECIES = interopDefault(require$$0$4)('species');
+ module.exports = function (O, D) {
+ var C = anObject(O).constructor,
+ S;
+ return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);
+ };
+ });
+
+ var _speciesConstructor$1 = interopDefault(_speciesConstructor);
+
+var require$$8 = Object.freeze({
+ default: _speciesConstructor$1
+ });
+
+ var _task = createCommonjsModule(function (module) {
+ var ctx = interopDefault(require$$31),
+ invoke = interopDefault(require$$1$13),
+ html = interopDefault(require$$3$2),
+ cel = interopDefault(require$$2$2),
+ global = interopDefault(require$$3),
+ process = global.process,
+ setTask = global.setImmediate,
+ clearTask = global.clearImmediate,
+ MessageChannel = global.MessageChannel,
+ counter = 0,
+ queue = {},
+ ONREADYSTATECHANGE = 'onreadystatechange',
+ defer,
+ channel,
+ port;
+ var run = function run() {
+ var id = +this;
+ if (queue.hasOwnProperty(id)) {
+ var fn = queue[id];
+ delete queue[id];
+ fn();
+ }
+ };
+ var listener = function listener(event) {
+ run.call(event.data);
+ };
+ // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
+ if (!setTask || !clearTask) {
+ setTask = function setImmediate(fn) {
+ var args = [],
+ i = 1;
+ while (arguments.length > i) {
+ args.push(arguments[i++]);
+ }queue[++counter] = function () {
+ invoke(typeof fn == 'function' ? fn : Function(fn), args);
+ };
+ defer(counter);
+ return counter;
+ };
+ clearTask = function clearImmediate(id) {
+ delete queue[id];
+ };
+ // Node.js 0.8-
+ if (interopDefault(require$$0$6)(process) == 'process') {
+ defer = function defer(id) {
+ process.nextTick(ctx(run, id, 1));
+ };
+ // Browsers with MessageChannel, includes WebWorkers
+ } else if (MessageChannel) {
+ channel = new MessageChannel();
+ port = channel.port2;
+ channel.port1.onmessage = listener;
+ defer = ctx(port.postMessage, port, 1);
+ // Browsers with postMessage, skip WebWorkers
+ // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
+ } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {
+ defer = function defer(id) {
+ global.postMessage(id + '', '*');
+ };
+ global.addEventListener('message', listener, false);
+ // IE8-
+ } else if (ONREADYSTATECHANGE in cel('script')) {
+ defer = function defer(id) {
+ html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {
+ html.removeChild(this);
+ run.call(id);
+ };
+ };
+ // Rest old browsers
+ } else {
+ defer = function defer(id) {
+ setTimeout(ctx(run, id, 1), 0);
+ };
+ }
+ }
+ module.exports = {
+ set: setTask,
+ clear: clearTask
+ };
+ });
+
+ var _task$1 = interopDefault(_task);
+ var set$2 = _task.set;
+ var clear = _task.clear;
+
+var require$$0$36 = Object.freeze({
+ default: _task$1,
+ set: set$2,
+ clear: clear
+ });
+
+ var _microtask = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ macrotask = interopDefault(require$$0$36).set,
+ Observer = global.MutationObserver || global.WebKitMutationObserver,
+ process = global.process,
+ Promise = global.Promise,
+ isNode = interopDefault(require$$0$6)(process) == 'process';
+
+ module.exports = function () {
+ var head, last, notify;
+
+ var flush = function flush() {
+ var parent, fn;
+ if (isNode && (parent = process.domain)) parent.exit();
+ while (head) {
+ fn = head.fn;
+ head = head.next;
+ try {
+ fn();
+ } catch (e) {
+ if (head) notify();else last = undefined;
+ throw e;
+ }
+ }last = undefined;
+ if (parent) parent.enter();
+ };
+
+ // Node.js
+ if (isNode) {
+ notify = function notify() {
+ process.nextTick(flush);
+ };
+ // browsers with MutationObserver
+ } else if (Observer) {
+ var toggle = true,
+ node = document.createTextNode('');
+ new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new
+ notify = function notify() {
+ node.data = toggle = !toggle;
+ };
+ // environments with maybe non-completely correct, but existent Promise
+ } else if (Promise && Promise.resolve) {
+ var promise = Promise.resolve();
+ notify = function notify() {
+ promise.then(flush);
+ };
+ // for other environments - macrotask based on:
+ // - setImmediate
+ // - MessageChannel
+ // - window.postMessag
+ // - onreadystatechange
+ // - setTimeout
+ } else {
+ notify = function notify() {
+ // strange IE + webpack dev server bug - use .call(global)
+ macrotask.call(global, flush);
+ };
+ }
+
+ return function (fn) {
+ var task = { fn: fn, next: undefined };
+ if (last) last.next = task;
+ if (!head) {
+ head = task;
+ notify();
+ }last = task;
+ };
+ };
+ });
+
+ var _microtask$1 = interopDefault(_microtask);
+
+var require$$8$1 = Object.freeze({
+ default: _microtask$1
+ });
+
+ var _redefineAll = createCommonjsModule(function (module) {
+ var redefine = interopDefault(require$$4$2);
+ module.exports = function (target, src, safe) {
+ for (var key in src) {
+ redefine(target, key, src[key], safe);
+ }return target;
+ };
+ });
+
+ var _redefineAll$1 = interopDefault(_redefineAll);
+
+var require$$3$7 = Object.freeze({
+ default: _redefineAll$1
+ });
+
+ var es6_promise = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var LIBRARY = interopDefault(require$$2$4),
+ global = interopDefault(require$$3),
+ ctx = interopDefault(require$$31),
+ classof = interopDefault(require$$1$11),
+ $export = interopDefault(require$$1$2),
+ isObject = interopDefault(require$$0$1),
+ aFunction = interopDefault(require$$0$2),
+ anInstance = interopDefault(require$$4$6),
+ forOf = interopDefault(require$$1$20),
+ speciesConstructor = interopDefault(require$$8),
+ task = interopDefault(require$$0$36).set,
+ microtask = interopDefault(require$$8$1)(),
+ PROMISE = 'Promise',
+ TypeError = global.TypeError,
+ process = global.process,
+ $Promise = global[PROMISE],
+ process = global.process,
+ isNode = classof(process) == 'process',
+ empty = function empty() {/* empty */},
+ Internal,
+ GenericPromiseCapability,
+ Wrapper;
+
+ var USE_NATIVE = !!function () {
+ try {
+ // correct subclassing with @@species support
+ var promise = $Promise.resolve(1),
+ FakePromise = (promise.constructor = {})[interopDefault(require$$0$4)('species')] = function (exec) {
+ exec(empty, empty);
+ };
+ // unhandled rejections tracking support, NodeJS Promise without it fails @@species test
+ return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;
+ } catch (e) {/* empty */}
+ }();
+
+ // helpers
+ var sameConstructor = function sameConstructor(a, b) {
+ // with library wrapper special case
+ return a === b || a === $Promise && b === Wrapper;
+ };
+ var isThenable = function isThenable(it) {
+ var then;
+ return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
+ };
+ var newPromiseCapability = function newPromiseCapability(C) {
+ return sameConstructor($Promise, C) ? new PromiseCapability(C) : new GenericPromiseCapability(C);
+ };
+ var PromiseCapability = GenericPromiseCapability = function GenericPromiseCapability(C) {
+ var resolve, reject;
+ this.promise = new C(function ($$resolve, $$reject) {
+ if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');
+ resolve = $$resolve;
+ reject = $$reject;
+ });
+ this.resolve = aFunction(resolve);
+ this.reject = aFunction(reject);
+ };
+ var perform = function perform(exec) {
+ try {
+ exec();
+ } catch (e) {
+ return { error: e };
+ }
+ };
+ var notify = function notify(promise, isReject) {
+ if (promise._n) return;
+ promise._n = true;
+ var chain = promise._c;
+ microtask(function () {
+ var value = promise._v,
+ ok = promise._s == 1,
+ i = 0;
+ var run = function run(reaction) {
+ var handler = ok ? reaction.ok : reaction.fail,
+ resolve = reaction.resolve,
+ reject = reaction.reject,
+ domain = reaction.domain,
+ result,
+ then;
+ try {
+ if (handler) {
+ if (!ok) {
+ if (promise._h == 2) onHandleUnhandled(promise);
+ promise._h = 1;
+ }
+ if (handler === true) result = value;else {
+ if (domain) domain.enter();
+ result = handler(value);
+ if (domain) domain.exit();
+ }
+ if (result === reaction.promise) {
+ reject(TypeError('Promise-chain cycle'));
+ } else if (then = isThenable(result)) {
+ then.call(result, resolve, reject);
+ } else resolve(result);
+ } else reject(value);
+ } catch (e) {
+ reject(e);
+ }
+ };
+ while (chain.length > i) {
+ run(chain[i++]);
+ } // variable length - can't use forEach
+ promise._c = [];
+ promise._n = false;
+ if (isReject && !promise._h) onUnhandled(promise);
+ });
+ };
+ var onUnhandled = function onUnhandled(promise) {
+ task.call(global, function () {
+ var value = promise._v,
+ abrupt,
+ handler,
+ console;
+ if (isUnhandled(promise)) {
+ abrupt = perform(function () {
+ if (isNode) {
+ process.emit('unhandledRejection', value, promise);
+ } else if (handler = global.onunhandledrejection) {
+ handler({ promise: promise, reason: value });
+ } else if ((console = global.console) && console.error) {
+ console.error('Unhandled promise rejection', value);
+ }
+ });
+ // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
+ promise._h = isNode || isUnhandled(promise) ? 2 : 1;
+ }promise._a = undefined;
+ if (abrupt) throw abrupt.error;
+ });
+ };
+ var isUnhandled = function isUnhandled(promise) {
+ if (promise._h == 1) return false;
+ var chain = promise._a || promise._c,
+ i = 0,
+ reaction;
+ while (chain.length > i) {
+ reaction = chain[i++];
+ if (reaction.fail || !isUnhandled(reaction.promise)) return false;
+ }return true;
+ };
+ var onHandleUnhandled = function onHandleUnhandled(promise) {
+ task.call(global, function () {
+ var handler;
+ if (isNode) {
+ process.emit('rejectionHandled', promise);
+ } else if (handler = global.onrejectionhandled) {
+ handler({ promise: promise, reason: promise._v });
+ }
+ });
+ };
+ var $reject = function $reject(value) {
+ var promise = this;
+ if (promise._d) return;
+ promise._d = true;
+ promise = promise._w || promise; // unwrap
+ promise._v = value;
+ promise._s = 2;
+ if (!promise._a) promise._a = promise._c.slice();
+ notify(promise, true);
+ };
+ var $resolve = function $resolve(value) {
+ var promise = this,
+ then;
+ if (promise._d) return;
+ promise._d = true;
+ promise = promise._w || promise; // unwrap
+ try {
+ if (promise === value) throw TypeError("Promise can't be resolved itself");
+ if (then = isThenable(value)) {
+ microtask(function () {
+ var wrapper = { _w: promise, _d: false }; // wrap
+ try {
+ then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
+ } catch (e) {
+ $reject.call(wrapper, e);
+ }
+ });
+ } else {
+ promise._v = value;
+ promise._s = 1;
+ notify(promise, false);
+ }
+ } catch (e) {
+ $reject.call({ _w: promise, _d: false }, e); // wrap
+ }
+ };
+
+ // constructor polyfill
+ if (!USE_NATIVE) {
+ // 25.4.3.1 Promise(executor)
+ $Promise = function Promise(executor) {
+ anInstance(this, $Promise, PROMISE, '_h');
+ aFunction(executor);
+ Internal.call(this);
+ try {
+ executor(ctx($resolve, this, 1), ctx($reject, this, 1));
+ } catch (err) {
+ $reject.call(this, err);
+ }
+ };
+ Internal = function Promise(executor) {
+ this._c = []; // <- awaiting reactions
+ this._a = undefined; // <- checked in isUnhandled reactions
+ this._s = 0; // <- state
+ this._d = false; // <- done
+ this._v = undefined; // <- value
+ this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled
+ this._n = false; // <- notify
+ };
+ Internal.prototype = interopDefault(require$$3$7)($Promise.prototype, {
+ // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
+ then: function then(onFulfilled, onRejected) {
+ var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
+ reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
+ reaction.fail = typeof onRejected == 'function' && onRejected;
+ reaction.domain = isNode ? process.domain : undefined;
+ this._c.push(reaction);
+ if (this._a) this._a.push(reaction);
+ if (this._s) notify(this, false);
+ return reaction.promise;
+ },
+ // 25.4.5.1 Promise.prototype.catch(onRejected)
+ 'catch': function _catch(onRejected) {
+ return this.then(undefined, onRejected);
+ }
+ });
+ PromiseCapability = function PromiseCapability() {
+ var promise = new Internal();
+ this.promise = promise;
+ this.resolve = ctx($resolve, promise, 1);
+ this.reject = ctx($reject, promise, 1);
+ };
+ }
+
+ $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
+ interopDefault(require$$0$3)($Promise, PROMISE);
+ interopDefault(require$$0$35)(PROMISE);
+ Wrapper = interopDefault(require$$0)[PROMISE];
+
+ // statics
+ $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
+ // 25.4.4.5 Promise.reject(r)
+ reject: function reject(r) {
+ var capability = newPromiseCapability(this),
+ $$reject = capability.reject;
+ $$reject(r);
+ return capability.promise;
+ }
+ });
+ $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
+ // 25.4.4.6 Promise.resolve(x)
+ resolve: function resolve(x) {
+ // instanceof instead of internal slot check because we should fix it without replacement native Promise core
+ if (x instanceof $Promise && sameConstructor(x.constructor, this)) return x;
+ var capability = newPromiseCapability(this),
+ $$resolve = capability.resolve;
+ $$resolve(x);
+ return capability.promise;
+ }
+ });
+ $export($export.S + $export.F * !(USE_NATIVE && interopDefault(require$$5$2)(function (iter) {
+ $Promise.all(iter)['catch'](empty);
+ })), PROMISE, {
+ // 25.4.4.1 Promise.all(iterable)
+ all: function all(iterable) {
+ var C = this,
+ capability = newPromiseCapability(C),
+ resolve = capability.resolve,
+ reject = capability.reject;
+ var abrupt = perform(function () {
+ var values = [],
+ index = 0,
+ remaining = 1;
+ forOf(iterable, false, function (promise) {
+ var $index = index++,
+ alreadyCalled = false;
+ values.push(undefined);
+ remaining++;
+ C.resolve(promise).then(function (value) {
+ if (alreadyCalled) return;
+ alreadyCalled = true;
+ values[$index] = value;
+ --remaining || resolve(values);
+ }, reject);
+ });
+ --remaining || resolve(values);
+ });
+ if (abrupt) reject(abrupt.error);
+ return capability.promise;
+ },
+ // 25.4.4.4 Promise.race(iterable)
+ race: function race(iterable) {
+ var C = this,
+ capability = newPromiseCapability(C),
+ reject = capability.reject;
+ var abrupt = perform(function () {
+ forOf(iterable, false, function (promise) {
+ C.resolve(promise).then(capability.resolve, reject);
+ });
+ });
+ if (abrupt) reject(abrupt.error);
+ return capability.promise;
+ }
+ });
+ });
+
+ interopDefault(es6_promise);
+
+ var _collectionStrong = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var dP = interopDefault(require$$2$1).f,
+ create = interopDefault(require$$6$1),
+ redefineAll = interopDefault(require$$3$7),
+ ctx = interopDefault(require$$31),
+ anInstance = interopDefault(require$$4$6),
+ defined = interopDefault(require$$4$3),
+ forOf = interopDefault(require$$1$20),
+ $iterDefine = interopDefault(require$$4$4),
+ step = interopDefault(require$$3$6),
+ setSpecies = interopDefault(require$$0$35),
+ DESCRIPTORS = interopDefault(require$$1),
+ fastKey = interopDefault(require$$6).fastKey,
+ SIZE = DESCRIPTORS ? '_s' : 'size';
+
+ var getEntry = function getEntry(that, key) {
+ // fast case
+ var index = fastKey(key),
+ entry;
+ if (index !== 'F') return that._i[index];
+ // frozen object case
+ for (entry = that._f; entry; entry = entry.n) {
+ if (entry.k == key) return entry;
+ }
+ };
+
+ module.exports = {
+ getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, NAME, '_i');
+ that._i = create(null); // index
+ that._f = undefined; // first entry
+ that._l = undefined; // last entry
+ that[SIZE] = 0; // size
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
+ });
+ redefineAll(C.prototype, {
+ // 23.1.3.1 Map.prototype.clear()
+ // 23.2.3.2 Set.prototype.clear()
+ clear: function clear() {
+ for (var that = this, data = that._i, entry = that._f; entry; entry = entry.n) {
+ entry.r = true;
+ if (entry.p) entry.p = entry.p.n = undefined;
+ delete data[entry.i];
+ }
+ that._f = that._l = undefined;
+ that[SIZE] = 0;
+ },
+ // 23.1.3.3 Map.prototype.delete(key)
+ // 23.2.3.4 Set.prototype.delete(value)
+ 'delete': function _delete(key) {
+ var that = this,
+ entry = getEntry(that, key);
+ if (entry) {
+ var next = entry.n,
+ prev = entry.p;
+ delete that._i[entry.i];
+ entry.r = true;
+ if (prev) prev.n = next;
+ if (next) next.p = prev;
+ if (that._f == entry) that._f = next;
+ if (that._l == entry) that._l = prev;
+ that[SIZE]--;
+ }return !!entry;
+ },
+ // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)
+ // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
+ forEach: function forEach(callbackfn /*, that = undefined */) {
+ anInstance(this, C, 'forEach');
+ var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3),
+ entry;
+ while (entry = entry ? entry.n : this._f) {
+ f(entry.v, entry.k, this);
+ // revert to the last existing entry
+ while (entry && entry.r) {
+ entry = entry.p;
+ }
+ }
+ },
+ // 23.1.3.7 Map.prototype.has(key)
+ // 23.2.3.7 Set.prototype.has(value)
+ has: function has(key) {
+ return !!getEntry(this, key);
+ }
+ });
+ if (DESCRIPTORS) dP(C.prototype, 'size', {
+ get: function get() {
+ return defined(this[SIZE]);
+ }
+ });
+ return C;
+ },
+ def: function def(that, key, value) {
+ var entry = getEntry(that, key),
+ prev,
+ index;
+ // change existing entry
+ if (entry) {
+ entry.v = value;
+ // create new entry
+ } else {
+ that._l = entry = {
+ i: index = fastKey(key, true), // <- index
+ k: key, // <- key
+ v: value, // <- value
+ p: prev = that._l, // <- previous entry
+ n: undefined, // <- next entry
+ r: false // <- removed
+ };
+ if (!that._f) that._f = entry;
+ if (prev) prev.n = entry;
+ that[SIZE]++;
+ // add to index
+ if (index !== 'F') that._i[index] = entry;
+ }return that;
+ },
+ getEntry: getEntry,
+ setStrong: function setStrong(C, NAME, IS_MAP) {
+ // add .keys, .values, .entries, [@@iterator]
+ // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11
+ $iterDefine(C, NAME, function (iterated, kind) {
+ this._t = iterated; // target
+ this._k = kind; // kind
+ this._l = undefined; // previous
+ }, function () {
+ var that = this,
+ kind = that._k,
+ entry = that._l;
+ // revert to the last existing entry
+ while (entry && entry.r) {
+ entry = entry.p;
+ } // get next entry
+ if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {
+ // or finish the iteration
+ that._t = undefined;
+ return step(1);
+ }
+ // return step by kind
+ if (kind == 'keys') return step(0, entry.k);
+ if (kind == 'values') return step(0, entry.v);
+ return step(0, [entry.k, entry.v]);
+ }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
+
+ // add [@@species], 23.1.2.2, 23.2.2.2
+ setSpecies(NAME);
+ }
+ };
+ });
+
+ var _collectionStrong$1 = interopDefault(_collectionStrong);
+ var getConstructor = _collectionStrong.getConstructor;
+ var def = _collectionStrong.def;
+ var getEntry = _collectionStrong.getEntry;
+ var setStrong = _collectionStrong.setStrong;
+
+var require$$1$21 = Object.freeze({
+ default: _collectionStrong$1,
+ getConstructor: getConstructor,
+ def: def,
+ getEntry: getEntry,
+ setStrong: setStrong
+ });
+
+ var _collection = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ $export = interopDefault(require$$1$2),
+ redefine = interopDefault(require$$4$2),
+ redefineAll = interopDefault(require$$3$7),
+ meta = interopDefault(require$$6),
+ forOf = interopDefault(require$$1$20),
+ anInstance = interopDefault(require$$4$6),
+ isObject = interopDefault(require$$0$1),
+ fails = interopDefault(require$$1$1),
+ $iterDetect = interopDefault(require$$5$2),
+ setToStringTag = interopDefault(require$$0$3),
+ inheritIfRequired = interopDefault(require$$0$19);
+
+ module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {
+ var Base = global[NAME],
+ C = Base,
+ ADDER = IS_MAP ? 'set' : 'add',
+ proto = C && C.prototype,
+ O = {};
+ var fixMethod = function fixMethod(KEY) {
+ var fn = proto[KEY];
+ redefine(proto, KEY, KEY == 'delete' ? function (a) {
+ return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
+ } : KEY == 'has' ? function has(a) {
+ return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);
+ } : KEY == 'get' ? function get(a) {
+ return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);
+ } : KEY == 'add' ? function add(a) {
+ fn.call(this, a === 0 ? 0 : a);return this;
+ } : function set(a, b) {
+ fn.call(this, a === 0 ? 0 : a, b);return this;
+ });
+ };
+ if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {
+ new C().entries().next();
+ }))) {
+ // create collection constructor
+ C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);
+ redefineAll(C.prototype, methods);
+ meta.NEED = true;
+ } else {
+ var instance = new C()
+ // early implementations not supports chaining
+ ,
+ HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance
+ // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
+ ,
+ THROWS_ON_PRIMITIVES = fails(function () {
+ instance.has(1);
+ })
+ // most early implementations doesn't supports iterables, most modern - not close it correctly
+ ,
+ ACCEPT_ITERABLES = $iterDetect(function (iter) {
+ new C(iter);
+ }) // eslint-disable-line no-new
+ // for early implementations -0 and +0 not the same
+ ,
+ BUGGY_ZERO = !IS_WEAK && fails(function () {
+ // V8 ~ Chromium 42- fails only with 5+ elements
+ var $instance = new C(),
+ index = 5;
+ while (index--) {
+ $instance[ADDER](index, index);
+ }return !$instance.has(-0);
+ });
+ if (!ACCEPT_ITERABLES) {
+ C = wrapper(function (target, iterable) {
+ anInstance(target, C, NAME);
+ var that = inheritIfRequired(new Base(), target, C);
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
+ return that;
+ });
+ C.prototype = proto;
+ proto.constructor = C;
+ }
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
+ fixMethod('delete');
+ fixMethod('has');
+ IS_MAP && fixMethod('get');
+ }
+ if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);
+ // weak collections should not contains .clear method
+ if (IS_WEAK && proto.clear) delete proto.clear;
+ }
+
+ setToStringTag(C, NAME);
+
+ O[NAME] = C;
+ $export($export.G + $export.W + $export.F * (C != Base), O);
+
+ if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);
+
+ return C;
+ };
+ });
+
+ var _collection$1 = interopDefault(_collection);
+
+var require$$0$37 = Object.freeze({
+ default: _collection$1
+ });
+
+ var es6_map = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var strong = interopDefault(require$$1$21);
+
+ // 23.1 Map Objects
+ module.exports = interopDefault(require$$0$37)('Map', function (get) {
+ return function Map() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ }, {
+ // 23.1.3.6 Map.prototype.get(key)
+ get: function get(key) {
+ var entry = strong.getEntry(this, key);
+ return entry && entry.v;
+ },
+ // 23.1.3.9 Map.prototype.set(key, value)
+ set: function set(key, value) {
+ return strong.def(this, key === 0 ? 0 : key, value);
+ }
+ }, strong, true);
+ });
+
+ var es6_map$1 = interopDefault(es6_map);
+
+var require$$3$8 = Object.freeze({
+ default: es6_map$1
+ });
+
+ var es6_set = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var strong = interopDefault(require$$1$21);
+
+ // 23.2 Set Objects
+ module.exports = interopDefault(require$$0$37)('Set', function (get) {
+ return function Set() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ }, {
+ // 23.2.3.1 Set.prototype.add(value)
+ add: function add(value) {
+ return strong.def(this, value = value === 0 ? 0 : value, value);
+ }
+ }, strong);
+ });
+
+ var es6_set$1 = interopDefault(es6_set);
+
+var require$$4$7 = Object.freeze({
+ default: es6_set$1
+ });
+
+ var _collectionWeak = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var redefineAll = interopDefault(require$$3$7),
+ getWeak = interopDefault(require$$6).getWeak,
+ anObject = interopDefault(require$$5),
+ isObject = interopDefault(require$$0$1),
+ anInstance = interopDefault(require$$4$6),
+ forOf = interopDefault(require$$1$20),
+ createArrayMethod = interopDefault(require$$10),
+ $has = interopDefault(require$$4),
+ arrayFind = createArrayMethod(5),
+ arrayFindIndex = createArrayMethod(6),
+ id = 0;
+
+ // fallback for uncaught frozen keys
+ var uncaughtFrozenStore = function uncaughtFrozenStore(that) {
+ return that._l || (that._l = new UncaughtFrozenStore());
+ };
+ var UncaughtFrozenStore = function UncaughtFrozenStore() {
+ this.a = [];
+ };
+ var findUncaughtFrozen = function findUncaughtFrozen(store, key) {
+ return arrayFind(store.a, function (it) {
+ return it[0] === key;
+ });
+ };
+ UncaughtFrozenStore.prototype = {
+ get: function get(key) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) return entry[1];
+ },
+ has: function has(key) {
+ return !!findUncaughtFrozen(this, key);
+ },
+ set: function set(key, value) {
+ var entry = findUncaughtFrozen(this, key);
+ if (entry) entry[1] = value;else this.a.push([key, value]);
+ },
+ 'delete': function _delete(key) {
+ var index = arrayFindIndex(this.a, function (it) {
+ return it[0] === key;
+ });
+ if (~index) this.a.splice(index, 1);
+ return !!~index;
+ }
+ };
+
+ module.exports = {
+ getConstructor: function getConstructor(wrapper, NAME, IS_MAP, ADDER) {
+ var C = wrapper(function (that, iterable) {
+ anInstance(that, C, NAME, '_i');
+ that._i = id++; // collection id
+ that._l = undefined; // leak store for uncaught frozen objects
+ if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);
+ });
+ redefineAll(C.prototype, {
+ // 23.3.3.2 WeakMap.prototype.delete(key)
+ // 23.4.3.3 WeakSet.prototype.delete(value)
+ 'delete': function _delete(key) {
+ if (!isObject(key)) return false;
+ var data = getWeak(key);
+ if (data === true) return uncaughtFrozenStore(this)['delete'](key);
+ return data && $has(data, this._i) && delete data[this._i];
+ },
+ // 23.3.3.4 WeakMap.prototype.has(key)
+ // 23.4.3.4 WeakSet.prototype.has(value)
+ has: function has(key) {
+ if (!isObject(key)) return false;
+ var data = getWeak(key);
+ if (data === true) return uncaughtFrozenStore(this).has(key);
+ return data && $has(data, this._i);
+ }
+ });
+ return C;
+ },
+ def: function def(that, key, value) {
+ var data = getWeak(anObject(key), true);
+ if (data === true) uncaughtFrozenStore(that).set(key, value);else data[that._i] = value;
+ return that;
+ },
+ ufstore: uncaughtFrozenStore
+ };
+ });
+
+ var _collectionWeak$1 = interopDefault(_collectionWeak);
+ var getConstructor$1 = _collectionWeak.getConstructor;
+ var def$1 = _collectionWeak.def;
+ var ufstore = _collectionWeak.ufstore;
+
+var require$$1$22 = Object.freeze({
+ default: _collectionWeak$1,
+ getConstructor: getConstructor$1,
+ def: def$1,
+ ufstore: ufstore
+ });
+
+ var es6_weakMap = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var each = interopDefault(require$$10)(0),
+ redefine = interopDefault(require$$4$2),
+ meta = interopDefault(require$$6),
+ assign = interopDefault(require$$3$4),
+ weak = interopDefault(require$$1$22),
+ isObject = interopDefault(require$$0$1),
+ getWeak = meta.getWeak,
+ isExtensible = Object.isExtensible,
+ uncaughtFrozenStore = weak.ufstore,
+ tmp = {},
+ InternalMap;
+
+ var wrapper = function wrapper(get) {
+ return function WeakMap() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ };
+
+ var methods = {
+ // 23.3.3.3 WeakMap.prototype.get(key)
+ get: function get(key) {
+ if (isObject(key)) {
+ var data = getWeak(key);
+ if (data === true) return uncaughtFrozenStore(this).get(key);
+ return data ? data[this._i] : undefined;
+ }
+ },
+ // 23.3.3.5 WeakMap.prototype.set(key, value)
+ set: function set(key, value) {
+ return weak.def(this, key, value);
+ }
+ };
+
+ // 23.3 WeakMap Objects
+ var $WeakMap = module.exports = interopDefault(require$$0$37)('WeakMap', wrapper, methods, weak, true, true);
+
+ // IE11 WeakMap frozen keys fix
+ if (new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7) {
+ InternalMap = weak.getConstructor(wrapper);
+ assign(InternalMap.prototype, methods);
+ meta.NEED = true;
+ each(['delete', 'has', 'get', 'set'], function (key) {
+ var proto = $WeakMap.prototype,
+ method = proto[key];
+ redefine(proto, key, function (a, b) {
+ // store frozen objects on internal weakmap shim
+ if (isObject(a) && !isExtensible(a)) {
+ if (!this._f) this._f = new InternalMap();
+ var result = this._f[key](a, b);
+ return key == 'set' ? this : result;
+ // store all the rest on native weakmap
+ }return method.call(this, a, b);
+ });
+ });
+ }
+ });
+
+ var es6_weakMap$1 = interopDefault(es6_weakMap);
+
+var require$$0$38 = Object.freeze({
+ default: es6_weakMap$1
+ });
+
+ var es6_weakSet = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var weak = interopDefault(require$$1$22);
+
+ // 23.4 WeakSet Objects
+ interopDefault(require$$0$37)('WeakSet', function (get) {
+ return function WeakSet() {
+ return get(this, arguments.length > 0 ? arguments[0] : undefined);
+ };
+ }, {
+ // 23.4.3.1 WeakSet.prototype.add(value)
+ add: function add(value) {
+ return weak.def(this, value, true);
+ }
+ }, weak, false, true);
+ });
+
+ interopDefault(es6_weakSet);
+
+ var _typed = createCommonjsModule(function (module) {
+ var global = interopDefault(require$$3),
+ hide = interopDefault(require$$2),
+ uid = interopDefault(require$$12),
+ TYPED = uid('typed_array'),
+ VIEW = uid('view'),
+ ABV = !!(global.ArrayBuffer && global.DataView),
+ CONSTR = ABV,
+ i = 0,
+ l = 9,
+ Typed;
+
+ var TypedArrayConstructors = 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'.split(',');
+
+ while (i < l) {
+ if (Typed = global[TypedArrayConstructors[i++]]) {
+ hide(Typed.prototype, TYPED, true);
+ hide(Typed.prototype, VIEW, true);
+ } else CONSTR = false;
+ }
+
+ module.exports = {
+ ABV: ABV,
+ CONSTR: CONSTR,
+ TYPED: TYPED,
+ VIEW: VIEW
+ };
+ });
+
+ var _typed$1 = interopDefault(_typed);
+ var ABV = _typed.ABV;
+ var CONSTR = _typed.CONSTR;
+ var TYPED = _typed.TYPED;
+ var VIEW = _typed.VIEW;
+
+var require$$33 = Object.freeze({
+ default: _typed$1,
+ ABV: ABV,
+ CONSTR: CONSTR,
+ TYPED: TYPED,
+ VIEW: VIEW
+ });
+
+ var _typedBuffer = createCommonjsModule(function (module, exports) {
+ 'use strict';
+
+ var global = interopDefault(require$$3),
+ DESCRIPTORS = interopDefault(require$$1),
+ LIBRARY = interopDefault(require$$2$4),
+ $typed = interopDefault(require$$33),
+ hide = interopDefault(require$$2),
+ redefineAll = interopDefault(require$$3$7),
+ fails = interopDefault(require$$1$1),
+ anInstance = interopDefault(require$$4$6),
+ toInteger = interopDefault(require$$26),
+ toLength = interopDefault(require$$3$1),
+ gOPN = interopDefault(require$$3$3).f,
+ dP = interopDefault(require$$2$1).f,
+ arrayFill = interopDefault(require$$3$5),
+ setToStringTag = interopDefault(require$$0$3),
+ ARRAY_BUFFER = 'ArrayBuffer',
+ DATA_VIEW = 'DataView',
+ PROTOTYPE = 'prototype',
+ WRONG_LENGTH = 'Wrong length!',
+ WRONG_INDEX = 'Wrong index!',
+ $ArrayBuffer = global[ARRAY_BUFFER],
+ $DataView = global[DATA_VIEW],
+ Math = global.Math,
+ RangeError = global.RangeError,
+ Infinity = global.Infinity,
+ BaseBuffer = $ArrayBuffer,
+ abs = Math.abs,
+ pow = Math.pow,
+ floor = Math.floor,
+ log = Math.log,
+ LN2 = Math.LN2,
+ BUFFER = 'buffer',
+ BYTE_LENGTH = 'byteLength',
+ BYTE_OFFSET = 'byteOffset',
+ $BUFFER = DESCRIPTORS ? '_b' : BUFFER,
+ $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH,
+ $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;
+
+ // IEEE754 conversions based on https://github.com/feross/ieee754
+ var packIEEE754 = function packIEEE754(value, mLen, nBytes) {
+ var buffer = Array(nBytes),
+ eLen = nBytes * 8 - mLen - 1,
+ eMax = (1 << eLen) - 1,
+ eBias = eMax >> 1,
+ rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0,
+ i = 0,
+ s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0,
+ e,
+ m,
+ c;
+ value = abs(value);
+ if (value != value || value === Infinity) {
+ m = value != value ? 1 : 0;
+ e = eMax;
+ } else {
+ e = floor(log(value) / LN2);
+ if (value * (c = pow(2, -e)) < 1) {
+ e--;
+ c *= 2;
+ }
+ if (e + eBias >= 1) {
+ value += rt / c;
+ } else {
+ value += rt * pow(2, 1 - eBias);
+ }
+ if (value * c >= 2) {
+ e++;
+ c /= 2;
+ }
+ if (e + eBias >= eMax) {
+ m = 0;
+ e = eMax;
+ } else if (e + eBias >= 1) {
+ m = (value * c - 1) * pow(2, mLen);
+ e = e + eBias;
+ } else {
+ m = value * pow(2, eBias - 1) * pow(2, mLen);
+ e = 0;
+ }
+ }
+ for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8) {}
+ e = e << mLen | m;
+ eLen += mLen;
+ for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8) {}
+ buffer[--i] |= s * 128;
+ return buffer;
+ };
+ var unpackIEEE754 = function unpackIEEE754(buffer, mLen, nBytes) {
+ var eLen = nBytes * 8 - mLen - 1,
+ eMax = (1 << eLen) - 1,
+ eBias = eMax >> 1,
+ nBits = eLen - 7,
+ i = nBytes - 1,
+ s = buffer[i--],
+ e = s & 127,
+ m;
+ s >>= 7;
+ for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8) {}
+ m = e & (1 << -nBits) - 1;
+ e >>= -nBits;
+ nBits += mLen;
+ for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8) {}
+ if (e === 0) {
+ e = 1 - eBias;
+ } else if (e === eMax) {
+ return m ? NaN : s ? -Infinity : Infinity;
+ } else {
+ m = m + pow(2, mLen);
+ e = e - eBias;
+ }return (s ? -1 : 1) * m * pow(2, e - mLen);
+ };
+
+ var unpackI32 = function unpackI32(bytes) {
+ return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];
+ };
+ var packI8 = function packI8(it) {
+ return [it & 0xff];
+ };
+ var packI16 = function packI16(it) {
+ return [it & 0xff, it >> 8 & 0xff];
+ };
+ var packI32 = function packI32(it) {
+ return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];
+ };
+ var packF64 = function packF64(it) {
+ return packIEEE754(it, 52, 8);
+ };
+ var packF32 = function packF32(it) {
+ return packIEEE754(it, 23, 4);
+ };
+
+ var addGetter = function addGetter(C, key, internal) {
+ dP(C[PROTOTYPE], key, { get: function get() {
+ return this[internal];
+ } });
+ };
+
+ var get = function get(view, bytes, index, isLittleEndian) {
+ var numIndex = +index,
+ intIndex = toInteger(numIndex);
+ if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
+ var store = view[$BUFFER]._b,
+ start = intIndex + view[$OFFSET],
+ pack = store.slice(start, start + bytes);
+ return isLittleEndian ? pack : pack.reverse();
+ };
+ var set = function set(view, bytes, index, conversion, value, isLittleEndian) {
+ var numIndex = +index,
+ intIndex = toInteger(numIndex);
+ if (numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);
+ var store = view[$BUFFER]._b,
+ start = intIndex + view[$OFFSET],
+ pack = conversion(+value);
+ for (var i = 0; i < bytes; i++) {
+ store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];
+ }
+ };
+
+ var validateArrayBufferArguments = function validateArrayBufferArguments(that, length) {
+ anInstance(that, $ArrayBuffer, ARRAY_BUFFER);
+ var numberLength = +length,
+ byteLength = toLength(numberLength);
+ if (numberLength != byteLength) throw RangeError(WRONG_LENGTH);
+ return byteLength;
+ };
+
+ if (!$typed.ABV) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ var byteLength = validateArrayBufferArguments(this, length);
+ this._b = arrayFill.call(Array(byteLength), 0);
+ this[$LENGTH] = byteLength;
+ };
+
+ $DataView = function DataView(buffer, byteOffset, byteLength) {
+ anInstance(this, $DataView, DATA_VIEW);
+ anInstance(buffer, $ArrayBuffer, DATA_VIEW);
+ var bufferLength = buffer[$LENGTH],
+ offset = toInteger(byteOffset);
+ if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');
+ byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
+ if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
+ this[$BUFFER] = buffer;
+ this[$OFFSET] = offset;
+ this[$LENGTH] = byteLength;
+ };
+
+ if (DESCRIPTORS) {
+ addGetter($ArrayBuffer, BYTE_LENGTH, '_l');
+ addGetter($DataView, BUFFER, '_b');
+ addGetter($DataView, BYTE_LENGTH, '_l');
+ addGetter($DataView, BYTE_OFFSET, '_o');
+ }
+
+ redefineAll($DataView[PROTOTYPE], {
+ getInt8: function getInt8(byteOffset) {
+ return get(this, 1, byteOffset)[0] << 24 >> 24;
+ },
+ getUint8: function getUint8(byteOffset) {
+ return get(this, 1, byteOffset)[0];
+ },
+ getInt16: function getInt16(byteOffset /*, littleEndian */) {
+ var bytes = get(this, 2, byteOffset, arguments[1]);
+ return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
+ },
+ getUint16: function getUint16(byteOffset /*, littleEndian */) {
+ var bytes = get(this, 2, byteOffset, arguments[1]);
+ return bytes[1] << 8 | bytes[0];
+ },
+ getInt32: function getInt32(byteOffset /*, littleEndian */) {
+ return unpackI32(get(this, 4, byteOffset, arguments[1]));
+ },
+ getUint32: function getUint32(byteOffset /*, littleEndian */) {
+ return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;
+ },
+ getFloat32: function getFloat32(byteOffset /*, littleEndian */) {
+ return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);
+ },
+ getFloat64: function getFloat64(byteOffset /*, littleEndian */) {
+ return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);
+ },
+ setInt8: function setInt8(byteOffset, value) {
+ set(this, 1, byteOffset, packI8, value);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ set(this, 1, byteOffset, packI8, value);
+ },
+ setInt16: function setInt16(byteOffset, value /*, littleEndian */) {
+ set(this, 2, byteOffset, packI16, value, arguments[2]);
+ },
+ setUint16: function setUint16(byteOffset, value /*, littleEndian */) {
+ set(this, 2, byteOffset, packI16, value, arguments[2]);
+ },
+ setInt32: function setInt32(byteOffset, value /*, littleEndian */) {
+ set(this, 4, byteOffset, packI32, value, arguments[2]);
+ },
+ setUint32: function setUint32(byteOffset, value /*, littleEndian */) {
+ set(this, 4, byteOffset, packI32, value, arguments[2]);
+ },
+ setFloat32: function setFloat32(byteOffset, value /*, littleEndian */) {
+ set(this, 4, byteOffset, packF32, value, arguments[2]);
+ },
+ setFloat64: function setFloat64(byteOffset, value /*, littleEndian */) {
+ set(this, 8, byteOffset, packF64, value, arguments[2]);
+ }
+ });
+ } else {
+ if (!fails(function () {
+ new $ArrayBuffer(); // eslint-disable-line no-new
+ }) || !fails(function () {
+ new $ArrayBuffer(.5); // eslint-disable-line no-new
+ })) {
+ $ArrayBuffer = function ArrayBuffer(length) {
+ return new BaseBuffer(validateArrayBufferArguments(this, length));
+ };
+ var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];
+ for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {
+ if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);
+ };
+ if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;
+ }
+ // iOS Safari 7.x bug
+ var view = new $DataView(new $ArrayBuffer(2)),
+ $setInt8 = $DataView[PROTOTYPE].setInt8;
+ view.setInt8(0, 2147483648);
+ view.setInt8(1, 2147483649);
+ if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {
+ setInt8: function setInt8(byteOffset, value) {
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
+ },
+ setUint8: function setUint8(byteOffset, value) {
+ $setInt8.call(this, byteOffset, value << 24 >> 24);
+ }
+ }, true);
+ }
+ setToStringTag($ArrayBuffer, ARRAY_BUFFER);
+ setToStringTag($DataView, DATA_VIEW);
+ hide($DataView[PROTOTYPE], $typed.VIEW, true);
+ exports[ARRAY_BUFFER] = $ArrayBuffer;
+ exports[DATA_VIEW] = $DataView;
+ });
+
+ var _typedBuffer$1 = interopDefault(_typedBuffer);
+
+var require$$32 = Object.freeze({
+ default: _typedBuffer$1
+ });
+
+ var es6_typed_arrayBuffer = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ $typed = interopDefault(require$$33),
+ buffer = interopDefault(require$$32),
+ anObject = interopDefault(require$$5),
+ toIndex = interopDefault(require$$24),
+ toLength = interopDefault(require$$3$1),
+ isObject = interopDefault(require$$0$1),
+ ArrayBuffer = interopDefault(require$$3).ArrayBuffer,
+ speciesConstructor = interopDefault(require$$8),
+ $ArrayBuffer = buffer.ArrayBuffer,
+ $DataView = buffer.DataView,
+ $isView = $typed.ABV && ArrayBuffer.isView,
+ $slice = $ArrayBuffer.prototype.slice,
+ VIEW = $typed.VIEW,
+ ARRAY_BUFFER = 'ArrayBuffer';
+
+ $export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });
+
+ $export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {
+ // 24.1.3.1 ArrayBuffer.isView(arg)
+ isView: function isView(it) {
+ return $isView && $isView(it) || isObject(it) && VIEW in it;
+ }
+ });
+
+ $export($export.P + $export.U + $export.F * interopDefault(require$$1$1)(function () {
+ return !new $ArrayBuffer(2).slice(1, undefined).byteLength;
+ }), ARRAY_BUFFER, {
+ // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)
+ slice: function slice(start, end) {
+ if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix
+ var len = anObject(this).byteLength,
+ first = toIndex(start, len),
+ final = toIndex(end === undefined ? len : end, len),
+ result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first)),
+ viewS = new $DataView(this),
+ viewT = new $DataView(result),
+ index = 0;
+ while (first < final) {
+ viewT.setUint8(index++, viewS.getUint8(first++));
+ }return result;
+ }
+ });
+
+ interopDefault(require$$0$35)(ARRAY_BUFFER);
+ });
+
+ interopDefault(es6_typed_arrayBuffer);
+
+ var es6_typed_dataView = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2);
+ $export($export.G + $export.W + $export.F * !interopDefault(require$$33).ABV, {
+ DataView: interopDefault(require$$32).DataView
+ });
+ });
+
+ interopDefault(es6_typed_dataView);
+
+ var _typedArray = createCommonjsModule(function (module) {
+ 'use strict';
+
+ if (interopDefault(require$$1)) {
+ var LIBRARY = interopDefault(require$$2$4),
+ global = interopDefault(require$$3),
+ fails = interopDefault(require$$1$1),
+ $export = interopDefault(require$$1$2),
+ $typed = interopDefault(require$$33),
+ $buffer = interopDefault(require$$32),
+ ctx = interopDefault(require$$31),
+ anInstance = interopDefault(require$$4$6),
+ propertyDesc = interopDefault(require$$2$3),
+ hide = interopDefault(require$$2),
+ redefineAll = interopDefault(require$$3$7),
+ toInteger = interopDefault(require$$26),
+ toLength = interopDefault(require$$3$1),
+ toIndex = interopDefault(require$$24),
+ toPrimitive = interopDefault(require$$4$1),
+ has = interopDefault(require$$4),
+ same = interopDefault(require$$21),
+ classof = interopDefault(require$$1$11),
+ isObject = interopDefault(require$$0$1),
+ toObject = interopDefault(require$$5$1),
+ isArrayIter = interopDefault(require$$17),
+ create = interopDefault(require$$6$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ gOPN = interopDefault(require$$3$3).f,
+ getIterFn = interopDefault(require$$13),
+ uid = interopDefault(require$$12),
+ wks = interopDefault(require$$0$4),
+ createArrayMethod = interopDefault(require$$10),
+ createArrayIncludes = interopDefault(require$$1$9),
+ speciesConstructor = interopDefault(require$$8),
+ ArrayIterators = interopDefault(require$$5$3),
+ Iterators = interopDefault(require$$1$15),
+ $iterDetect = interopDefault(require$$5$2),
+ setSpecies = interopDefault(require$$0$35),
+ arrayFill = interopDefault(require$$3$5),
+ arrayCopyWithin = interopDefault(require$$2$9),
+ $DP = interopDefault(require$$2$1),
+ $GOPD = interopDefault(require$$2$7),
+ dP = $DP.f,
+ gOPD = $GOPD.f,
+ RangeError = global.RangeError,
+ TypeError = global.TypeError,
+ Uint8Array = global.Uint8Array,
+ ARRAY_BUFFER = 'ArrayBuffer',
+ SHARED_BUFFER = 'Shared' + ARRAY_BUFFER,
+ BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT',
+ PROTOTYPE = 'prototype',
+ ArrayProto = Array[PROTOTYPE],
+ $ArrayBuffer = $buffer.ArrayBuffer,
+ $DataView = $buffer.DataView,
+ arrayForEach = createArrayMethod(0),
+ arrayFilter = createArrayMethod(2),
+ arraySome = createArrayMethod(3),
+ arrayEvery = createArrayMethod(4),
+ arrayFind = createArrayMethod(5),
+ arrayFindIndex = createArrayMethod(6),
+ arrayIncludes = createArrayIncludes(true),
+ arrayIndexOf = createArrayIncludes(false),
+ arrayValues = ArrayIterators.values,
+ arrayKeys = ArrayIterators.keys,
+ arrayEntries = ArrayIterators.entries,
+ arrayLastIndexOf = ArrayProto.lastIndexOf,
+ arrayReduce = ArrayProto.reduce,
+ arrayReduceRight = ArrayProto.reduceRight,
+ arrayJoin = ArrayProto.join,
+ arraySort = ArrayProto.sort,
+ arraySlice = ArrayProto.slice,
+ arrayToString = ArrayProto.toString,
+ arrayToLocaleString = ArrayProto.toLocaleString,
+ ITERATOR = wks('iterator'),
+ TAG = wks('toStringTag'),
+ TYPED_CONSTRUCTOR = uid('typed_constructor'),
+ DEF_CONSTRUCTOR = uid('def_constructor'),
+ ALL_CONSTRUCTORS = $typed.CONSTR,
+ TYPED_ARRAY = $typed.TYPED,
+ VIEW = $typed.VIEW,
+ WRONG_LENGTH = 'Wrong length!';
+
+ var $map = createArrayMethod(1, function (O, length) {
+ return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);
+ });
+
+ var LITTLE_ENDIAN = fails(function () {
+ return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;
+ });
+
+ var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {
+ new Uint8Array(1).set({});
+ });
+
+ var strictToLength = function strictToLength(it, SAME) {
+ if (it === undefined) throw TypeError(WRONG_LENGTH);
+ var number = +it,
+ length = toLength(it);
+ if (SAME && !same(number, length)) throw RangeError(WRONG_LENGTH);
+ return length;
+ };
+
+ var toOffset = function toOffset(it, BYTES) {
+ var offset = toInteger(it);
+ if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');
+ return offset;
+ };
+
+ var validate = function validate(it) {
+ if (isObject(it) && TYPED_ARRAY in it) return it;
+ throw TypeError(it + ' is not a typed array!');
+ };
+
+ var allocate = function allocate(C, length) {
+ if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {
+ throw TypeError('It is not a typed array constructor!');
+ }return new C(length);
+ };
+
+ var speciesFromList = function speciesFromList(O, list) {
+ return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);
+ };
+
+ var fromList = function fromList(C, list) {
+ var index = 0,
+ length = list.length,
+ result = allocate(C, length);
+ while (length > index) {
+ result[index] = list[index++];
+ }return result;
+ };
+
+ var addGetter = function addGetter(it, key, internal) {
+ dP(it, key, { get: function get() {
+ return this._d[internal];
+ } });
+ };
+
+ var $from = function from(source /*, mapfn, thisArg */) {
+ var O = toObject(source),
+ aLen = arguments.length,
+ mapfn = aLen > 1 ? arguments[1] : undefined,
+ mapping = mapfn !== undefined,
+ iterFn = getIterFn(O),
+ i,
+ length,
+ values,
+ result,
+ step,
+ iterator;
+ if (iterFn != undefined && !isArrayIter(iterFn)) {
+ for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {
+ values.push(step.value);
+ }O = values;
+ }
+ if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);
+ for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {
+ result[i] = mapping ? mapfn(O[i], i) : O[i];
+ }
+ return result;
+ };
+
+ var $of = function of() /*...items*/{
+ var index = 0,
+ length = arguments.length,
+ result = allocate(this, length);
+ while (length > index) {
+ result[index] = arguments[index++];
+ }return result;
+ };
+
+ // iOS Safari 6.x fails here
+ var TO_LOCALE_BUG = !!Uint8Array && fails(function () {
+ arrayToLocaleString.call(new Uint8Array(1));
+ });
+
+ var $toLocaleString = function toLocaleString() {
+ return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);
+ };
+
+ var proto = {
+ copyWithin: function copyWithin(target, start /*, end */) {
+ return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
+ },
+ every: function every(callbackfn /*, thisArg */) {
+ return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ fill: function fill(value /*, start, end */) {
+ // eslint-disable-line no-unused-vars
+ return arrayFill.apply(validate(this), arguments);
+ },
+ filter: function filter(callbackfn /*, thisArg */) {
+ return speciesFromList(this, arrayFilter(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined));
+ },
+ find: function find(predicate /*, thisArg */) {
+ return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ findIndex: function findIndex(predicate /*, thisArg */) {
+ return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ forEach: function forEach(callbackfn /*, thisArg */) {
+ arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ indexOf: function indexOf(searchElement /*, fromIndex */) {
+ return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ includes: function includes(searchElement /*, fromIndex */) {
+ return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ join: function join(separator) {
+ // eslint-disable-line no-unused-vars
+ return arrayJoin.apply(validate(this), arguments);
+ },
+ lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */) {
+ // eslint-disable-line no-unused-vars
+ return arrayLastIndexOf.apply(validate(this), arguments);
+ },
+ map: function map(mapfn /*, thisArg */) {
+ return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ reduce: function reduce(callbackfn /*, initialValue */) {
+ // eslint-disable-line no-unused-vars
+ return arrayReduce.apply(validate(this), arguments);
+ },
+ reduceRight: function reduceRight(callbackfn /*, initialValue */) {
+ // eslint-disable-line no-unused-vars
+ return arrayReduceRight.apply(validate(this), arguments);
+ },
+ reverse: function reverse() {
+ var that = this,
+ length = validate(that).length,
+ middle = Math.floor(length / 2),
+ index = 0,
+ value;
+ while (index < middle) {
+ value = that[index];
+ that[index++] = that[--length];
+ that[length] = value;
+ }return that;
+ },
+ some: function some(callbackfn /*, thisArg */) {
+ return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
+ },
+ sort: function sort(comparefn) {
+ return arraySort.call(validate(this), comparefn);
+ },
+ subarray: function subarray(begin, end) {
+ var O = validate(this),
+ length = O.length,
+ $begin = toIndex(begin, length);
+ return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(O.buffer, O.byteOffset + $begin * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toIndex(end, length)) - $begin));
+ }
+ };
+
+ var $slice = function slice(start, end) {
+ return speciesFromList(this, arraySlice.call(validate(this), start, end));
+ };
+
+ var $set = function set(arrayLike /*, offset */) {
+ validate(this);
+ var offset = toOffset(arguments[1], 1),
+ length = this.length,
+ src = toObject(arrayLike),
+ len = toLength(src.length),
+ index = 0;
+ if (len + offset > length) throw RangeError(WRONG_LENGTH);
+ while (index < len) {
+ this[offset + index] = src[index++];
+ }
+ };
+
+ var $iterators = {
+ entries: function entries() {
+ return arrayEntries.call(validate(this));
+ },
+ keys: function keys() {
+ return arrayKeys.call(validate(this));
+ },
+ values: function values() {
+ return arrayValues.call(validate(this));
+ }
+ };
+
+ var isTAIndex = function isTAIndex(target, key) {
+ return isObject(target) && target[TYPED_ARRAY] && (typeof key === 'undefined' ? 'undefined' : _typeof(key)) != 'symbol' && key in target && String(+key) == String(key);
+ };
+ var $getDesc = function getOwnPropertyDescriptor(target, key) {
+ return isTAIndex(target, key = toPrimitive(key, true)) ? propertyDesc(2, target[key]) : gOPD(target, key);
+ };
+ var $setDesc = function defineProperty(target, key, desc) {
+ if (isTAIndex(target, key = toPrimitive(key, true)) && isObject(desc) && has(desc, 'value') && !has(desc, 'get') && !has(desc, 'set')
+ // TODO: add validation descriptor w/o calling accessors
+ && !desc.configurable && (!has(desc, 'writable') || desc.writable) && (!has(desc, 'enumerable') || desc.enumerable)) {
+ target[key] = desc.value;
+ return target;
+ } else return dP(target, key, desc);
+ };
+
+ if (!ALL_CONSTRUCTORS) {
+ $GOPD.f = $getDesc;
+ $DP.f = $setDesc;
+ }
+
+ $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {
+ getOwnPropertyDescriptor: $getDesc,
+ defineProperty: $setDesc
+ });
+
+ if (fails(function () {
+ arrayToString.call({});
+ })) {
+ arrayToString = arrayToLocaleString = function toString() {
+ return arrayJoin.call(this);
+ };
+ }
+
+ var $TypedArrayPrototype$ = redefineAll({}, proto);
+ redefineAll($TypedArrayPrototype$, $iterators);
+ hide($TypedArrayPrototype$, ITERATOR, $iterators.values);
+ redefineAll($TypedArrayPrototype$, {
+ slice: $slice,
+ set: $set,
+ constructor: function constructor() {/* noop */},
+ toString: arrayToString,
+ toLocaleString: $toLocaleString
+ });
+ addGetter($TypedArrayPrototype$, 'buffer', 'b');
+ addGetter($TypedArrayPrototype$, 'byteOffset', 'o');
+ addGetter($TypedArrayPrototype$, 'byteLength', 'l');
+ addGetter($TypedArrayPrototype$, 'length', 'e');
+ dP($TypedArrayPrototype$, TAG, {
+ get: function get() {
+ return this[TYPED_ARRAY];
+ }
+ });
+
+ module.exports = function (KEY, BYTES, wrapper, CLAMPED) {
+ CLAMPED = !!CLAMPED;
+ var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array',
+ ISNT_UINT8 = NAME != 'Uint8Array',
+ GETTER = 'get' + KEY,
+ SETTER = 'set' + KEY,
+ TypedArray = global[NAME],
+ Base = TypedArray || {},
+ TAC = TypedArray && getPrototypeOf(TypedArray),
+ FORCED = !TypedArray || !$typed.ABV,
+ O = {},
+ TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];
+ var getter = function getter(that, index) {
+ var data = that._d;
+ return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);
+ };
+ var setter = function setter(that, index, value) {
+ var data = that._d;
+ if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;
+ data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);
+ };
+ var addElement = function addElement(that, index) {
+ dP(that, index, {
+ get: function get() {
+ return getter(this, index);
+ },
+ set: function set(value) {
+ return setter(this, index, value);
+ },
+ enumerable: true
+ });
+ };
+ if (FORCED) {
+ TypedArray = wrapper(function (that, data, $offset, $length) {
+ anInstance(that, TypedArray, NAME, '_d');
+ var index = 0,
+ offset = 0,
+ buffer,
+ byteLength,
+ length,
+ klass;
+ if (!isObject(data)) {
+ length = strictToLength(data, true);
+ byteLength = length * BYTES;
+ buffer = new $ArrayBuffer(byteLength);
+ } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
+ buffer = data;
+ offset = toOffset($offset, BYTES);
+ var $len = data.byteLength;
+ if ($length === undefined) {
+ if ($len % BYTES) throw RangeError(WRONG_LENGTH);
+ byteLength = $len - offset;
+ if (byteLength < 0) throw RangeError(WRONG_LENGTH);
+ } else {
+ byteLength = toLength($length) * BYTES;
+ if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);
+ }
+ length = byteLength / BYTES;
+ } else if (TYPED_ARRAY in data) {
+ return fromList(TypedArray, data);
+ } else {
+ return $from.call(TypedArray, data);
+ }
+ hide(that, '_d', {
+ b: buffer,
+ o: offset,
+ l: byteLength,
+ e: length,
+ v: new $DataView(buffer)
+ });
+ while (index < length) {
+ addElement(that, index++);
+ }
+ });
+ TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);
+ hide(TypedArrayPrototype, 'constructor', TypedArray);
+ } else if (!$iterDetect(function (iter) {
+ // V8 works with iterators, but fails in many other cases
+ // https://code.google.com/p/v8/issues/detail?id=4552
+ new TypedArray(null); // eslint-disable-line no-new
+ new TypedArray(iter); // eslint-disable-line no-new
+ }, true)) {
+ TypedArray = wrapper(function (that, data, $offset, $length) {
+ anInstance(that, TypedArray, NAME);
+ var klass;
+ // `ws` module bug, temporarily remove validation length for Uint8Array
+ // https://github.com/websockets/ws/pull/645
+ if (!isObject(data)) return new Base(strictToLength(data, ISNT_UINT8));
+ if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {
+ return $length !== undefined ? new Base(data, toOffset($offset, BYTES), $length) : $offset !== undefined ? new Base(data, toOffset($offset, BYTES)) : new Base(data);
+ }
+ if (TYPED_ARRAY in data) return fromList(TypedArray, data);
+ return $from.call(TypedArray, data);
+ });
+ arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {
+ if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);
+ });
+ TypedArray[PROTOTYPE] = TypedArrayPrototype;
+ if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;
+ }
+ var $nativeIterator = TypedArrayPrototype[ITERATOR],
+ CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined),
+ $iterator = $iterators.values;
+ hide(TypedArray, TYPED_CONSTRUCTOR, true);
+ hide(TypedArrayPrototype, TYPED_ARRAY, NAME);
+ hide(TypedArrayPrototype, VIEW, true);
+ hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);
+
+ if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {
+ dP(TypedArrayPrototype, TAG, {
+ get: function get() {
+ return NAME;
+ }
+ });
+ }
+
+ O[NAME] = TypedArray;
+
+ $export($export.G + $export.W + $export.F * (TypedArray != Base), O);
+
+ $export($export.S, NAME, {
+ BYTES_PER_ELEMENT: BYTES,
+ from: $from,
+ of: $of
+ });
+
+ if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);
+
+ $export($export.P, NAME, proto);
+
+ setSpecies(NAME);
+
+ $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });
+
+ $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);
+
+ $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, { toString: arrayToString });
+
+ $export($export.P + $export.F * fails(function () {
+ new TypedArray(1).slice();
+ }), NAME, { slice: $slice });
+
+ $export($export.P + $export.F * (fails(function () {
+ return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();
+ }) || !fails(function () {
+ TypedArrayPrototype.toLocaleString.call([1, 2]);
+ })), NAME, { toLocaleString: $toLocaleString });
+
+ Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;
+ if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);
+ };
+ } else module.exports = function () {/* empty */};
+ });
+
+ var _typedArray$1 = interopDefault(_typedArray);
+
+
+
+ var require$$0$39 = Object.freeze({
+ default: _typedArray$1
+ });
+
+ var es6_typed_int8Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Int8', 1, function (init) {
+ return function Int8Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_int8Array);
+
+ var es6_typed_uint8Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint8', 1, function (init) {
+ return function Uint8Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_uint8Array);
+
+ var es6_typed_uint8ClampedArray = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint8', 1, function (init) {
+ return function Uint8ClampedArray(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ }, true);
+ });
+
+ interopDefault(es6_typed_uint8ClampedArray);
+
+ var es6_typed_int16Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Int16', 2, function (init) {
+ return function Int16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_int16Array);
+
+ var es6_typed_uint16Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint16', 2, function (init) {
+ return function Uint16Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_uint16Array);
+
+ var es6_typed_int32Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Int32', 4, function (init) {
+ return function Int32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_int32Array);
+
+ var es6_typed_uint32Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Uint32', 4, function (init) {
+ return function Uint32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_uint32Array);
+
+ var es6_typed_float32Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Float32', 4, function (init) {
+ return function Float32Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_float32Array);
+
+ var es6_typed_float64Array = createCommonjsModule(function (module) {
+ interopDefault(require$$0$39)('Float64', 8, function (init) {
+ return function Float64Array(data, byteOffset, length) {
+ return init(this, data, byteOffset, length);
+ };
+ });
+ });
+
+ interopDefault(es6_typed_float64Array);
+
+ var es6_reflect_apply = createCommonjsModule(function (module) {
+ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList)
+ var $export = interopDefault(require$$1$2),
+ aFunction = interopDefault(require$$0$2),
+ anObject = interopDefault(require$$5),
+ rApply = (interopDefault(require$$3).Reflect || {}).apply,
+ fApply = Function.apply;
+ // MS Edge argumentsList argument is optional
+ $export($export.S + $export.F * !interopDefault(require$$1$1)(function () {
+ rApply(function () {});
+ }), 'Reflect', {
+ apply: function apply(target, thisArgument, argumentsList) {
+ var T = aFunction(target),
+ L = anObject(argumentsList);
+ return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_apply);
+
+ var es6_reflect_construct = createCommonjsModule(function (module) {
+ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget])
+ var $export = interopDefault(require$$1$2),
+ create = interopDefault(require$$6$1),
+ aFunction = interopDefault(require$$0$2),
+ anObject = interopDefault(require$$5),
+ isObject = interopDefault(require$$0$1),
+ fails = interopDefault(require$$1$1),
+ bind = interopDefault(require$$1$12),
+ rConstruct = (interopDefault(require$$3).Reflect || {}).construct;
+
+ // MS Edge supports only 2 arguments and argumentsList argument is optional
+ // FF Nightly sets third argument as `new.target`, but does not create `this` from it
+ var NEW_TARGET_BUG = fails(function () {
+ function F() {}
+ return !(rConstruct(function () {}, [], F) instanceof F);
+ });
+ var ARGS_BUG = !fails(function () {
+ rConstruct(function () {});
+ });
+
+ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {
+ construct: function construct(Target, args /*, newTarget*/) {
+ aFunction(Target);
+ anObject(args);
+ var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);
+ if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);
+ if (Target == newTarget) {
+ // w/o altered newTarget, optimization for 0-4 arguments
+ switch (args.length) {
+ case 0:
+ return new Target();
+ case 1:
+ return new Target(args[0]);
+ case 2:
+ return new Target(args[0], args[1]);
+ case 3:
+ return new Target(args[0], args[1], args[2]);
+ case 4:
+ return new Target(args[0], args[1], args[2], args[3]);
+ }
+ // w/o altered newTarget, lot of arguments case
+ var $args = [null];
+ $args.push.apply($args, args);
+ return new (bind.apply(Target, $args))();
+ }
+ // with altered newTarget, not support built-in constructors
+ var proto = newTarget.prototype,
+ instance = create(isObject(proto) ? proto : Object.prototype),
+ result = Function.apply.call(Target, instance, args);
+ return isObject(result) ? result : instance;
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_construct);
+
+ var es6_reflect_defineProperty = createCommonjsModule(function (module) {
+ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)
+ var dP = interopDefault(require$$2$1),
+ $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5),
+ toPrimitive = interopDefault(require$$4$1);
+
+ // MS Edge has broken Reflect.defineProperty - throwing instead of returning false
+ $export($export.S + $export.F * interopDefault(require$$1$1)(function () {
+ Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });
+ }), 'Reflect', {
+ defineProperty: function defineProperty(target, propertyKey, attributes) {
+ anObject(target);
+ propertyKey = toPrimitive(propertyKey, true);
+ anObject(attributes);
+ try {
+ dP.f(target, propertyKey, attributes);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_defineProperty);
+
+ var es6_reflect_deleteProperty = createCommonjsModule(function (module) {
+ // 26.1.4 Reflect.deleteProperty(target, propertyKey)
+ var $export = interopDefault(require$$1$2),
+ gOPD = interopDefault(require$$2$7).f,
+ anObject = interopDefault(require$$5);
+
+ $export($export.S, 'Reflect', {
+ deleteProperty: function deleteProperty(target, propertyKey) {
+ var desc = gOPD(anObject(target), propertyKey);
+ return desc && !desc.configurable ? false : delete target[propertyKey];
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_deleteProperty);
+
+ var es6_reflect_enumerate = createCommonjsModule(function (module) {
+ 'use strict';
+ // 26.1.5 Reflect.enumerate(target)
+
+ var $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5);
+ var Enumerate = function Enumerate(iterated) {
+ this._t = anObject(iterated); // target
+ this._i = 0; // next index
+ var keys = this._k = [] // keys
+ ,
+ key;
+ for (key in iterated) {
+ keys.push(key);
+ }
+ };
+ interopDefault(require$$0$26)(Enumerate, 'Object', function () {
+ var that = this,
+ keys = that._k,
+ key;
+ do {
+ if (that._i >= keys.length) return { value: undefined, done: true };
+ } while (!((key = keys[that._i++]) in that._t));
+ return { value: key, done: false };
+ });
+
+ $export($export.S, 'Reflect', {
+ enumerate: function enumerate(target) {
+ return new Enumerate(target);
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_enumerate);
+
+ var es6_reflect_get = createCommonjsModule(function (module) {
+ // 26.1.6 Reflect.get(target, propertyKey [, receiver])
+ var gOPD = interopDefault(require$$2$7),
+ getPrototypeOf = interopDefault(require$$0$13),
+ has = interopDefault(require$$4),
+ $export = interopDefault(require$$1$2),
+ isObject = interopDefault(require$$0$1),
+ anObject = interopDefault(require$$5);
+
+ function get(target, propertyKey /*, receiver*/) {
+ var receiver = arguments.length < 3 ? target : arguments[2],
+ desc,
+ proto;
+ if (anObject(target) === receiver) return target[propertyKey];
+ if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') ? desc.value : desc.get !== undefined ? desc.get.call(receiver) : undefined;
+ if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);
+ }
+
+ $export($export.S, 'Reflect', { get: get });
+ });
+
+ interopDefault(es6_reflect_get);
+
+ var es6_reflect_getOwnPropertyDescriptor = createCommonjsModule(function (module) {
+ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)
+ var gOPD = interopDefault(require$$2$7),
+ $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5);
+
+ $export($export.S, 'Reflect', {
+ getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
+ return gOPD.f(anObject(target), propertyKey);
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_getOwnPropertyDescriptor);
+
+ var es6_reflect_getPrototypeOf = createCommonjsModule(function (module) {
+ // 26.1.8 Reflect.getPrototypeOf(target)
+ var $export = interopDefault(require$$1$2),
+ getProto = interopDefault(require$$0$13),
+ anObject = interopDefault(require$$5);
+
+ $export($export.S, 'Reflect', {
+ getPrototypeOf: function getPrototypeOf(target) {
+ return getProto(anObject(target));
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_getPrototypeOf);
+
+ var es6_reflect_has = createCommonjsModule(function (module) {
+ // 26.1.9 Reflect.has(target, propertyKey)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Reflect', {
+ has: function has(target, propertyKey) {
+ return propertyKey in target;
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_has);
+
+ var es6_reflect_isExtensible = createCommonjsModule(function (module) {
+ // 26.1.10 Reflect.isExtensible(target)
+ var $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5),
+ $isExtensible = Object.isExtensible;
+
+ $export($export.S, 'Reflect', {
+ isExtensible: function isExtensible(target) {
+ anObject(target);
+ return $isExtensible ? $isExtensible(target) : true;
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_isExtensible);
+
+ var _ownKeys = createCommonjsModule(function (module) {
+ // all object keys, includes non-enumerable and symbols
+ var gOPN = interopDefault(require$$3$3),
+ gOPS = interopDefault(require$$2$6),
+ anObject = interopDefault(require$$5),
+ Reflect = interopDefault(require$$3).Reflect;
+ module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {
+ var keys = gOPN.f(anObject(it)),
+ getSymbols = gOPS.f;
+ return getSymbols ? keys.concat(getSymbols(it)) : keys;
+ };
+ });
+
+ var _ownKeys$1 = interopDefault(_ownKeys);
+
+var require$$3$9 = Object.freeze({
+ default: _ownKeys$1
+ });
+
+ var es6_reflect_ownKeys = createCommonjsModule(function (module) {
+ // 26.1.11 Reflect.ownKeys(target)
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Reflect', { ownKeys: interopDefault(require$$3$9) });
+ });
+
+ interopDefault(es6_reflect_ownKeys);
+
+ var es6_reflect_preventExtensions = createCommonjsModule(function (module) {
+ // 26.1.12 Reflect.preventExtensions(target)
+ var $export = interopDefault(require$$1$2),
+ anObject = interopDefault(require$$5),
+ $preventExtensions = Object.preventExtensions;
+
+ $export($export.S, 'Reflect', {
+ preventExtensions: function preventExtensions(target) {
+ anObject(target);
+ try {
+ if ($preventExtensions) $preventExtensions(target);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_preventExtensions);
+
+ var es6_reflect_set = createCommonjsModule(function (module) {
+ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver])
+ var dP = interopDefault(require$$2$1),
+ gOPD = interopDefault(require$$2$7),
+ getPrototypeOf = interopDefault(require$$0$13),
+ has = interopDefault(require$$4),
+ $export = interopDefault(require$$1$2),
+ createDesc = interopDefault(require$$2$3),
+ anObject = interopDefault(require$$5),
+ isObject = interopDefault(require$$0$1);
+
+ function set(target, propertyKey, V /*, receiver*/) {
+ var receiver = arguments.length < 4 ? target : arguments[3],
+ ownDesc = gOPD.f(anObject(target), propertyKey),
+ existingDescriptor,
+ proto;
+ if (!ownDesc) {
+ if (isObject(proto = getPrototypeOf(target))) {
+ return set(proto, propertyKey, V, receiver);
+ }
+ ownDesc = createDesc(0);
+ }
+ if (has(ownDesc, 'value')) {
+ if (ownDesc.writable === false || !isObject(receiver)) return false;
+ existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);
+ existingDescriptor.value = V;
+ dP.f(receiver, propertyKey, existingDescriptor);
+ return true;
+ }
+ return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);
+ }
+
+ $export($export.S, 'Reflect', { set: set });
+ });
+
+ interopDefault(es6_reflect_set);
+
+ var es6_reflect_setPrototypeOf = createCommonjsModule(function (module) {
+ // 26.1.14 Reflect.setPrototypeOf(target, proto)
+ var $export = interopDefault(require$$1$2),
+ setProto = interopDefault(require$$0$14);
+
+ if (setProto) $export($export.S, 'Reflect', {
+ setPrototypeOf: function setPrototypeOf(target, proto) {
+ setProto.check(target, proto);
+ try {
+ setProto.set(target, proto);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+ });
+ });
+
+ interopDefault(es6_reflect_setPrototypeOf);
+
+ var es7_array_includes = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/tc39/Array.prototype.includes
+
+ var $export = interopDefault(require$$1$2),
+ $includes = interopDefault(require$$1$9)(true);
+
+ $export($export.P, 'Array', {
+ includes: function includes(el /*, fromIndex = 0 */) {
+ return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
+ }
+ });
+
+ interopDefault(require$$0$34)('includes');
+ });
+
+ interopDefault(es7_array_includes);
+
+ var es7_string_at = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/mathiasbynens/String.prototype.at
+
+ var $export = interopDefault(require$$1$2),
+ $at = interopDefault(require$$0$25)(true);
+
+ $export($export.P, 'String', {
+ at: function at(pos) {
+ return $at(this, pos);
+ }
+ });
+ });
+
+ interopDefault(es7_string_at);
+
+ var _stringPad = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-string-pad-start-end
+ var toLength = interopDefault(require$$3$1),
+ repeat = interopDefault(require$$1$14),
+ defined = interopDefault(require$$4$3);
+
+ module.exports = function (that, maxLength, fillString, left) {
+ var S = String(defined(that)),
+ stringLength = S.length,
+ fillStr = fillString === undefined ? ' ' : String(fillString),
+ intMaxLength = toLength(maxLength);
+ if (intMaxLength <= stringLength || fillStr == '') return S;
+ var fillLen = intMaxLength - stringLength,
+ stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));
+ if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
+ return left ? stringFiller + S : S + stringFiller;
+ };
+ });
+
+ var _stringPad$1 = interopDefault(_stringPad);
+
+var require$$0$40 = Object.freeze({
+ default: _stringPad$1
+ });
+
+ var es7_string_padStart = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/tc39/proposal-string-pad-start-end
+
+ var $export = interopDefault(require$$1$2),
+ $pad = interopDefault(require$$0$40);
+
+ $export($export.P, 'String', {
+ padStart: function padStart(maxLength /*, fillString = ' ' */) {
+ return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);
+ }
+ });
+ });
+
+ interopDefault(es7_string_padStart);
+
+ var es7_string_padEnd = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/tc39/proposal-string-pad-start-end
+
+ var $export = interopDefault(require$$1$2),
+ $pad = interopDefault(require$$0$40);
+
+ $export($export.P, 'String', {
+ padEnd: function padEnd(maxLength /*, fillString = ' ' */) {
+ return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);
+ }
+ });
+ });
+
+ interopDefault(es7_string_padEnd);
+
+ var es7_string_trimLeft = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
+
+ interopDefault(require$$0$16)('trimLeft', function ($trim) {
+ return function trimLeft() {
+ return $trim(this, 1);
+ };
+ }, 'trimStart');
+ });
+
+ interopDefault(es7_string_trimLeft);
+
+ var es7_string_trimRight = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/sebmarkbage/ecmascript-string-left-right-trim
+
+ interopDefault(require$$0$16)('trimRight', function ($trim) {
+ return function trimRight() {
+ return $trim(this, 2);
+ };
+ }, 'trimEnd');
+ });
+
+ interopDefault(es7_string_trimRight);
+
+ var es7_string_matchAll = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://tc39.github.io/String.prototype.matchAll/
+
+ var $export = interopDefault(require$$1$2),
+ defined = interopDefault(require$$4$3),
+ toLength = interopDefault(require$$3$1),
+ isRegExp = interopDefault(require$$2$8),
+ getFlags = interopDefault(require$$1$18),
+ RegExpProto = RegExp.prototype;
+
+ var $RegExpStringIterator = function $RegExpStringIterator(regexp, string) {
+ this._r = regexp;
+ this._s = string;
+ };
+
+ interopDefault(require$$0$26)($RegExpStringIterator, 'RegExp String', function next() {
+ var match = this._r.exec(this._s);
+ return { value: match, done: match === null };
+ });
+
+ $export($export.P, 'String', {
+ matchAll: function matchAll(regexp) {
+ defined(this);
+ if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');
+ var S = String(this),
+ flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp),
+ rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);
+ rx.lastIndex = toLength(regexp.lastIndex);
+ return new $RegExpStringIterator(rx, S);
+ }
+ });
+ });
+
+ interopDefault(es7_string_matchAll);
+
+ var es7_symbol_asyncIterator = createCommonjsModule(function (module) {
+ interopDefault(require$$0$5)('asyncIterator');
+ });
+
+ interopDefault(es7_symbol_asyncIterator);
+
+ var es7_symbol_observable = createCommonjsModule(function (module) {
+ interopDefault(require$$0$5)('observable');
+ });
+
+ interopDefault(es7_symbol_observable);
+
+ var es7_object_getOwnPropertyDescriptors = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-object-getownpropertydescriptors
+ var $export = interopDefault(require$$1$2),
+ ownKeys = interopDefault(require$$3$9),
+ toIObject = interopDefault(require$$1$7),
+ gOPD = interopDefault(require$$2$7),
+ createProperty = interopDefault(require$$0$30);
+
+ $export($export.S, 'Object', {
+ getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
+ var O = toIObject(object),
+ getDesc = gOPD.f,
+ keys = ownKeys(O),
+ result = {},
+ i = 0,
+ key;
+ while (keys.length > i) {
+ createProperty(result, key = keys[i++], getDesc(O, key));
+ }return result;
+ }
+ });
+ });
+
+ interopDefault(es7_object_getOwnPropertyDescriptors);
+
+ var _objectToArray = createCommonjsModule(function (module) {
+ var getKeys = interopDefault(require$$2$5),
+ toIObject = interopDefault(require$$1$7),
+ isEnum = interopDefault(require$$0$9).f;
+ module.exports = function (isEntries) {
+ return function (it) {
+ var O = toIObject(it),
+ keys = getKeys(O),
+ length = keys.length,
+ i = 0,
+ result = [],
+ key;
+ while (length > i) {
+ if (isEnum.call(O, key = keys[i++])) {
+ result.push(isEntries ? [key, O[key]] : O[key]);
+ }
+ }return result;
+ };
+ };
+ });
+
+ var _objectToArray$1 = interopDefault(_objectToArray);
+
+var require$$0$41 = Object.freeze({
+ default: _objectToArray$1
+ });
+
+ var es7_object_values = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-object-values-entries
+ var $export = interopDefault(require$$1$2),
+ $values = interopDefault(require$$0$41)(false);
+
+ $export($export.S, 'Object', {
+ values: function values(it) {
+ return $values(it);
+ }
+ });
+ });
+
+ interopDefault(es7_object_values);
+
+ var es7_object_entries = createCommonjsModule(function (module) {
+ // https://github.com/tc39/proposal-object-values-entries
+ var $export = interopDefault(require$$1$2),
+ $entries = interopDefault(require$$0$41)(true);
+
+ $export($export.S, 'Object', {
+ entries: function entries(it) {
+ return $entries(it);
+ }
+ });
+ });
+
+ interopDefault(es7_object_entries);
+
+ var _objectForcedPam = createCommonjsModule(function (module) {
+ // Forced replacement prototype accessors methods
+ module.exports = interopDefault(require$$2$4) || !interopDefault(require$$1$1)(function () {
+ var K = Math.random();
+ // In FF throws only define methods
+ __defineSetter__.call(null, K, function () {/* empty */});
+ delete interopDefault(require$$3)[K];
+ });
+ });
+
+ var _objectForcedPam$1 = interopDefault(_objectForcedPam);
+
+var require$$0$42 = Object.freeze({
+ default: _objectForcedPam$1
+ });
+
+ var es7_object_defineGetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ aFunction = interopDefault(require$$0$2),
+ $defineProperty = interopDefault(require$$2$1);
+
+ // B.2.2.2 Object.prototype.__defineGetter__(P, getter)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __defineGetter__: function __defineGetter__(P, getter) {
+ $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });
+ }
+ });
+ });
+
+ interopDefault(es7_object_defineGetter);
+
+ var es7_object_defineSetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ aFunction = interopDefault(require$$0$2),
+ $defineProperty = interopDefault(require$$2$1);
+
+ // B.2.2.3 Object.prototype.__defineSetter__(P, setter)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __defineSetter__: function __defineSetter__(P, setter) {
+ $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });
+ }
+ });
+ });
+
+ interopDefault(es7_object_defineSetter);
+
+ var es7_object_lookupGetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ toPrimitive = interopDefault(require$$4$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ getOwnPropertyDescriptor = interopDefault(require$$2$7).f;
+
+ // B.2.2.4 Object.prototype.__lookupGetter__(P)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __lookupGetter__: function __lookupGetter__(P) {
+ var O = toObject(this),
+ K = toPrimitive(P, true),
+ D;
+ do {
+ if (D = getOwnPropertyDescriptor(O, K)) return D.get;
+ } while (O = getPrototypeOf(O));
+ }
+ });
+ });
+
+ interopDefault(es7_object_lookupGetter);
+
+ var es7_object_lookupSetter = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var $export = interopDefault(require$$1$2),
+ toObject = interopDefault(require$$5$1),
+ toPrimitive = interopDefault(require$$4$1),
+ getPrototypeOf = interopDefault(require$$0$13),
+ getOwnPropertyDescriptor = interopDefault(require$$2$7).f;
+
+ // B.2.2.5 Object.prototype.__lookupSetter__(P)
+ interopDefault(require$$1) && $export($export.P + interopDefault(require$$0$42), 'Object', {
+ __lookupSetter__: function __lookupSetter__(P) {
+ var O = toObject(this),
+ K = toPrimitive(P, true),
+ D;
+ do {
+ if (D = getOwnPropertyDescriptor(O, K)) return D.set;
+ } while (O = getPrototypeOf(O));
+ }
+ });
+ });
+
+ interopDefault(es7_object_lookupSetter);
+
+ var _arrayFromIterable = createCommonjsModule(function (module) {
+ var forOf = interopDefault(require$$1$20);
+
+ module.exports = function (iter, ITERATOR) {
+ var result = [];
+ forOf(iter, false, result.push, result, ITERATOR);
+ return result;
+ };
+ });
+
+ var _arrayFromIterable$1 = interopDefault(_arrayFromIterable);
+
+var require$$3$10 = Object.freeze({
+ default: _arrayFromIterable$1
+ });
+
+ var _collectionToJson = createCommonjsModule(function (module) {
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
+ var classof = interopDefault(require$$1$11),
+ from = interopDefault(require$$3$10);
+ module.exports = function (NAME) {
+ return function toJSON() {
+ if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic");
+ return from(this);
+ };
+ };
+ });
+
+ var _collectionToJson$1 = interopDefault(_collectionToJson);
+
+var require$$0$43 = Object.freeze({
+ default: _collectionToJson$1
+ });
+
+ var es7_map_toJson = createCommonjsModule(function (module) {
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P + $export.R, 'Map', { toJSON: interopDefault(require$$0$43)('Map') });
+ });
+
+ interopDefault(es7_map_toJson);
+
+ var es7_set_toJson = createCommonjsModule(function (module) {
+ // https://github.com/DavidBruant/Map-Set.prototype.toJSON
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.P + $export.R, 'Set', { toJSON: interopDefault(require$$0$43)('Set') });
+ });
+
+ interopDefault(es7_set_toJson);
+
+ var es7_system_global = createCommonjsModule(function (module) {
+ // https://github.com/ljharb/proposal-global
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'System', { global: interopDefault(require$$3) });
+ });
+
+ interopDefault(es7_system_global);
+
+ var es7_error_isError = createCommonjsModule(function (module) {
+ // https://github.com/ljharb/proposal-is-error
+ var $export = interopDefault(require$$1$2),
+ cof = interopDefault(require$$0$6);
+
+ $export($export.S, 'Error', {
+ isError: function isError(it) {
+ return cof(it) === 'Error';
+ }
+ });
+ });
+
+ interopDefault(es7_error_isError);
+
+ var es7_math_iaddh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ iaddh: function iaddh(x0, x1, y0, y1) {
+ var $x0 = x0 >>> 0,
+ $x1 = x1 >>> 0,
+ $y0 = y0 >>> 0;
+ return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;
+ }
+ });
+ });
+
+ interopDefault(es7_math_iaddh);
+
+ var es7_math_isubh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ isubh: function isubh(x0, x1, y0, y1) {
+ var $x0 = x0 >>> 0,
+ $x1 = x1 >>> 0,
+ $y0 = y0 >>> 0;
+ return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;
+ }
+ });
+ });
+
+ interopDefault(es7_math_isubh);
+
+ var es7_math_imulh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ imulh: function imulh(u, v) {
+ var UINT16 = 0xffff,
+ $u = +u,
+ $v = +v,
+ u0 = $u & UINT16,
+ v0 = $v & UINT16,
+ u1 = $u >> 16,
+ v1 = $v >> 16,
+ t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
+ return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);
+ }
+ });
+ });
+
+ interopDefault(es7_math_imulh);
+
+ var es7_math_umulh = createCommonjsModule(function (module) {
+ // https://gist.github.com/BrendanEich/4294d5c212a6d2254703
+ var $export = interopDefault(require$$1$2);
+
+ $export($export.S, 'Math', {
+ umulh: function umulh(u, v) {
+ var UINT16 = 0xffff,
+ $u = +u,
+ $v = +v,
+ u0 = $u & UINT16,
+ v0 = $v & UINT16,
+ u1 = $u >>> 16,
+ v1 = $v >>> 16,
+ t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);
+ return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);
+ }
+ });
+ });
+
+ interopDefault(es7_math_umulh);
+
+ var _metadata = createCommonjsModule(function (module) {
+ var Map = interopDefault(require$$3$8),
+ $export = interopDefault(require$$1$2),
+ shared = interopDefault(require$$1$4)('metadata'),
+ store = shared.store || (shared.store = new (interopDefault(require$$0$38))());
+
+ var getOrCreateMetadataMap = function getOrCreateMetadataMap(target, targetKey, create) {
+ var targetMetadata = store.get(target);
+ if (!targetMetadata) {
+ if (!create) return undefined;
+ store.set(target, targetMetadata = new Map());
+ }
+ var keyMetadata = targetMetadata.get(targetKey);
+ if (!keyMetadata) {
+ if (!create) return undefined;
+ targetMetadata.set(targetKey, keyMetadata = new Map());
+ }return keyMetadata;
+ };
+ var ordinaryHasOwnMetadata = function ordinaryHasOwnMetadata(MetadataKey, O, P) {
+ var metadataMap = getOrCreateMetadataMap(O, P, false);
+ return metadataMap === undefined ? false : metadataMap.has(MetadataKey);
+ };
+ var ordinaryGetOwnMetadata = function ordinaryGetOwnMetadata(MetadataKey, O, P) {
+ var metadataMap = getOrCreateMetadataMap(O, P, false);
+ return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);
+ };
+ var ordinaryDefineOwnMetadata = function ordinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {
+ getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);
+ };
+ var ordinaryOwnMetadataKeys = function ordinaryOwnMetadataKeys(target, targetKey) {
+ var metadataMap = getOrCreateMetadataMap(target, targetKey, false),
+ keys = [];
+ if (metadataMap) metadataMap.forEach(function (_, key) {
+ keys.push(key);
+ });
+ return keys;
+ };
+ var toMetaKey = function toMetaKey(it) {
+ return it === undefined || (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : String(it);
+ };
+ var exp = function exp(O) {
+ $export($export.S, 'Reflect', O);
+ };
+
+ module.exports = {
+ store: store,
+ map: getOrCreateMetadataMap,
+ has: ordinaryHasOwnMetadata,
+ get: ordinaryGetOwnMetadata,
+ set: ordinaryDefineOwnMetadata,
+ keys: ordinaryOwnMetadataKeys,
+ key: toMetaKey,
+ exp: exp
+ };
+ });
+
+ var _metadata$1 = interopDefault(_metadata);
+ var store = _metadata.store;
+ var map = _metadata.map;
+ var has = _metadata.has;
+ var get$1 = _metadata.get;
+ var set$3 = _metadata.set;
+ var keys = _metadata.keys;
+ var key = _metadata.key;
+ var exp = _metadata.exp;
+
+
+
+ var require$$2$10 = Object.freeze({
+ default: _metadata$1,
+ store: store,
+ map: map,
+ has: has,
+ get: get$1,
+ set: set$3,
+ keys: keys,
+ key: key,
+ exp: exp
+ });
+
+ var es7_reflect_defineMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ toMetaKey = metadata.key,
+ ordinaryDefineOwnMetadata = metadata.set;
+
+ metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {
+ ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));
+ } });
+ });
+
+ interopDefault(es7_reflect_defineMetadata);
+
+ var es7_reflect_deleteMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ toMetaKey = metadata.key,
+ getOrCreateMetadataMap = metadata.map,
+ store = metadata.store;
+
+ metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */) {
+ var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]),
+ metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);
+ if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;
+ if (metadataMap.size) return true;
+ var targetMetadata = store.get(target);
+ targetMetadata['delete'](targetKey);
+ return !!targetMetadata.size || store['delete'](target);
+ } });
+ });
+
+ interopDefault(es7_reflect_deleteMetadata);
+
+ var es7_reflect_getMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ordinaryHasOwnMetadata = metadata.has,
+ ordinaryGetOwnMetadata = metadata.get,
+ toMetaKey = metadata.key;
+
+ var ordinaryGetMetadata = function ordinaryGetMetadata(MetadataKey, O, P) {
+ var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
+ if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);
+ var parent = getPrototypeOf(O);
+ return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;
+ };
+
+ metadata.exp({ getMetadata: function getMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getMetadata);
+
+ var es7_reflect_getMetadataKeys = createCommonjsModule(function (module) {
+ var Set = interopDefault(require$$4$7),
+ from = interopDefault(require$$3$10),
+ metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ordinaryOwnMetadataKeys = metadata.keys,
+ toMetaKey = metadata.key;
+
+ var ordinaryMetadataKeys = function ordinaryMetadataKeys(O, P) {
+ var oKeys = ordinaryOwnMetadataKeys(O, P),
+ parent = getPrototypeOf(O);
+ if (parent === null) return oKeys;
+ var pKeys = ordinaryMetadataKeys(parent, P);
+ return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;
+ };
+
+ metadata.exp({ getMetadataKeys: function getMetadataKeys(target /*, targetKey */) {
+ return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getMetadataKeys);
+
+ var es7_reflect_getOwnMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ ordinaryGetOwnMetadata = metadata.get,
+ toMetaKey = metadata.key;
+
+ metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryGetOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getOwnMetadata);
+
+ var es7_reflect_getOwnMetadataKeys = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ ordinaryOwnMetadataKeys = metadata.keys,
+ toMetaKey = metadata.key;
+
+ metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */) {
+ return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));
+ } });
+ });
+
+ interopDefault(es7_reflect_getOwnMetadataKeys);
+
+ var es7_reflect_hasMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ getPrototypeOf = interopDefault(require$$0$13),
+ ordinaryHasOwnMetadata = metadata.has,
+ toMetaKey = metadata.key;
+
+ var ordinaryHasMetadata = function ordinaryHasMetadata(MetadataKey, O, P) {
+ var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);
+ if (hasOwn) return true;
+ var parent = getPrototypeOf(O);
+ return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
+ };
+
+ metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_hasMetadata);
+
+ var es7_reflect_hasOwnMetadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ ordinaryHasOwnMetadata = metadata.has,
+ toMetaKey = metadata.key;
+
+ metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */) {
+ return ordinaryHasOwnMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));
+ } });
+ });
+
+ interopDefault(es7_reflect_hasOwnMetadata);
+
+ var es7_reflect_metadata = createCommonjsModule(function (module) {
+ var metadata = interopDefault(require$$2$10),
+ anObject = interopDefault(require$$5),
+ aFunction = interopDefault(require$$0$2),
+ toMetaKey = metadata.key,
+ ordinaryDefineOwnMetadata = metadata.set;
+
+ metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {
+ return function decorator(target, targetKey) {
+ ordinaryDefineOwnMetadata(metadataKey, metadataValue, (targetKey !== undefined ? anObject : aFunction)(target), toMetaKey(targetKey));
+ };
+ } });
+ });
+
+ interopDefault(es7_reflect_metadata);
+
+ var es7_asap = createCommonjsModule(function (module) {
+ // https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask
+ var $export = interopDefault(require$$1$2),
+ microtask = interopDefault(require$$8$1)(),
+ process = interopDefault(require$$3).process,
+ isNode = interopDefault(require$$0$6)(process) == 'process';
+
+ $export($export.G, {
+ asap: function asap(fn) {
+ var domain = isNode && process.domain;
+ microtask(domain ? domain.bind(fn) : fn);
+ }
+ });
+ });
+
+ interopDefault(es7_asap);
+
+ var es7_observable = createCommonjsModule(function (module) {
+ 'use strict';
+ // https://github.com/zenparsing/es-observable
+
+ var $export = interopDefault(require$$1$2),
+ global = interopDefault(require$$3),
+ core = interopDefault(require$$0),
+ microtask = interopDefault(require$$8$1)(),
+ OBSERVABLE = interopDefault(require$$0$4)('observable'),
+ aFunction = interopDefault(require$$0$2),
+ anObject = interopDefault(require$$5),
+ anInstance = interopDefault(require$$4$6),
+ redefineAll = interopDefault(require$$3$7),
+ hide = interopDefault(require$$2),
+ forOf = interopDefault(require$$1$20),
+ RETURN = forOf.RETURN;
+
+ var getMethod = function getMethod(fn) {
+ return fn == null ? undefined : aFunction(fn);
+ };
+
+ var cleanupSubscription = function cleanupSubscription(subscription) {
+ var cleanup = subscription._c;
+ if (cleanup) {
+ subscription._c = undefined;
+ cleanup();
+ }
+ };
+
+ var subscriptionClosed = function subscriptionClosed(subscription) {
+ return subscription._o === undefined;
+ };
+
+ var closeSubscription = function closeSubscription(subscription) {
+ if (!subscriptionClosed(subscription)) {
+ subscription._o = undefined;
+ cleanupSubscription(subscription);
+ }
+ };
+
+ var Subscription = function Subscription(observer, subscriber) {
+ anObject(observer);
+ this._c = undefined;
+ this._o = observer;
+ observer = new SubscriptionObserver(this);
+ try {
+ var cleanup = subscriber(observer),
+ subscription = cleanup;
+ if (cleanup != null) {
+ if (typeof cleanup.unsubscribe === 'function') cleanup = function cleanup() {
+ subscription.unsubscribe();
+ };else aFunction(cleanup);
+ this._c = cleanup;
+ }
+ } catch (e) {
+ observer.error(e);
+ return;
+ }if (subscriptionClosed(this)) cleanupSubscription(this);
+ };
+
+ Subscription.prototype = redefineAll({}, {
+ unsubscribe: function unsubscribe() {
+ closeSubscription(this);
+ }
+ });
+
+ var SubscriptionObserver = function SubscriptionObserver(subscription) {
+ this._s = subscription;
+ };
+
+ SubscriptionObserver.prototype = redefineAll({}, {
+ next: function next(value) {
+ var subscription = this._s;
+ if (!subscriptionClosed(subscription)) {
+ var observer = subscription._o;
+ try {
+ var m = getMethod(observer.next);
+ if (m) return m.call(observer, value);
+ } catch (e) {
+ try {
+ closeSubscription(subscription);
+ } finally {
+ throw e;
+ }
+ }
+ }
+ },
+ error: function error(value) {
+ var subscription = this._s;
+ if (subscriptionClosed(subscription)) throw value;
+ var observer = subscription._o;
+ subscription._o = undefined;
+ try {
+ var m = getMethod(observer.error);
+ if (!m) throw value;
+ value = m.call(observer, value);
+ } catch (e) {
+ try {
+ cleanupSubscription(subscription);
+ } finally {
+ throw e;
+ }
+ }cleanupSubscription(subscription);
+ return value;
+ },
+ complete: function complete(value) {
+ var subscription = this._s;
+ if (!subscriptionClosed(subscription)) {
+ var observer = subscription._o;
+ subscription._o = undefined;
+ try {
+ var m = getMethod(observer.complete);
+ value = m ? m.call(observer, value) : undefined;
+ } catch (e) {
+ try {
+ cleanupSubscription(subscription);
+ } finally {
+ throw e;
+ }
+ }cleanupSubscription(subscription);
+ return value;
+ }
+ }
+ });
+
+ var $Observable = function Observable(subscriber) {
+ anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);
+ };
+
+ redefineAll($Observable.prototype, {
+ subscribe: function subscribe(observer) {
+ return new Subscription(observer, this._f);
+ },
+ forEach: function forEach(fn) {
+ var that = this;
+ return new (core.Promise || global.Promise)(function (resolve, reject) {
+ aFunction(fn);
+ var subscription = that.subscribe({
+ next: function next(value) {
+ try {
+ return fn(value);
+ } catch (e) {
+ reject(e);
+ subscription.unsubscribe();
+ }
+ },
+ error: reject,
+ complete: resolve
+ });
+ });
+ }
+ });
+
+ redefineAll($Observable, {
+ from: function from(x) {
+ var C = typeof this === 'function' ? this : $Observable;
+ var method = getMethod(anObject(x)[OBSERVABLE]);
+ if (method) {
+ var observable = anObject(method.call(x));
+ return observable.constructor === C ? observable : new C(function (observer) {
+ return observable.subscribe(observer);
+ });
+ }
+ return new C(function (observer) {
+ var done = false;
+ microtask(function () {
+ if (!done) {
+ try {
+ if (forOf(x, false, function (it) {
+ observer.next(it);
+ if (done) return RETURN;
+ }) === RETURN) return;
+ } catch (e) {
+ if (done) throw e;
+ observer.error(e);
+ return;
+ }observer.complete();
+ }
+ });
+ return function () {
+ done = true;
+ };
+ });
+ },
+ of: function of() {
+ for (var i = 0, l = arguments.length, items = Array(l); i < l;) {
+ items[i] = arguments[i++];
+ }return new (typeof this === 'function' ? this : $Observable)(function (observer) {
+ var done = false;
+ microtask(function () {
+ if (!done) {
+ for (var i = 0; i < items.length; ++i) {
+ observer.next(items[i]);
+ if (done) return;
+ }observer.complete();
+ }
+ });
+ return function () {
+ done = true;
+ };
+ });
+ }
+ });
+
+ hide($Observable.prototype, OBSERVABLE, function () {
+ return this;
+ });
+
+ $export($export.G, { Observable: $Observable });
+
+ interopDefault(require$$0$35)('Observable');
+ });
+
+ interopDefault(es7_observable);
+
+ var _path = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$3);
+ });
+
+ var _path$1 = interopDefault(_path);
+
+var require$$2$11 = Object.freeze({
+ default: _path$1
+ });
+
+ var _partial = createCommonjsModule(function (module) {
+ 'use strict';
+
+ var path = interopDefault(require$$2$11),
+ invoke = interopDefault(require$$1$13),
+ aFunction = interopDefault(require$$0$2);
+ module.exports = function () /* ...pargs */{
+ var fn = aFunction(this),
+ length = arguments.length,
+ pargs = Array(length),
+ i = 0,
+ _ = path._,
+ holder = false;
+ while (length > i) {
+ if ((pargs[i] = arguments[i++]) === _) holder = true;
+ }return function () /* ...args */{
+ var that = this,
+ aLen = arguments.length,
+ j = 0,
+ k = 0,
+ args;
+ if (!holder && !aLen) return invoke(fn, pargs, that);
+ args = pargs.slice();
+ if (holder) for (; length > j; j++) {
+ if (args[j] === _) args[j] = arguments[k++];
+ }while (aLen > k) {
+ args.push(arguments[k++]);
+ }return invoke(fn, args, that);
+ };
+ };
+ });
+
+ var _partial$1 = interopDefault(_partial);
+
+var require$$0$44 = Object.freeze({
+ default: _partial$1
+ });
+
+ var web_timers = createCommonjsModule(function (module) {
+ // ie9- setTimeout & setInterval additional parameters fix
+ var global = interopDefault(require$$3),
+ $export = interopDefault(require$$1$2),
+ invoke = interopDefault(require$$1$13),
+ partial = interopDefault(require$$0$44),
+ navigator = global.navigator,
+ MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
+ var wrap = function wrap(set) {
+ return MSIE ? function (fn, time /*, ...args */) {
+ return set(invoke(partial, [].slice.call(arguments, 2), typeof fn == 'function' ? fn : Function(fn)), time);
+ } : set;
+ };
+ $export($export.G + $export.B + $export.F * MSIE, {
+ setTimeout: wrap(global.setTimeout),
+ setInterval: wrap(global.setInterval)
+ });
+ });
+
+ interopDefault(web_timers);
+
+ var web_immediate = createCommonjsModule(function (module) {
+ var $export = interopDefault(require$$1$2),
+ $task = interopDefault(require$$0$36);
+ $export($export.G + $export.B, {
+ setImmediate: $task.set,
+ clearImmediate: $task.clear
+ });
+ });
+
+ interopDefault(web_immediate);
+
+ var web_dom_iterable = createCommonjsModule(function (module) {
+ var $iterators = interopDefault(require$$5$3),
+ redefine = interopDefault(require$$4$2),
+ global = interopDefault(require$$3),
+ hide = interopDefault(require$$2),
+ Iterators = interopDefault(require$$1$15),
+ wks = interopDefault(require$$0$4),
+ ITERATOR = wks('iterator'),
+ TO_STRING_TAG = wks('toStringTag'),
+ ArrayValues = Iterators.Array;
+
+ for (var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++) {
+ var NAME = collections[i],
+ Collection = global[NAME],
+ proto = Collection && Collection.prototype,
+ key;
+ if (proto) {
+ if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);
+ if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
+ Iterators[NAME] = ArrayValues;
+ for (key in $iterators) {
+ if (!proto[key]) redefine(proto, key, $iterators[key], true);
+ }
+ }
+ }
+ });
+
+ interopDefault(web_dom_iterable);
+
+ var shim = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$0);
+ });
+
+ interopDefault(shim);
+
+ var runtime = createCommonjsModule(function (module) {
+ /**
+ * Copyright (c) 2014, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * https://raw.github.com/facebook/regenerator/master/LICENSE file. An
+ * additional grant of patent rights can be found in the PATENTS file in
+ * the same directory.
+ */
+
+ !function (global) {
+ "use strict";
+
+ var hasOwn = Object.prototype.hasOwnProperty;
+ var undefined; // More compressible than void 0.
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+ var inModule = (typeof module === "undefined" ? "undefined" : _typeof(module)) === "object";
+ var runtime = global.regeneratorRuntime;
+ if (runtime) {
+ if (inModule) {
+ // If regeneratorRuntime is defined globally and we're in a module,
+ // make the exports object identical to regeneratorRuntime.
+ module.exports = runtime;
+ }
+ // Don't bother evaluating the rest of this file if the runtime was
+ // already defined globally.
+ return;
+ }
+
+ // Define the runtime globally (as expected by generated code) as either
+ // module.exports (if we're in a module) or a new, empty object.
+ runtime = global.regeneratorRuntime = inModule ? module.exports : {};
+
+ function wrap(innerFn, outerFn, self, tryLocsList) {
+ // If outerFn provided, then outerFn.prototype instanceof Generator.
+ var generator = Object.create((outerFn || Generator).prototype);
+ var context = new Context(tryLocsList || []);
+
+ // The ._invoke method unifies the implementations of the .next,
+ // .throw, and .return methods.
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+ return generator;
+ }
+ runtime.wrap = wrap;
+
+ // Try/catch helper to minimize deoptimizations. Returns a completion
+ // record like context.tryEntries[i].completion. This interface could
+ // have been (and was previously) designed to take a closure to be
+ // invoked without arguments, but in all the cases we care about we
+ // already have an existing method we want to call, so there's no need
+ // to create a new function object. We can even get away with assuming
+ // the method takes exactly one argument, since that happens to be true
+ // in every case, so we don't have to touch the arguments object. The
+ // only additional allocation required is the completion record, which
+ // has a stable shape and so hopefully should be cheap to allocate.
+ function tryCatch(fn, obj, arg) {
+ try {
+ return { type: "normal", arg: fn.call(obj, arg) };
+ } catch (err) {
+ return { type: "throw", arg: err };
+ }
+ }
+
+ var GenStateSuspendedStart = "suspendedStart";
+ var GenStateSuspendedYield = "suspendedYield";
+ var GenStateExecuting = "executing";
+ var GenStateCompleted = "completed";
+
+ // Returning this object from the innerFn has the same effect as
+ // breaking out of the dispatch switch statement.
+ var ContinueSentinel = {};
+
+ // Dummy constructor functions that we use as the .constructor and
+ // .constructor.prototype properties for functions that return Generator
+ // objects. For full spec compliance, you may wish to configure your
+ // minifier not to mangle the names of these two functions.
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
+
+ var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype;
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
+ GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = "GeneratorFunction";
+
+ // Helper for defining the .next, .throw, and .return methods of the
+ // Iterator interface in terms of a single ._invoke method.
+ function defineIteratorMethods(prototype) {
+ ["next", "throw", "return"].forEach(function (method) {
+ prototype[method] = function (arg) {
+ return this._invoke(method, arg);
+ };
+ });
+ }
+
+ runtime.isGeneratorFunction = function (genFun) {
+ var ctor = typeof genFun === "function" && genFun.constructor;
+ return ctor ? ctor === GeneratorFunction ||
+ // For the native GeneratorFunction constructor, the best we can
+ // do is to check its .name property.
+ (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
+ };
+
+ runtime.mark = function (genFun) {
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+ } else {
+ genFun.__proto__ = GeneratorFunctionPrototype;
+ if (!(toStringTagSymbol in genFun)) {
+ genFun[toStringTagSymbol] = "GeneratorFunction";
+ }
+ }
+ genFun.prototype = Object.create(Gp);
+ return genFun;
+ };
+
+ // Within the body of any async function, `await x` is transformed to
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+ // `value instanceof AwaitArgument` to determine if the yielded value is
+ // meant to be awaited. Some may consider the name of this method too
+ // cutesy, but they are curmudgeons.
+ runtime.awrap = function (arg) {
+ return new AwaitArgument(arg);
+ };
+
+ function AwaitArgument(arg) {
+ this.arg = arg;
+ }
+
+ function AsyncIterator(generator) {
+ function invoke(method, arg, resolve, reject) {
+ var record = tryCatch(generator[method], generator, arg);
+ if (record.type === "throw") {
+ reject(record.arg);
+ } else {
+ var result = record.arg;
+ var value = result.value;
+ if (value instanceof AwaitArgument) {
+ return Promise.resolve(value.arg).then(function (value) {
+ invoke("next", value, resolve, reject);
+ }, function (err) {
+ invoke("throw", err, resolve, reject);
+ });
+ }
+
+ return Promise.resolve(value).then(function (unwrapped) {
+ // When a yielded Promise is resolved, its final value becomes
+ // the .value of the Promise<{value,done}> result for the
+ // current iteration. If the Promise is rejected, however, the
+ // result for this iteration will be rejected with the same
+ // reason. Note that rejections of yielded Promises are not
+ // thrown back into the generator function, as is the case
+ // when an awaited Promise is rejected. This difference in
+ // behavior between yield and await is important, because it
+ // allows the consumer to decide what to do with the yielded
+ // rejection (swallow it and continue, manually .throw it back
+ // into the generator, abandon iteration, whatever). With
+ // await, by contrast, there is no opportunity to examine the
+ // rejection reason outside the generator function, so the
+ // only option is to throw it from the await expression, and
+ // let the generator function handle the exception.
+ result.value = unwrapped;
+ resolve(result);
+ }, reject);
+ }
+ }
+
+ if ((typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process.domain) {
+ invoke = process.domain.bind(invoke);
+ }
+
+ var previousPromise;
+
+ function enqueue(method, arg) {
+ function callInvokeWithMethodAndArg() {
+ return new Promise(function (resolve, reject) {
+ invoke(method, arg, resolve, reject);
+ });
+ }
+
+ return previousPromise =
+ // If enqueue has been called before, then we want to wait until
+ // all previous Promises have been resolved before calling invoke,
+ // so that results are always delivered in the correct order. If
+ // enqueue has not been called before, then it is important to
+ // call invoke immediately, without waiting on a callback to fire,
+ // so that the async generator function has the opportunity to do
+ // any necessary setup in a predictable way. This predictability
+ // is why the Promise constructor synchronously invokes its
+ // executor callback, and why async functions synchronously
+ // execute code before the first await. Since we implement simple
+ // async functions in terms of async generators, it is especially
+ // important to get this right, even though it requires care.
+ previousPromise ? previousPromise.then(callInvokeWithMethodAndArg,
+ // Avoid propagating failures to Promises returned by later
+ // invocations of the iterator.
+ callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
+ }
+
+ // Define the unified helper method that is used to implement .next,
+ // .throw, and .return (see defineIteratorMethods).
+ this._invoke = enqueue;
+ }
+
+ defineIteratorMethods(AsyncIterator.prototype);
+
+ // Note that simple async functions are implemented on top of
+ // AsyncIterator objects; they just return a Promise for the value of
+ // the final result produced by the iterator.
+ runtime.async = function (innerFn, outerFn, self, tryLocsList) {
+ var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList));
+
+ return runtime.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
+ : iter.next().then(function (result) {
+ return result.done ? result.value : iter.next();
+ });
+ };
+
+ function makeInvokeMethod(innerFn, self, context) {
+ var state = GenStateSuspendedStart;
+
+ return function invoke(method, arg) {
+ if (state === GenStateExecuting) {
+ throw new Error("Generator is already running");
+ }
+
+ if (state === GenStateCompleted) {
+ if (method === "throw") {
+ throw arg;
+ }
+
+ // Be forgiving, per 25.3.3.3.3 of the spec:
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+ return doneResult();
+ }
+
+ while (true) {
+ var delegate = context.delegate;
+ if (delegate) {
+ if (method === "return" || method === "throw" && delegate.iterator[method] === undefined) {
+ // A return or throw (when the delegate iterator has no throw
+ // method) always terminates the yield* loop.
+ context.delegate = null;
+
+ // If the delegate iterator has a return method, give it a
+ // chance to clean up.
+ var returnMethod = delegate.iterator["return"];
+ if (returnMethod) {
+ var record = tryCatch(returnMethod, delegate.iterator, arg);
+ if (record.type === "throw") {
+ // If the return method threw an exception, let that
+ // exception prevail over the original return or throw.
+ method = "throw";
+ arg = record.arg;
+ continue;
+ }
+ }
+
+ if (method === "return") {
+ // Continue with the outer return, now that the delegate
+ // iterator has been terminated.
+ continue;
+ }
+ }
+
+ var record = tryCatch(delegate.iterator[method], delegate.iterator, arg);
+
+ if (record.type === "throw") {
+ context.delegate = null;
+
+ // Like returning generator.throw(uncaught), but without the
+ // overhead of an extra function call.
+ method = "throw";
+ arg = record.arg;
+ continue;
+ }
+
+ // Delegate generator ran and handled its own exceptions so
+ // regardless of what the method was, we continue as if it is
+ // "next" with an undefined arg.
+ method = "next";
+ arg = undefined;
+
+ var info = record.arg;
+ if (info.done) {
+ context[delegate.resultName] = info.value;
+ context.next = delegate.nextLoc;
+ } else {
+ state = GenStateSuspendedYield;
+ return info;
+ }
+
+ context.delegate = null;
+ }
+
+ if (method === "next") {
+ // Setting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ context.sent = context._sent = arg;
+ } else if (method === "throw") {
+ if (state === GenStateSuspendedStart) {
+ state = GenStateCompleted;
+ throw arg;
+ }
+
+ if (context.dispatchException(arg)) {
+ // If the dispatched exception was caught by a catch block,
+ // then let that catch block handle the exception normally.
+ method = "next";
+ arg = undefined;
+ }
+ } else if (method === "return") {
+ context.abrupt("return", arg);
+ }
+
+ state = GenStateExecuting;
+
+ var record = tryCatch(innerFn, self, context);
+ if (record.type === "normal") {
+ // If an exception is thrown from innerFn, we leave state ===
+ // GenStateExecuting and loop back for another invocation.
+ state = context.done ? GenStateCompleted : GenStateSuspendedYield;
+
+ var info = {
+ value: record.arg,
+ done: context.done
+ };
+
+ if (record.arg === ContinueSentinel) {
+ if (context.delegate && method === "next") {
+ // Deliberately forget the last sent value so that we don't
+ // accidentally pass it on to the delegate.
+ arg = undefined;
+ }
+ } else {
+ return info;
+ }
+ } else if (record.type === "throw") {
+ state = GenStateCompleted;
+ // Dispatch the exception by looping back around to the
+ // context.dispatchException(arg) call above.
+ method = "throw";
+ arg = record.arg;
+ }
+ }
+ };
+ }
+
+ // Define Generator.prototype.{next,throw,return} in terms of the
+ // unified ._invoke helper method.
+ defineIteratorMethods(Gp);
+
+ Gp[iteratorSymbol] = function () {
+ return this;
+ };
+
+ Gp[toStringTagSymbol] = "Generator";
+
+ Gp.toString = function () {
+ return "[object Generator]";
+ };
+
+ function pushTryEntry(locs) {
+ var entry = { tryLoc: locs[0] };
+
+ if (1 in locs) {
+ entry.catchLoc = locs[1];
+ }
+
+ if (2 in locs) {
+ entry.finallyLoc = locs[2];
+ entry.afterLoc = locs[3];
+ }
+
+ this.tryEntries.push(entry);
+ }
+
+ function resetTryEntry(entry) {
+ var record = entry.completion || {};
+ record.type = "normal";
+ delete record.arg;
+ entry.completion = record;
+ }
+
+ function Context(tryLocsList) {
+ // The root entry object (effectively a try statement without a catch
+ // or a finally block) gives us a place to store values thrown from
+ // locations where there is no enclosing try statement.
+ this.tryEntries = [{ tryLoc: "root" }];
+ tryLocsList.forEach(pushTryEntry, this);
+ this.reset(true);
+ }
+
+ runtime.keys = function (object) {
+ var keys = [];
+ for (var key in object) {
+ keys.push(key);
+ }
+ keys.reverse();
+
+ // Rather than returning an object with a next method, we keep
+ // things simple and return the next function itself.
+ return function next() {
+ while (keys.length) {
+ var key = keys.pop();
+ if (key in object) {
+ next.value = key;
+ next.done = false;
+ return next;
+ }
+ }
+
+ // To avoid creating an additional object, we just hang the .value
+ // and .done properties off the next function object itself. This
+ // also ensures that the minifier will not anonymize the function.
+ next.done = true;
+ return next;
+ };
+ };
+
+ function values(iterable) {
+ if (iterable) {
+ var iteratorMethod = iterable[iteratorSymbol];
+ if (iteratorMethod) {
+ return iteratorMethod.call(iterable);
+ }
+
+ if (typeof iterable.next === "function") {
+ return iterable;
+ }
+
+ if (!isNaN(iterable.length)) {
+ var i = -1,
+ next = function next() {
+ while (++i < iterable.length) {
+ if (hasOwn.call(iterable, i)) {
+ next.value = iterable[i];
+ next.done = false;
+ return next;
+ }
+ }
+
+ next.value = undefined;
+ next.done = true;
+
+ return next;
+ };
+
+ return next.next = next;
+ }
+ }
+
+ // Return an iterator with no values.
+ return { next: doneResult };
+ }
+ runtime.values = values;
+
+ function doneResult() {
+ return { value: undefined, done: true };
+ }
+
+ Context.prototype = {
+ constructor: Context,
+
+ reset: function reset(skipTempReset) {
+ this.prev = 0;
+ this.next = 0;
+ // Resetting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ this.sent = this._sent = undefined;
+ this.done = false;
+ this.delegate = null;
+
+ this.tryEntries.forEach(resetTryEntry);
+
+ if (!skipTempReset) {
+ for (var name in this) {
+ // Not sure about the optimal order of these conditions:
+ if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
+ this[name] = undefined;
+ }
+ }
+ }
+ },
+
+ stop: function stop() {
+ this.done = true;
+
+ var rootEntry = this.tryEntries[0];
+ var rootRecord = rootEntry.completion;
+ if (rootRecord.type === "throw") {
+ throw rootRecord.arg;
+ }
+
+ return this.rval;
+ },
+
+ dispatchException: function dispatchException(exception) {
+ if (this.done) {
+ throw exception;
+ }
+
+ var context = this;
+ function handle(loc, caught) {
+ record.type = "throw";
+ record.arg = exception;
+ context.next = loc;
+ return !!caught;
+ }
+
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ var record = entry.completion;
+
+ if (entry.tryLoc === "root") {
+ // Exception thrown outside of any try block that could handle
+ // it, so set the completion value of the entire function to
+ // throw the exception.
+ return handle("end");
+ }
+
+ if (entry.tryLoc <= this.prev) {
+ var hasCatch = hasOwn.call(entry, "catchLoc");
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+ if (hasCatch && hasFinally) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ } else if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+ } else if (hasCatch) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ }
+ } else if (hasFinally) {
+ if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
+ } else {
+ throw new Error("try statement without catch or finally");
+ }
+ }
+ }
+ },
+
+ abrupt: function abrupt(type, arg) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
+ var finallyEntry = entry;
+ break;
+ }
+ }
+
+ if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
+ // Ignore the finally entry if control is not jumping to a
+ // location outside the try/catch block.
+ finallyEntry = null;
+ }
+
+ var record = finallyEntry ? finallyEntry.completion : {};
+ record.type = type;
+ record.arg = arg;
+
+ if (finallyEntry) {
+ this.next = finallyEntry.finallyLoc;
+ } else {
+ this.complete(record);
+ }
+
+ return ContinueSentinel;
+ },
+
+ complete: function complete(record, afterLoc) {
+ if (record.type === "throw") {
+ throw record.arg;
+ }
+
+ if (record.type === "break" || record.type === "continue") {
+ this.next = record.arg;
+ } else if (record.type === "return") {
+ this.rval = record.arg;
+ this.next = "end";
+ } else if (record.type === "normal" && afterLoc) {
+ this.next = afterLoc;
+ }
+ },
+
+ finish: function finish(finallyLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.finallyLoc === finallyLoc) {
+ this.complete(entry.completion, entry.afterLoc);
+ resetTryEntry(entry);
+ return ContinueSentinel;
+ }
+ }
+ },
+
+ "catch": function _catch(tryLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc === tryLoc) {
+ var record = entry.completion;
+ if (record.type === "throw") {
+ var thrown = record.arg;
+ resetTryEntry(entry);
+ }
+ return thrown;
+ }
+ }
+
+ // The context.catch method must only be called with a location
+ // argument that corresponds to a known catch block.
+ throw new Error("illegal catch attempt");
+ },
+
+ delegateYield: function delegateYield(iterable, resultName, nextLoc) {
+ this.delegate = {
+ iterator: values(iterable),
+ resultName: resultName,
+ nextLoc: nextLoc
+ };
+
+ return ContinueSentinel;
+ }
+ };
+ }(
+ // Among the various tricks for obtaining a reference to the global
+ // object, this seems to be the most reliable technique that does not
+ // use indirect eval (which violates Content Security Policy).
+ _typeof(commonjsGlobal) === "object" ? commonjsGlobal : (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" ? window : (typeof self === "undefined" ? "undefined" : _typeof(self)) === "object" ? self : commonjsGlobal);
+ });
+
+ interopDefault(runtime);
+
+ var _replacer = createCommonjsModule(function (module) {
+ module.exports = function (regExp, replace) {
+ var replacer = replace === Object(replace) ? function (part) {
+ return replace[part];
+ } : replace;
+ return function (it) {
+ return String(it).replace(regExp, replacer);
+ };
+ };
+ });
+
+ var _replacer$1 = interopDefault(_replacer);
+
+var require$$0$45 = Object.freeze({
+ default: _replacer$1
+ });
+
+ var core_regexp_escape = createCommonjsModule(function (module) {
+ // https://github.com/benjamingr/RexExp.escape
+ var $export = interopDefault(require$$1$2),
+ $re = interopDefault(require$$0$45)(/[\\^$*+?.()|[\]{}]/g, '\\$&');
+
+ $export($export.S, 'RegExp', { escape: function escape(it) {
+ return $re(it);
+ } });
+ });
+
+ interopDefault(core_regexp_escape);
+
+ var _escape = createCommonjsModule(function (module) {
+ module.exports = interopDefault(require$$0).RegExp.escape;
+ });
+
+ interopDefault(_escape);
+
+ var index = createCommonjsModule(function (module) {
+ "use strict";
+
+ /* eslint max-len: 0 */
+
+ if (commonjsGlobal._babelPolyfill) {
+ throw new Error("only one instance of babel-polyfill is allowed");
+ }
+ commonjsGlobal._babelPolyfill = true;
+
+ // Should be removed in the next major release:
+
+ var DEFINE_PROPERTY = "defineProperty";
+ function define(O, key, value) {
+ O[key] || Object[DEFINE_PROPERTY](O, key, {
+ writable: true,
+ configurable: true,
+ value: value
+ });
+ }
+
+ define(String.prototype, "padLeft", "".padStart);
+ define(String.prototype, "padRight", "".padEnd);
+
+ "pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) {
+ [][key] && define(Array, key, Function.call.bind([][key]));
+ });
+ });
+
+ interopDefault(index);
+
+ /*!
+ * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com)
+ * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */if(typeof jQuery==='undefined'){throw new Error('Bootstrap\'s JavaScript requires jQuery');}+function($){var version=$.fn.jquery.split(' ')[0].split('.');if(version[0]<2&&version[1]<9||version[0]==1&&version[1]==9&&version[2]<1||version[0]>=4){throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');}}(jQuery);+function($){/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): util.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */'use strict';var _get=function get(_x,_x2,_x3){var _again=true;_function:while(_again){var object=_x,property=_x2,receiver=_x3;_again=false;if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===undefined){var parent=Object.getPrototypeOf(object);if(parent===null){return undefined;}else{_x=parent;_x2=property;_x3=receiver;_again=true;desc=parent=undefined;continue _function;}}else if('value'in desc){return desc.value;}else{var getter=desc.get;if(getter===undefined){return undefined;}return getter.call(receiver);}}};var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if('value'in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _inherits(subClass,superClass){if(typeof superClass!=='function'&&superClass!==null){throw new TypeError('Super expression must either be null or a function, not '+(typeof superClass==='undefined'?'undefined':_typeof(superClass)));}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError('Cannot call a class as a function');}}var Util=function($){/**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */var transition=false;var MAX_UID=1000000;var TransitionEndEvent={WebkitTransition:'webkitTransitionEnd',MozTransition:'transitionend',OTransition:'oTransitionEnd otransitionend',transition:'transitionend'};// shoutout AngusCroll (https://goo.gl/pxwQGp)
+ function toType(obj){return{}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();}function isElement(obj){return(obj[0]||obj).nodeType;}function getSpecialTransitionEndEvent(){return{bindType:transition.end,delegateType:transition.end,handle:function handle(event){if($(event.target).is(this)){return event.handleObj.handler.apply(this,arguments);// eslint-disable-line prefer-rest-params
+ }return undefined;}};}function transitionEndTest(){if(window.QUnit){return false;}var el=document.createElement('bootstrap');for(var _name in TransitionEndEvent){if(el.style[_name]!==undefined){return{end:TransitionEndEvent[_name]};}}return false;}function transitionEndEmulator(duration){var _this=this;var called=false;$(this).one(Util.TRANSITION_END,function(){called=true;});setTimeout(function(){if(!called){Util.triggerTransitionEnd(_this);}},duration);return this;}function setTransitionEndSupport(){transition=transitionEndTest();$.fn.emulateTransitionEnd=transitionEndEmulator;if(Util.supportsTransitionEnd()){$.event.special[Util.TRANSITION_END]=getSpecialTransitionEndEvent();}}/**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */var Util={TRANSITION_END:'bsTransitionEnd',getUID:function getUID(prefix){do{/* eslint-disable no-bitwise */prefix+=~~(Math.random()*MAX_UID);// "~~" acts like a faster Math.floor() here
+ /* eslint-enable no-bitwise */}while(document.getElementById(prefix));return prefix;},getSelectorFromElement:function getSelectorFromElement(element){var selector=element.getAttribute('data-target');if(!selector){selector=element.getAttribute('href')||'';selector=/^#[a-z]/i.test(selector)?selector:null;}return selector;},reflow:function reflow(element){new Function('bs','return bs')(element.offsetHeight);},triggerTransitionEnd:function triggerTransitionEnd(element){$(element).trigger(transition.end);},supportsTransitionEnd:function supportsTransitionEnd(){return Boolean(transition);},typeCheckConfig:function typeCheckConfig(componentName,config,configTypes){for(var property in configTypes){if(configTypes.hasOwnProperty(property)){var expectedTypes=configTypes[property];var value=config[property];var valueType=undefined;if(value&&isElement(value)){valueType='element';}else{valueType=toType(value);}if(!new RegExp(expectedTypes).test(valueType)){throw new Error(componentName.toUpperCase()+': '+('Option "'+property+'" provided type "'+valueType+'" ')+('but expected type "'+expectedTypes+'".'));}}}}};setTransitionEndSupport();return Util;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): alert.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Alert=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='alert';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.alert';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var Selector={DISMISS:'[data-dismiss="alert"]'};var Event={CLOSE:'close'+EVENT_KEY,CLOSED:'closed'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={ALERT:'alert',FADE:'fade',IN:'in'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Alert=function(){function Alert(element){_classCallCheck(this,Alert);this._element=element;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Alert,[{key:'close',// public
+ value:function close(element){element=element||this._element;var rootElement=this._getRootElement(element);var customEvent=this._triggerCloseEvent(rootElement);if(customEvent.isDefaultPrevented()){return;}this._removeElement(rootElement);}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._element=null;}// private
+ },{key:'_getRootElement',value:function _getRootElement(element){var selector=Util.getSelectorFromElement(element);var parent=false;if(selector){parent=$(selector)[0];}if(!parent){parent=$(element).closest('.'+ClassName.ALERT)[0];}return parent;}},{key:'_triggerCloseEvent',value:function _triggerCloseEvent(element){var closeEvent=$.Event(Event.CLOSE);$(element).trigger(closeEvent);return closeEvent;}},{key:'_removeElement',value:function _removeElement(element){$(element).removeClass(ClassName.IN);if(!Util.supportsTransitionEnd()||!$(element).hasClass(ClassName.FADE)){this._destroyElement(element);return;}$(element).one(Util.TRANSITION_END,$.proxy(this._destroyElement,this,element)).emulateTransitionEnd(TRANSITION_DURATION);}},{key:'_destroyElement',value:function _destroyElement(element){$(element).detach().trigger(Event.CLOSED).remove();}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $element=$(this);var data=$element.data(DATA_KEY);if(!data){data=new Alert(this);$element.data(DATA_KEY,data);}if(config==='close'){data[config](this);}});}},{key:'_handleDismiss',value:function _handleDismiss(alertInstance){return function(event){if(event){event.preventDefault();}alertInstance.close(this);};}},{key:'VERSION',get:function get(){return VERSION;}}]);return Alert;}();$(document).on(Event.CLICK_DATA_API,Selector.DISMISS,Alert._handleDismiss(new Alert()));/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Alert._jQueryInterface;$.fn[NAME].Constructor=Alert;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Alert._jQueryInterface;};return Alert;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): button.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Button=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='button';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.button';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var ClassName={ACTIVE:'active',BUTTON:'btn',FOCUS:'focus'};var Selector={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:'input',ACTIVE:'.active',BUTTON:'.btn'};var Event={CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY,FOCUS_BLUR_DATA_API:'focus'+EVENT_KEY+DATA_API_KEY+' '+('blur'+EVENT_KEY+DATA_API_KEY)};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Button=function(){function Button(element){_classCallCheck(this,Button);this._element=element;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Button,[{key:'toggle',// public
+ value:function toggle(){var triggerChangeEvent=true;var rootElement=$(this._element).closest(Selector.DATA_TOGGLE)[0];if(rootElement){var input=$(this._element).find(Selector.INPUT)[0];if(input){if(input.type==='radio'){if(input.checked&&$(this._element).hasClass(ClassName.ACTIVE)){triggerChangeEvent=false;}else{var activeElement=$(rootElement).find(Selector.ACTIVE)[0];if(activeElement){$(activeElement).removeClass(ClassName.ACTIVE);}}}if(triggerChangeEvent){input.checked=!$(this._element).hasClass(ClassName.ACTIVE);$(this._element).trigger('change');}input.focus();}}else{this._element.setAttribute('aria-pressed',!$(this._element).hasClass(ClassName.ACTIVE));}if(triggerChangeEvent){$(this._element).toggleClass(ClassName.ACTIVE);}}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._element=null;}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(!data){data=new Button(this);$(this).data(DATA_KEY,data);}if(config==='toggle'){data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}}]);return Button;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){event.preventDefault();var button=event.target;if(!$(button).hasClass(ClassName.BUTTON)){button=$(button).closest(Selector.BUTTON);}Button._jQueryInterface.call($(button),'toggle');}).on(Event.FOCUS_BLUR_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){var button=$(event.target).closest(Selector.BUTTON)[0];$(button).toggleClass(ClassName.FOCUS,/^focus(in)?$/.test(event.type));});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Button._jQueryInterface;$.fn[NAME].Constructor=Button;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Button._jQueryInterface;};return Button;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): carousel.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Carousel=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='carousel';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.carousel';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=600;var ARROW_LEFT_KEYCODE=37;// KeyboardEvent.which value for left arrow key
+ var ARROW_RIGHT_KEYCODE=39;// KeyboardEvent.which value for right arrow key
+ var Default={interval:5000,keyboard:true,slide:false,pause:'hover',wrap:true};var DefaultType={interval:'(number|boolean)',keyboard:'boolean',slide:'(boolean|string)',pause:'(string|boolean)',wrap:'boolean'};var Direction={NEXT:'next',PREVIOUS:'prev'};var Event={SLIDE:'slide'+EVENT_KEY,SLID:'slid'+EVENT_KEY,KEYDOWN:'keydown'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY,LOAD_DATA_API:'load'+EVENT_KEY+DATA_API_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={CAROUSEL:'carousel',ACTIVE:'active',SLIDE:'slide',RIGHT:'right',LEFT:'left',ITEM:'carousel-item'};var Selector={ACTIVE:'.active',ACTIVE_ITEM:'.active.carousel-item',ITEM:'.carousel-item',NEXT_PREV:'.next, .prev',INDICATORS:'.carousel-indicators',DATA_SLIDE:'[data-slide], [data-slide-to]',DATA_RIDE:'[data-ride="carousel"]'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Carousel=function(){function Carousel(element,config){_classCallCheck(this,Carousel);this._items=null;this._interval=null;this._activeElement=null;this._isPaused=false;this._isSliding=false;this._config=this._getConfig(config);this._element=$(element)[0];this._indicatorsElement=$(this._element).find(Selector.INDICATORS)[0];this._addEventListeners();}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Carousel,[{key:'next',// public
+ value:function next(){if(!this._isSliding){this._slide(Direction.NEXT);}}},{key:'nextWhenVisible',value:function nextWhenVisible(){// Don't call next when the page isn't visible
+ if(!document.hidden){this.next();}}},{key:'prev',value:function prev(){if(!this._isSliding){this._slide(Direction.PREVIOUS);}}},{key:'pause',value:function pause(event){if(!event){this._isPaused=true;}if($(this._element).find(Selector.NEXT_PREV)[0]&&Util.supportsTransitionEnd()){Util.triggerTransitionEnd(this._element);this.cycle(true);}clearInterval(this._interval);this._interval=null;}},{key:'cycle',value:function cycle(event){if(!event){this._isPaused=false;}if(this._interval){clearInterval(this._interval);this._interval=null;}if(this._config.interval&&!this._isPaused){this._interval=setInterval($.proxy(document.visibilityState?this.nextWhenVisible:this.next,this),this._config.interval);}}},{key:'to',value:function to(index){var _this2=this;this._activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var activeIndex=this._getItemIndex(this._activeElement);if(index>this._items.length-1||index<0){return;}if(this._isSliding){$(this._element).one(Event.SLID,function(){return _this2.to(index);});return;}if(activeIndex===index){this.pause();this.cycle();return;}var direction=index>activeIndex?Direction.NEXT:Direction.PREVIOUS;this._slide(direction,this._items[index]);}},{key:'dispose',value:function dispose(){$(this._element).off(EVENT_KEY);$.removeData(this._element,DATA_KEY);this._items=null;this._config=null;this._element=null;this._interval=null;this._isPaused=null;this._isSliding=null;this._activeElement=null;this._indicatorsElement=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_addEventListeners',value:function _addEventListeners(){if(this._config.keyboard){$(this._element).on(Event.KEYDOWN,$.proxy(this._keydown,this));}if(this._config.pause==='hover'&&!('ontouchstart'in document.documentElement)){$(this._element).on(Event.MOUSEENTER,$.proxy(this.pause,this)).on(Event.MOUSELEAVE,$.proxy(this.cycle,this));}}},{key:'_keydown',value:function _keydown(event){event.preventDefault();if(/input|textarea/i.test(event.target.tagName)){return;}switch(event.which){case ARROW_LEFT_KEYCODE:this.prev();break;case ARROW_RIGHT_KEYCODE:this.next();break;default:return;}}},{key:'_getItemIndex',value:function _getItemIndex(element){this._items=$.makeArray($(element).parent().find(Selector.ITEM));return this._items.indexOf(element);}},{key:'_getItemByDirection',value:function _getItemByDirection(direction,activeElement){var isNextDirection=direction===Direction.NEXT;var isPrevDirection=direction===Direction.PREVIOUS;var activeIndex=this._getItemIndex(activeElement);var lastItemIndex=this._items.length-1;var isGoingToWrap=isPrevDirection&&activeIndex===0||isNextDirection&&activeIndex===lastItemIndex;if(isGoingToWrap&&!this._config.wrap){return activeElement;}var delta=direction===Direction.PREVIOUS?-1:1;var itemIndex=(activeIndex+delta)%this._items.length;return itemIndex===-1?this._items[this._items.length-1]:this._items[itemIndex];}},{key:'_triggerSlideEvent',value:function _triggerSlideEvent(relatedTarget,directionalClassname){var slideEvent=$.Event(Event.SLIDE,{relatedTarget:relatedTarget,direction:directionalClassname});$(this._element).trigger(slideEvent);return slideEvent;}},{key:'_setActiveIndicatorElement',value:function _setActiveIndicatorElement(element){if(this._indicatorsElement){$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);var nextIndicator=this._indicatorsElement.children[this._getItemIndex(element)];if(nextIndicator){$(nextIndicator).addClass(ClassName.ACTIVE);}}}},{key:'_slide',value:function _slide(direction,element){var _this3=this;var activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var nextElement=element||activeElement&&this._getItemByDirection(direction,activeElement);var isCycling=Boolean(this._interval);var directionalClassName=direction===Direction.NEXT?ClassName.LEFT:ClassName.RIGHT;if(nextElement&&$(nextElement).hasClass(ClassName.ACTIVE)){this._isSliding=false;return;}var slideEvent=this._triggerSlideEvent(nextElement,directionalClassName);if(slideEvent.isDefaultPrevented()){return;}if(!activeElement||!nextElement){// some weirdness is happening, so we bail
+ return;}this._isSliding=true;if(isCycling){this.pause();}this._setActiveIndicatorElement(nextElement);var slidEvent=$.Event(Event.SLID,{relatedTarget:nextElement,direction:directionalClassName});if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.SLIDE)){$(nextElement).addClass(direction);Util.reflow(nextElement);$(activeElement).addClass(directionalClassName);$(nextElement).addClass(directionalClassName);$(activeElement).one(Util.TRANSITION_END,function(){$(nextElement).removeClass(directionalClassName).removeClass(direction);$(nextElement).addClass(ClassName.ACTIVE);$(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName);_this3._isSliding=false;setTimeout(function(){return $(_this3._element).trigger(slidEvent);},0);}).emulateTransitionEnd(TRANSITION_DURATION);}else{$(activeElement).removeClass(ClassName.ACTIVE);$(nextElement).addClass(ClassName.ACTIVE);this._isSliding=false;$(this._element).trigger(slidEvent);}if(isCycling){this.cycle();}}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=$.extend({},Default,$(this).data());if((typeof config==='undefined'?'undefined':_typeof(config))==='object'){$.extend(_config,config);}var action=typeof config==='string'?config:_config.slide;if(!data){data=new Carousel(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='number'){data.to(config);}else if(typeof action==='string'){if(data[action]===undefined){throw new Error('No method named "'+action+'"');}data[action]();}else if(_config.interval){data.pause();data.cycle();}});}},{key:'_dataApiClickHandler',value:function _dataApiClickHandler(event){var selector=Util.getSelectorFromElement(this);if(!selector){return;}var target=$(selector)[0];if(!target||!$(target).hasClass(ClassName.CAROUSEL)){return;}var config=$.extend({},$(target).data(),$(this).data());var slideIndex=this.getAttribute('data-slide-to');if(slideIndex){config.interval=false;}Carousel._jQueryInterface.call($(target),config);if(slideIndex){$(target).data(DATA_KEY).to(slideIndex);}event.preventDefault();}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Carousel;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_SLIDE,Carousel._dataApiClickHandler);$(window).on(Event.LOAD_DATA_API,function(){$(Selector.DATA_RIDE).each(function(){var $carousel=$(this);Carousel._jQueryInterface.call($carousel,$carousel.data());});});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Carousel._jQueryInterface;$.fn[NAME].Constructor=Carousel;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Carousel._jQueryInterface;};return Carousel;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): collapse.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Collapse=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='collapse';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.collapse';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=600;var Default={toggle:true,parent:''};var DefaultType={toggle:'boolean',parent:'string'};var Event={SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={IN:'in',COLLAPSE:'collapse',COLLAPSING:'collapsing',COLLAPSED:'collapsed'};var Dimension={WIDTH:'width',HEIGHT:'height'};var Selector={ACTIVES:'.panel > .in, .panel > .collapsing',DATA_TOGGLE:'[data-toggle="collapse"]'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Collapse=function(){function Collapse(element,config){_classCallCheck(this,Collapse);this._isTransitioning=false;this._element=element;this._config=this._getConfig(config);this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+element.id+'"],'+('[data-toggle="collapse"][data-target="#'+element.id+'"]')));this._parent=this._config.parent?this._getParent():null;if(!this._config.parent){this._addAriaAndCollapsedClass(this._element,this._triggerArray);}if(this._config.toggle){this.toggle();}}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Collapse,[{key:'toggle',// public
+ value:function toggle(){if($(this._element).hasClass(ClassName.IN)){this.hide();}else{this.show();}}},{key:'show',value:function show(){var _this4=this;if(this._isTransitioning||$(this._element).hasClass(ClassName.IN)){return;}var actives=undefined;var activesData=undefined;if(this._parent){actives=$.makeArray($(Selector.ACTIVES));if(!actives.length){actives=null;}}if(actives){activesData=$(actives).data(DATA_KEY);if(activesData&&activesData._isTransitioning){return;}}var startEvent=$.Event(Event.SHOW);$(this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return;}if(actives){Collapse._jQueryInterface.call($(actives),'hide');if(!activesData){$(actives).data(DATA_KEY,null);}}var dimension=this._getDimension();$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);this._element.style[dimension]=0;this._element.setAttribute('aria-expanded',true);if(this._triggerArray.length){$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded',true);}this.setTransitioning(true);var complete=function complete(){$(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);_this4._element.style[dimension]='';_this4.setTransitioning(false);$(_this4._element).trigger(Event.SHOWN);};if(!Util.supportsTransitionEnd()){complete();return;}var capitalizedDimension=dimension[0].toUpperCase()+dimension.slice(1);var scrollSize='scroll'+capitalizedDimension;$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);this._element.style[dimension]=this._element[scrollSize]+'px';}},{key:'hide',value:function hide(){var _this5=this;if(this._isTransitioning||!$(this._element).hasClass(ClassName.IN)){return;}var startEvent=$.Event(Event.HIDE);$(this._element).trigger(startEvent);if(startEvent.isDefaultPrevented()){return;}var dimension=this._getDimension();var offsetDimension=dimension===Dimension.WIDTH?'offsetWidth':'offsetHeight';this._element.style[dimension]=this._element[offsetDimension]+'px';Util.reflow(this._element);$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);this._element.setAttribute('aria-expanded',false);if(this._triggerArray.length){$(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded',false);}this.setTransitioning(true);var complete=function complete(){_this5.setTransitioning(false);$(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);};this._element.style[dimension]=0;if(!Util.supportsTransitionEnd()){complete();return;}$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}},{key:'setTransitioning',value:function setTransitioning(isTransitioning){this._isTransitioning=isTransitioning;}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);this._config=null;this._parent=null;this._element=null;this._triggerArray=null;this._isTransitioning=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);config.toggle=Boolean(config.toggle);// coerce string values
+ Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_getDimension',value:function _getDimension(){var hasWidth=$(this._element).hasClass(Dimension.WIDTH);return hasWidth?Dimension.WIDTH:Dimension.HEIGHT;}},{key:'_getParent',value:function _getParent(){var _this6=this;var parent=$(this._config.parent)[0];var selector='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';$(parent).find(selector).each(function(i,element){_this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element),[element]);});return parent;}},{key:'_addAriaAndCollapsedClass',value:function _addAriaAndCollapsedClass(element,triggerArray){if(element){var isOpen=$(element).hasClass(ClassName.IN);element.setAttribute('aria-expanded',isOpen);if(triggerArray.length){$(triggerArray).toggleClass(ClassName.COLLAPSED,!isOpen).attr('aria-expanded',isOpen);}}}// static
+ }],[{key:'_getTargetFromElement',value:function _getTargetFromElement(element){var selector=Util.getSelectorFromElement(element);return selector?$(selector)[0]:null;}},{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $this=$(this);var data=$this.data(DATA_KEY);var _config=$.extend({},Default,$this.data(),(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config);if(!data&&_config.toggle&&/show|hide/.test(config)){_config.toggle=false;}if(!data){data=new Collapse(this,_config);$this.data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Collapse;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();var target=Collapse._getTargetFromElement(this);var data=$(target).data(DATA_KEY);var config=data?'toggle':$(this).data();Collapse._jQueryInterface.call($(target),config);});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Collapse._jQueryInterface;$.fn[NAME].Constructor=Collapse;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Collapse._jQueryInterface;};return Collapse;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Dropdown=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='dropdown';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.dropdown';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var ESCAPE_KEYCODE=27;// KeyboardEvent.which value for Escape (Esc) key
+ var ARROW_UP_KEYCODE=38;// KeyboardEvent.which value for up arrow key
+ var ARROW_DOWN_KEYCODE=40;// KeyboardEvent.which value for down arrow key
+ var RIGHT_MOUSE_BUTTON_WHICH=3;// MouseEvent.which value for the right button (assuming a right-handed mouse)
+ var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,CLICK:'click'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY,KEYDOWN_DATA_API:'keydown'+EVENT_KEY+DATA_API_KEY};var ClassName={BACKDROP:'dropdown-backdrop',DISABLED:'disabled',OPEN:'open'};var Selector={BACKDROP:'.dropdown-backdrop',DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:'.dropdown form',ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:'.navbar-nav',VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, '+'[role="listbox"] li:not(.disabled) a'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Dropdown=function(){function Dropdown(element){_classCallCheck(this,Dropdown);this._element=element;this._addEventListeners();}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Dropdown,[{key:'toggle',// public
+ value:function toggle(){if(this.disabled||$(this).hasClass(ClassName.DISABLED)){return false;}var parent=Dropdown._getParentFromElement(this);var isActive=$(parent).hasClass(ClassName.OPEN);Dropdown._clearMenus();if(isActive){return false;}if('ontouchstart'in document.documentElement&&!$(parent).closest(Selector.NAVBAR_NAV).length){// if mobile we use a backdrop because click events don't delegate
+ var dropdown=document.createElement('div');dropdown.className=ClassName.BACKDROP;$(dropdown).insertBefore(this);$(dropdown).on('click',Dropdown._clearMenus);}var relatedTarget={relatedTarget:this};var showEvent=$.Event(Event.SHOW,relatedTarget);$(parent).trigger(showEvent);if(showEvent.isDefaultPrevented()){return false;}this.focus();this.setAttribute('aria-expanded','true');$(parent).toggleClass(ClassName.OPEN);$(parent).trigger($.Event(Event.SHOWN,relatedTarget));return false;}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(this._element).off(EVENT_KEY);this._element=null;}// private
+ },{key:'_addEventListeners',value:function _addEventListeners(){$(this._element).on(Event.CLICK,this.toggle);}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(!data){$(this).data(DATA_KEY,data=new Dropdown(this));}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config].call(this);}});}},{key:'_clearMenus',value:function _clearMenus(event){if(event&&event.which===RIGHT_MOUSE_BUTTON_WHICH){return;}var backdrop=$(Selector.BACKDROP)[0];if(backdrop){backdrop.parentNode.removeChild(backdrop);}var toggles=$.makeArray($(Selector.DATA_TOGGLE));for(var i=0;i<toggles.length;i++){var _parent=Dropdown._getParentFromElement(toggles[i]);var relatedTarget={relatedTarget:toggles[i]};if(!$(_parent).hasClass(ClassName.OPEN)){continue;}if(event&&event.type==='click'&&/input|textarea/i.test(event.target.tagName)&&$.contains(_parent,event.target)){continue;}var hideEvent=$.Event(Event.HIDE,relatedTarget);$(_parent).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){continue;}toggles[i].setAttribute('aria-expanded','false');$(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN,relatedTarget));}}},{key:'_getParentFromElement',value:function _getParentFromElement(element){var parent=undefined;var selector=Util.getSelectorFromElement(element);if(selector){parent=$(selector)[0];}return parent||element.parentNode;}},{key:'_dataApiKeydownHandler',value:function _dataApiKeydownHandler(event){if(!/(38|40|27|32)/.test(event.which)||/input|textarea/i.test(event.target.tagName)){return;}event.preventDefault();event.stopPropagation();if(this.disabled||$(this).hasClass(ClassName.DISABLED)){return;}var parent=Dropdown._getParentFromElement(this);var isActive=$(parent).hasClass(ClassName.OPEN);if(!isActive&&event.which!==ESCAPE_KEYCODE||isActive&&event.which===ESCAPE_KEYCODE){if(event.which===ESCAPE_KEYCODE){var toggle=$(parent).find(Selector.DATA_TOGGLE)[0];$(toggle).trigger('focus');}$(this).trigger('click');return;}var items=$.makeArray($(Selector.VISIBLE_ITEMS));items=items.filter(function(item){return item.offsetWidth||item.offsetHeight;});if(!items.length){return;}var index=items.indexOf(event.target);if(event.which===ARROW_UP_KEYCODE&&index>0){// up
+ index--;}if(event.which===ARROW_DOWN_KEYCODE&&index<items.length-1){// down
+ index++;}if(index<0){index=0;}items[index].focus();}},{key:'VERSION',get:function get(){return VERSION;}}]);return Dropdown;}();$(document).on(Event.KEYDOWN_DATA_API,Selector.DATA_TOGGLE,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_MENU,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_LISTBOX,Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API,Dropdown._clearMenus).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,Dropdown.prototype.toggle).on(Event.CLICK_DATA_API,Selector.FORM_CHILD,function(e){e.stopPropagation();});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Dropdown._jQueryInterface;$.fn[NAME].Constructor=Dropdown;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Dropdown._jQueryInterface;};return Dropdown;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): modal.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Modal=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='modal';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.modal';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=300;var BACKDROP_TRANSITION_DURATION=150;var ESCAPE_KEYCODE=27;// KeyboardEvent.which value for Escape (Esc) key
+ var Default={backdrop:true,keyboard:true,focus:true,show:true};var DefaultType={backdrop:'(boolean|string)',keyboard:'boolean',focus:'boolean',show:'boolean'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,RESIZE:'resize'+EVENT_KEY,CLICK_DISMISS:'click.dismiss'+EVENT_KEY,KEYDOWN_DISMISS:'keydown.dismiss'+EVENT_KEY,MOUSEUP_DISMISS:'mouseup.dismiss'+EVENT_KEY,MOUSEDOWN_DISMISS:'mousedown.dismiss'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={SCROLLBAR_MEASURER:'modal-scrollbar-measure',BACKDROP:'modal-backdrop',OPEN:'modal-open',FADE:'fade',IN:'in'};var Selector={DIALOG:'.modal-dialog',DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:'.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Modal=function(){function Modal(element,config){_classCallCheck(this,Modal);this._config=this._getConfig(config);this._element=element;this._dialog=$(element).find(Selector.DIALOG)[0];this._backdrop=null;this._isShown=false;this._isBodyOverflowing=false;this._ignoreBackdropClick=false;this._originalBodyPadding=0;this._scrollbarWidth=0;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Modal,[{key:'toggle',// public
+ value:function toggle(relatedTarget){return this._isShown?this.hide():this.show(relatedTarget);}},{key:'show',value:function show(relatedTarget){var _this7=this;var showEvent=$.Event(Event.SHOW,{relatedTarget:relatedTarget});$(this._element).trigger(showEvent);if(this._isShown||showEvent.isDefaultPrevented()){return;}this._isShown=true;this._checkScrollbar();this._setScrollbar();$(document.body).addClass(ClassName.OPEN);this._setEscapeEvent();this._setResizeEvent();$(this._element).on(Event.CLICK_DISMISS,Selector.DATA_DISMISS,$.proxy(this.hide,this));$(this._dialog).on(Event.MOUSEDOWN_DISMISS,function(){$(_this7._element).one(Event.MOUSEUP_DISMISS,function(event){if($(event.target).is(_this7._element)){_this7._ignoreBackdropClick=true;}});});this._showBackdrop($.proxy(this._showElement,this,relatedTarget));}},{key:'hide',value:function hide(event){if(event){event.preventDefault();}var hideEvent=$.Event(Event.HIDE);$(this._element).trigger(hideEvent);if(!this._isShown||hideEvent.isDefaultPrevented()){return;}this._isShown=false;this._setEscapeEvent();this._setResizeEvent();$(document).off(Event.FOCUSIN);$(this._element).removeClass(ClassName.IN);$(this._element).off(Event.CLICK_DISMISS);$(this._dialog).off(Event.MOUSEDOWN_DISMISS);if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)){$(this._element).one(Util.TRANSITION_END,$.proxy(this._hideModal,this)).emulateTransitionEnd(TRANSITION_DURATION);}else{this._hideModal();}}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(window).off(EVENT_KEY);$(document).off(EVENT_KEY);$(this._element).off(EVENT_KEY);$(this._backdrop).off(EVENT_KEY);this._config=null;this._element=null;this._dialog=null;this._backdrop=null;this._isShown=null;this._isBodyOverflowing=null;this._ignoreBackdropClick=null;this._originalBodyPadding=null;this._scrollbarWidth=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_showElement',value:function _showElement(relatedTarget){var _this8=this;var transition=Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE);if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE){// don't move modals dom position
+ document.body.appendChild(this._element);}this._element.style.display='block';this._element.removeAttribute('aria-hidden');this._element.scrollTop=0;if(transition){Util.reflow(this._element);}$(this._element).addClass(ClassName.IN);if(this._config.focus){this._enforceFocus();}var shownEvent=$.Event(Event.SHOWN,{relatedTarget:relatedTarget});var transitionComplete=function transitionComplete(){if(_this8._config.focus){_this8._element.focus();}$(_this8._element).trigger(shownEvent);};if(transition){$(this._dialog).one(Util.TRANSITION_END,transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);}else{transitionComplete();}}},{key:'_enforceFocus',value:function _enforceFocus(){var _this9=this;$(document).off(Event.FOCUSIN)// guard against infinite focus loop
+ .on(Event.FOCUSIN,function(event){if(document!==event.target&&_this9._element!==event.target&&!$(_this9._element).has(event.target).length){_this9._element.focus();}});}},{key:'_setEscapeEvent',value:function _setEscapeEvent(){var _this10=this;if(this._isShown&&this._config.keyboard){$(this._element).on(Event.KEYDOWN_DISMISS,function(event){if(event.which===ESCAPE_KEYCODE){_this10.hide();}});}else if(!this._isShown){$(this._element).off(Event.KEYDOWN_DISMISS);}}},{key:'_setResizeEvent',value:function _setResizeEvent(){if(this._isShown){$(window).on(Event.RESIZE,$.proxy(this._handleUpdate,this));}else{$(window).off(Event.RESIZE);}}},{key:'_hideModal',value:function _hideModal(){var _this11=this;this._element.style.display='none';this._element.setAttribute('aria-hidden','true');this._showBackdrop(function(){$(document.body).removeClass(ClassName.OPEN);_this11._resetAdjustments();_this11._resetScrollbar();$(_this11._element).trigger(Event.HIDDEN);});}},{key:'_removeBackdrop',value:function _removeBackdrop(){if(this._backdrop){$(this._backdrop).remove();this._backdrop=null;}}},{key:'_showBackdrop',value:function _showBackdrop(callback){var _this12=this;var animate=$(this._element).hasClass(ClassName.FADE)?ClassName.FADE:'';if(this._isShown&&this._config.backdrop){var doAnimate=Util.supportsTransitionEnd()&&animate;this._backdrop=document.createElement('div');this._backdrop.className=ClassName.BACKDROP;if(animate){$(this._backdrop).addClass(animate);}$(this._backdrop).appendTo(document.body);$(this._element).on(Event.CLICK_DISMISS,function(event){if(_this12._ignoreBackdropClick){_this12._ignoreBackdropClick=false;return;}if(event.target!==event.currentTarget){return;}if(_this12._config.backdrop==='static'){_this12._element.focus();}else{_this12.hide();}});if(doAnimate){Util.reflow(this._backdrop);}$(this._backdrop).addClass(ClassName.IN);if(!callback){return;}if(!doAnimate){callback();return;}$(this._backdrop).one(Util.TRANSITION_END,callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);}else if(!this._isShown&&this._backdrop){$(this._backdrop).removeClass(ClassName.IN);var callbackRemove=function callbackRemove(){_this12._removeBackdrop();if(callback){callback();}};if(Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)){$(this._backdrop).one(Util.TRANSITION_END,callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);}else{callbackRemove();}}else if(callback){callback();}}// ----------------------------------------------------------------------
+ // the following methods are used to handle overflowing modals
+ // todo (fat): these should probably be refactored out of modal.js
+ // ----------------------------------------------------------------------
+ },{key:'_handleUpdate',value:function _handleUpdate(){this._adjustDialog();}},{key:'_adjustDialog',value:function _adjustDialog(){var isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;if(!this._isBodyOverflowing&&isModalOverflowing){this._element.style.paddingLeft=this._scrollbarWidth+'px';}if(this._isBodyOverflowing&&!isModalOverflowing){this._element.style.paddingRight=this._scrollbarWidth+'px';}}},{key:'_resetAdjustments',value:function _resetAdjustments(){this._element.style.paddingLeft='';this._element.style.paddingRight='';}},{key:'_checkScrollbar',value:function _checkScrollbar(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth;this._scrollbarWidth=this._getScrollbarWidth();}},{key:'_setScrollbar',value:function _setScrollbar(){var bodyPadding=parseInt($(Selector.FIXED_CONTENT).css('padding-right')||0,10);this._originalBodyPadding=document.body.style.paddingRight||'';if(this._isBodyOverflowing){document.body.style.paddingRight=bodyPadding+this._scrollbarWidth+'px';}}},{key:'_resetScrollbar',value:function _resetScrollbar(){document.body.style.paddingRight=this._originalBodyPadding;}},{key:'_getScrollbarWidth',value:function _getScrollbarWidth(){// thx d.walsh
+ var scrollDiv=document.createElement('div');scrollDiv.className=ClassName.SCROLLBAR_MEASURER;document.body.appendChild(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;document.body.removeChild(scrollDiv);return scrollbarWidth;}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config,relatedTarget){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=$.extend({},Modal.Default,$(this).data(),(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config);if(!data){data=new Modal(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config](relatedTarget);}else if(_config.show){data.show(relatedTarget);}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return Modal;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){var _this13=this;var target=undefined;var selector=Util.getSelectorFromElement(this);if(selector){target=$(selector)[0];}var config=$(target).data(DATA_KEY)?'toggle':$.extend({},$(target).data(),$(this).data());if(this.tagName==='A'){event.preventDefault();}var $target=$(target).one(Event.SHOW,function(showEvent){if(showEvent.isDefaultPrevented()){// only register focus restorer if modal will actually get shown
+ return;}$target.one(Event.HIDDEN,function(){if($(_this13).is(':visible')){_this13.focus();}});});Modal._jQueryInterface.call($(target),config,this);});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Modal._jQueryInterface;$.fn[NAME].Constructor=Modal;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Modal._jQueryInterface;};return Modal;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): scrollspy.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var ScrollSpy=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='scrollspy';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.scrollspy';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var Default={offset:10,method:'auto',target:''};var DefaultType={offset:'number',method:'string',target:'(string|element)'};var Event={ACTIVATE:'activate'+EVENT_KEY,SCROLL:'scroll'+EVENT_KEY,LOAD_DATA_API:'load'+EVENT_KEY+DATA_API_KEY};var ClassName={DROPDOWN_ITEM:'dropdown-item',DROPDOWN_MENU:'dropdown-menu',NAV_LINK:'nav-link',NAV:'nav',ACTIVE:'active'};var Selector={DATA_SPY:'[data-spy="scroll"]',ACTIVE:'.active',LIST_ITEM:'.list-item',LI:'li',LI_DROPDOWN:'li.dropdown',NAV_LINKS:'.nav-link',DROPDOWN:'.dropdown',DROPDOWN_ITEMS:'.dropdown-item',DROPDOWN_TOGGLE:'.dropdown-toggle'};var OffsetMethod={OFFSET:'offset',POSITION:'position'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var ScrollSpy=function(){function ScrollSpy(element,config){_classCallCheck(this,ScrollSpy);this._element=element;this._scrollElement=element.tagName==='BODY'?window:element;this._config=this._getConfig(config);this._selector=this._config.target+' '+Selector.NAV_LINKS+','+(this._config.target+' '+Selector.DROPDOWN_ITEMS);this._offsets=[];this._targets=[];this._activeTarget=null;this._scrollHeight=0;$(this._scrollElement).on(Event.SCROLL,$.proxy(this._process,this));this.refresh();this._process();}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(ScrollSpy,[{key:'refresh',// public
+ value:function refresh(){var _this14=this;var autoMethod=this._scrollElement!==this._scrollElement.window?OffsetMethod.POSITION:OffsetMethod.OFFSET;var offsetMethod=this._config.method==='auto'?autoMethod:this._config.method;var offsetBase=offsetMethod===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[];this._targets=[];this._scrollHeight=this._getScrollHeight();var targets=$.makeArray($(this._selector));targets.map(function(element){var target=undefined;var targetSelector=Util.getSelectorFromElement(element);if(targetSelector){target=$(targetSelector)[0];}if(target&&(target.offsetWidth||target.offsetHeight)){// todo (fat): remove sketch reliance on jQuery position/offset
+ return[$(target)[offsetMethod]().top+offsetBase,targetSelector];}return null;}).filter(function(item){return item;}).sort(function(a,b){return a[0]-b[0];}).forEach(function(item){_this14._offsets.push(item[0]);_this14._targets.push(item[1]);});}},{key:'dispose',value:function dispose(){$.removeData(this._element,DATA_KEY);$(this._scrollElement).off(EVENT_KEY);this._element=null;this._scrollElement=null;this._config=null;this._selector=null;this._offsets=null;this._targets=null;this._activeTarget=null;this._scrollHeight=null;}// private
+ },{key:'_getConfig',value:function _getConfig(config){config=$.extend({},Default,config);if(typeof config.target!=='string'){var id=$(config.target).attr('id');if(!id){id=Util.getUID(NAME);$(config.target).attr('id',id);}config.target='#'+id;}Util.typeCheckConfig(NAME,config,DefaultType);return config;}},{key:'_getScrollTop',value:function _getScrollTop(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop;}},{key:'_getScrollHeight',value:function _getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);}},{key:'_process',value:function _process(){var scrollTop=this._getScrollTop()+this._config.offset;var scrollHeight=this._getScrollHeight();var maxScroll=this._config.offset+scrollHeight-this._scrollElement.offsetHeight;if(this._scrollHeight!==scrollHeight){this.refresh();}if(scrollTop>=maxScroll){var target=this._targets[this._targets.length-1];if(this._activeTarget!==target){this._activate(target);}}if(this._activeTarget&&scrollTop<this._offsets[0]){this._activeTarget=null;this._clear();return;}for(var i=this._offsets.length;i--;){var isActiveTarget=this._activeTarget!==this._targets[i]&&scrollTop>=this._offsets[i]&&(this._offsets[i+1]===undefined||scrollTop<this._offsets[i+1]);if(isActiveTarget){this._activate(this._targets[i]);}}}},{key:'_activate',value:function _activate(target){this._activeTarget=target;this._clear();var queries=this._selector.split(',');queries=queries.map(function(selector){return selector+'[data-target="'+target+'"],'+(selector+'[href="'+target+'"]');});var $link=$(queries.join(','));if($link.hasClass(ClassName.DROPDOWN_ITEM)){$link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);$link.addClass(ClassName.ACTIVE);}else{// todo (fat) this is kinda sus...
+ // recursively add actives to tested nav-links
+ $link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);}$(this._scrollElement).trigger(Event.ACTIVATE,{relatedTarget:target});}},{key:'_clear',value:function _clear(){$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'&&config||null;if(!data){data=new ScrollSpy(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}}]);return ScrollSpy;}();$(window).on(Event.LOAD_DATA_API,function(){var scrollSpys=$.makeArray($(Selector.DATA_SPY));for(var i=scrollSpys.length;i--;){var $spy=$(scrollSpys[i]);ScrollSpy._jQueryInterface.call($spy,$spy.data());}});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=ScrollSpy._jQueryInterface;$.fn[NAME].Constructor=ScrollSpy;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return ScrollSpy._jQueryInterface;};return ScrollSpy;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): tab.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Tab=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='tab';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.tab';var EVENT_KEY='.'+DATA_KEY;var DATA_API_KEY='.data-api';var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,CLICK_DATA_API:'click'+EVENT_KEY+DATA_API_KEY};var ClassName={DROPDOWN_MENU:'dropdown-menu',ACTIVE:'active',FADE:'fade',IN:'in'};var Selector={A:'a',LI:'li',DROPDOWN:'.dropdown',UL:'ul:not(.dropdown-menu)',FADE_CHILD:'> .nav-item .fade, > .fade',ACTIVE:'.active',ACTIVE_CHILD:'> .nav-item > .active, > .active',DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:'.dropdown-toggle',DROPDOWN_ACTIVE_CHILD:'> .dropdown-menu .active'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Tab=function(){function Tab(element){_classCallCheck(this,Tab);this._element=element;}/**
+ * ------------------------------------------------------------------------
+ * Data Api implementation
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Tab,[{key:'show',// public
+ value:function show(){var _this15=this;if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&$(this._element).hasClass(ClassName.ACTIVE)){return;}var target=undefined;var previous=undefined;var ulElement=$(this._element).closest(Selector.UL)[0];var selector=Util.getSelectorFromElement(this._element);if(ulElement){previous=$.makeArray($(ulElement).find(Selector.ACTIVE));previous=previous[previous.length-1];}var hideEvent=$.Event(Event.HIDE,{relatedTarget:this._element});var showEvent=$.Event(Event.SHOW,{relatedTarget:previous});if(previous){$(previous).trigger(hideEvent);}$(this._element).trigger(showEvent);if(showEvent.isDefaultPrevented()||hideEvent.isDefaultPrevented()){return;}if(selector){target=$(selector)[0];}this._activate(this._element,ulElement);var complete=function complete(){var hiddenEvent=$.Event(Event.HIDDEN,{relatedTarget:_this15._element});var shownEvent=$.Event(Event.SHOWN,{relatedTarget:previous});$(previous).trigger(hiddenEvent);$(_this15._element).trigger(shownEvent);};if(target){this._activate(target,target.parentNode,complete);}else{complete();}}},{key:'dispose',value:function dispose(){$.removeClass(this._element,DATA_KEY);this._element=null;}// private
+ },{key:'_activate',value:function _activate(element,container,callback){var active=$(container).find(Selector.ACTIVE_CHILD)[0];var isTransitioning=callback&&Util.supportsTransitionEnd()&&(active&&$(active).hasClass(ClassName.FADE)||Boolean($(container).find(Selector.FADE_CHILD)[0]));var complete=$.proxy(this._transitionComplete,this,element,active,isTransitioning,callback);if(active&&isTransitioning){$(active).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}else{complete();}if(active){$(active).removeClass(ClassName.IN);}}},{key:'_transitionComplete',value:function _transitionComplete(element,active,isTransitioning,callback){if(active){$(active).removeClass(ClassName.ACTIVE);var dropdownChild=$(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];if(dropdownChild){$(dropdownChild).removeClass(ClassName.ACTIVE);}active.setAttribute('aria-expanded',false);}$(element).addClass(ClassName.ACTIVE);element.setAttribute('aria-expanded',true);if(isTransitioning){Util.reflow(element);$(element).addClass(ClassName.IN);}else{$(element).removeClass(ClassName.FADE);}if(element.parentNode&&$(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)){var dropdownElement=$(element).closest(Selector.DROPDOWN)[0];if(dropdownElement){$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);}element.setAttribute('aria-expanded',true);}if(callback){callback();}}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var $this=$(this);var data=$this.data(DATA_KEY);if(!data){data=data=new Tab(this);$this.data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}}]);return Tab;}();$(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();Tab._jQueryInterface.call($(this),'show');});/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */$.fn[NAME]=Tab._jQueryInterface;$.fn[NAME].Constructor=Tab;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Tab._jQueryInterface;};return Tab;}(jQuery);/* global Tether *//**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): tooltip.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Tooltip=function($){/**
+ * Check for Tether dependency
+ * Tether - http://github.hubspot.com/tether/
+ */if(window.Tether===undefined){throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)');}/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='tooltip';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.tooltip';var EVENT_KEY='.'+DATA_KEY;var JQUERY_NO_CONFLICT=$.fn[NAME];var TRANSITION_DURATION=150;var CLASS_PREFIX='bs-tether';var Default={animation:true,template:'<div class="tooltip" role="tooltip">'+'<div class="tooltip-arrow"></div>'+'<div class="tooltip-inner"></div></div>',trigger:'hover focus',title:'',delay:0,html:false,selector:false,placement:'top',offset:'0 0',constraints:[]};var DefaultType={animation:'boolean',template:'string',title:'(string|element|function)',trigger:'string',delay:'(number|object)',html:'boolean',selector:'(string|boolean)',placement:'(string|function)',offset:'string',constraints:'array'};var AttachmentMap={TOP:'bottom center',RIGHT:'middle left',BOTTOM:'top center',LEFT:'middle right'};var HoverState={IN:'in',OUT:'out'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,INSERTED:'inserted'+EVENT_KEY,CLICK:'click'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,FOCUSOUT:'focusout'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY};var ClassName={FADE:'fade',IN:'in'};var Selector={TOOLTIP:'.tooltip',TOOLTIP_INNER:'.tooltip-inner'};var TetherClass={element:false,enabled:false};var Trigger={HOVER:'hover',FOCUS:'focus',CLICK:'click',MANUAL:'manual'};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Tooltip=function(){function Tooltip(element,config){_classCallCheck(this,Tooltip);// private
+ this._isEnabled=true;this._timeout=0;this._hoverState='';this._activeTrigger={};this._tether=null;// protected
+ this.element=element;this.config=this._getConfig(config);this.tip=null;this._setListeners();}/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */// getters
+ _createClass(Tooltip,[{key:'enable',// public
+ value:function enable(){this._isEnabled=true;}},{key:'disable',value:function disable(){this._isEnabled=false;}},{key:'toggleEnabled',value:function toggleEnabled(){this._isEnabled=!this._isEnabled;}},{key:'toggle',value:function toggle(event){if(event){var dataKey=this.constructor.DATA_KEY;var context=$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}context._activeTrigger.click=!context._activeTrigger.click;if(context._isWithActiveTrigger()){context._enter(null,context);}else{context._leave(null,context);}}else{if($(this.getTipElement()).hasClass(ClassName.IN)){this._leave(null,this);return;}this._enter(null,this);}}},{key:'dispose',value:function dispose(){clearTimeout(this._timeout);this.cleanupTether();$.removeData(this.element,this.constructor.DATA_KEY);$(this.element).off(this.constructor.EVENT_KEY);if(this.tip){$(this.tip).remove();}this._isEnabled=null;this._timeout=null;this._hoverState=null;this._activeTrigger=null;this._tether=null;this.element=null;this.config=null;this.tip=null;}},{key:'show',value:function show(){var _this16=this;var showEvent=$.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){$(this.element).trigger(showEvent);var isInTheDom=$.contains(this.element.ownerDocument.documentElement,this.element);if(showEvent.isDefaultPrevented()||!isInTheDom){return;}var tip=this.getTipElement();var tipId=Util.getUID(this.constructor.NAME);tip.setAttribute('id',tipId);this.element.setAttribute('aria-describedby',tipId);this.setContent();if(this.config.animation){$(tip).addClass(ClassName.FADE);}var placement=typeof this.config.placement==='function'?this.config.placement.call(this,tip,this.element):this.config.placement;var attachment=this._getAttachment(placement);$(tip).data(this.constructor.DATA_KEY,this).appendTo(document.body);$(this.element).trigger(this.constructor.Event.INSERTED);this._tether=new Tether({attachment:attachment,element:tip,target:this.element,classes:TetherClass,classPrefix:CLASS_PREFIX,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:false});Util.reflow(tip);this._tether.position();$(tip).addClass(ClassName.IN);var complete=function complete(){var prevHoverState=_this16._hoverState;_this16._hoverState=null;$(_this16.element).trigger(_this16.constructor.Event.SHOWN);if(prevHoverState===HoverState.OUT){_this16._leave(null,_this16);}};if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)){$(this.tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);return;}complete();}}},{key:'hide',value:function hide(callback){var _this17=this;var tip=this.getTipElement();var hideEvent=$.Event(this.constructor.Event.HIDE);var complete=function complete(){if(_this17._hoverState!==HoverState.IN&&tip.parentNode){tip.parentNode.removeChild(tip);}_this17.element.removeAttribute('aria-describedby');$(_this17.element).trigger(_this17.constructor.Event.HIDDEN);_this17.cleanupTether();if(callback){callback();}};$(this.element).trigger(hideEvent);if(hideEvent.isDefaultPrevented()){return;}$(tip).removeClass(ClassName.IN);if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)){$(tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION);}else{complete();}this._hoverState='';}// protected
+ },{key:'isWithContent',value:function isWithContent(){return Boolean(this.getTitle());}},{key:'getTipElement',value:function getTipElement(){return this.tip=this.tip||$(this.config.template)[0];}},{key:'setContent',value:function setContent(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TOOLTIP_INNER),this.getTitle());$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);this.cleanupTether();}},{key:'setElementContent',value:function setElementContent($element,content){var html=this.config.html;if((typeof content==='undefined'?'undefined':_typeof(content))==='object'&&(content.nodeType||content.jquery)){// content is a DOM node or a jQuery
+ if(html){if(!$(content).parent().is($element)){$element.empty().append(content);}}else{$element.text($(content).text());}}else{$element[html?'html':'text'](content);}}},{key:'getTitle',value:function getTitle(){var title=this.element.getAttribute('data-original-title');if(!title){title=typeof this.config.title==='function'?this.config.title.call(this.element):this.config.title;}return title;}},{key:'cleanupTether',value:function cleanupTether(){if(this._tether){this._tether.destroy();}}// private
+ },{key:'_getAttachment',value:function _getAttachment(placement){return AttachmentMap[placement.toUpperCase()];}},{key:'_setListeners',value:function _setListeners(){var _this18=this;var triggers=this.config.trigger.split(' ');triggers.forEach(function(trigger){if(trigger==='click'){$(_this18.element).on(_this18.constructor.Event.CLICK,_this18.config.selector,$.proxy(_this18.toggle,_this18));}else if(trigger!==Trigger.MANUAL){var eventIn=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSEENTER:_this18.constructor.Event.FOCUSIN;var eventOut=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSELEAVE:_this18.constructor.Event.FOCUSOUT;$(_this18.element).on(eventIn,_this18.config.selector,$.proxy(_this18._enter,_this18)).on(eventOut,_this18.config.selector,$.proxy(_this18._leave,_this18));}});if(this.config.selector){this.config=$.extend({},this.config,{trigger:'manual',selector:''});}else{this._fixTitle();}}},{key:'_fixTitle',value:function _fixTitle(){var titleType=_typeof(this.element.getAttribute('data-original-title'));if(this.element.getAttribute('title')||titleType!=='string'){this.element.setAttribute('data-original-title',this.element.getAttribute('title')||'');this.element.setAttribute('title','');}}},{key:'_enter',value:function _enter(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}if(event){context._activeTrigger[event.type==='focusin'?Trigger.FOCUS:Trigger.HOVER]=true;}if($(context.getTipElement()).hasClass(ClassName.IN)||context._hoverState===HoverState.IN){context._hoverState=HoverState.IN;return;}clearTimeout(context._timeout);context._hoverState=HoverState.IN;if(!context.config.delay||!context.config.delay.show){context.show();return;}context._timeout=setTimeout(function(){if(context._hoverState===HoverState.IN){context.show();}},context.config.delay.show);}},{key:'_leave',value:function _leave(event,context){var dataKey=this.constructor.DATA_KEY;context=context||$(event.currentTarget).data(dataKey);if(!context){context=new this.constructor(event.currentTarget,this._getDelegateConfig());$(event.currentTarget).data(dataKey,context);}if(event){context._activeTrigger[event.type==='focusout'?Trigger.FOCUS:Trigger.HOVER]=false;}if(context._isWithActiveTrigger()){return;}clearTimeout(context._timeout);context._hoverState=HoverState.OUT;if(!context.config.delay||!context.config.delay.hide){context.hide();return;}context._timeout=setTimeout(function(){if(context._hoverState===HoverState.OUT){context.hide();}},context.config.delay.hide);}},{key:'_isWithActiveTrigger',value:function _isWithActiveTrigger(){for(var trigger in this._activeTrigger){if(this._activeTrigger[trigger]){return true;}}return false;}},{key:'_getConfig',value:function _getConfig(config){config=$.extend({},this.constructor.Default,$(this.element).data(),config);if(config.delay&&typeof config.delay==='number'){config.delay={show:config.delay,hide:config.delay};}Util.typeCheckConfig(NAME,config,this.constructor.DefaultType);return config;}},{key:'_getDelegateConfig',value:function _getDelegateConfig(){var config={};if(this.config){for(var key in this.config){if(this.constructor.Default[key]!==this.config[key]){config[key]=this.config[key];}}}return config;}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'?config:null;if(!data&&/destroy|hide/.test(config)){return;}if(!data){data=new Tooltip(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}},{key:'NAME',get:function get(){return NAME;}},{key:'DATA_KEY',get:function get(){return DATA_KEY;}},{key:'Event',get:function get(){return Event;}},{key:'EVENT_KEY',get:function get(){return EVENT_KEY;}},{key:'DefaultType',get:function get(){return DefaultType;}}]);return Tooltip;}();$.fn[NAME]=Tooltip._jQueryInterface;$.fn[NAME].Constructor=Tooltip;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Tooltip._jQueryInterface;};return Tooltip;}(jQuery);/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v4.0.0-alpha.3): popover.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * --------------------------------------------------------------------------
+ */var Popover=function($){/**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */var NAME='popover';var VERSION='4.0.0-alpha.3';var DATA_KEY='bs.popover';var EVENT_KEY='.'+DATA_KEY;var JQUERY_NO_CONFLICT=$.fn[NAME];var Default=$.extend({},Tooltip.Default,{placement:'right',trigger:'click',content:'',template:'<div class="popover" role="tooltip">'+'<div class="popover-arrow"></div>'+'<h3 class="popover-title"></h3>'+'<div class="popover-content"></div></div>'});var DefaultType=$.extend({},Tooltip.DefaultType,{content:'(string|element|function)'});var ClassName={FADE:'fade',IN:'in'};var Selector={TITLE:'.popover-title',CONTENT:'.popover-content',ARROW:'.popover-arrow'};var Event={HIDE:'hide'+EVENT_KEY,HIDDEN:'hidden'+EVENT_KEY,SHOW:'show'+EVENT_KEY,SHOWN:'shown'+EVENT_KEY,INSERTED:'inserted'+EVENT_KEY,CLICK:'click'+EVENT_KEY,FOCUSIN:'focusin'+EVENT_KEY,FOCUSOUT:'focusout'+EVENT_KEY,MOUSEENTER:'mouseenter'+EVENT_KEY,MOUSELEAVE:'mouseleave'+EVENT_KEY};/**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */var Popover=function(_Tooltip){_inherits(Popover,_Tooltip);function Popover(){_classCallCheck(this,Popover);_get(Object.getPrototypeOf(Popover.prototype),'constructor',this).apply(this,arguments);}/**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */_createClass(Popover,[{key:'isWithContent',// overrides
+ value:function isWithContent(){return this.getTitle()||this._getContent();}},{key:'getTipElement',value:function getTipElement(){return this.tip=this.tip||$(this.config.template)[0];}},{key:'setContent',value:function setContent(){var $tip=$(this.getTipElement());// we use append for html objects to maintain js events
+ this.setElementContent($tip.find(Selector.TITLE),this.getTitle());this.setElementContent($tip.find(Selector.CONTENT),this._getContent());$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);this.cleanupTether();}// private
+ },{key:'_getContent',value:function _getContent(){return this.element.getAttribute('data-content')||(typeof this.config.content==='function'?this.config.content.call(this.element):this.config.content);}// static
+ }],[{key:'_jQueryInterface',value:function _jQueryInterface(config){return this.each(function(){var data=$(this).data(DATA_KEY);var _config=(typeof config==='undefined'?'undefined':_typeof(config))==='object'?config:null;if(!data&&/destroy|hide/.test(config)){return;}if(!data){data=new Popover(this,_config);$(this).data(DATA_KEY,data);}if(typeof config==='string'){if(data[config]===undefined){throw new Error('No method named "'+config+'"');}data[config]();}});}},{key:'VERSION',// getters
+ get:function get(){return VERSION;}},{key:'Default',get:function get(){return Default;}},{key:'NAME',get:function get(){return NAME;}},{key:'DATA_KEY',get:function get(){return DATA_KEY;}},{key:'Event',get:function get(){return Event;}},{key:'EVENT_KEY',get:function get(){return EVENT_KEY;}},{key:'DefaultType',get:function get(){return DefaultType;}}]);return Popover;}(Tooltip);$.fn[NAME]=Popover._jQueryInterface;$.fn[NAME].Constructor=Popover;$.fn[NAME].noConflict=function(){$.fn[NAME]=JQUERY_NO_CONFLICT;return Popover._jQueryInterface;};return Popover;}(jQuery);}(jQuery);
+
+ var Util = function () {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+
+ var transitionEnd = false;
+ var _transitionEndSelector = '';
+
+ var TransitionEndEvent = {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd otransitionend',
+ transition: 'transitionend'
+ };
+
+ function transitionEndTest() {
+ if (window.QUnit) {
+ return false;
+ }
+
+ var el = document.createElement('bmd');
+
+ for (var name in TransitionEndEvent) {
+ if (el.style[name] !== undefined) {
+ return TransitionEndEvent[name]; // { end: TransitionEndEvent[name] }
+ }
+ }
+
+ return false;
+ }
+
+ function setTransitionEndSupport() {
+ transitionEnd = transitionEndTest();
+
+ // generate a concatenated transition end event selector
+ for (var name in TransitionEndEvent) {
+ _transitionEndSelector += ' ' + TransitionEndEvent[name];
+ }
+ }
+
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+ var Util = {
+ transitionEndSupported: function transitionEndSupported() {
+ return transitionEnd;
+ },
+ transitionEndSelector: function transitionEndSelector() {
+ return _transitionEndSelector;
+ },
+ isChar: function isChar(event) {
+ if (typeof event.which === 'undefined') {
+ return true;
+ } else if (typeof event.which === 'number' && event.which > 0) {
+ return !event.ctrlKey && !event.metaKey && !event.altKey && event.which !== 8 // backspace
+ && event.which !== 9 // tab
+ && event.which !== 13 // enter
+ && event.which !== 16 // shift
+ && event.which !== 17 // ctrl
+ && event.which !== 20 // caps lock
+ && event.which !== 27 // escape
+ ;
+ }
+ return false;
+ },
+ assert: function assert($element, invalidTest, message) {
+ if (invalidTest) {
+ if (!$element === undefined) {
+ $element.css('border', '1px solid red');
+ }
+ console.error(message, $element); // eslint-disable-line no-console
+ throw message;
+ }
+ },
+ describe: function describe($element) {
+ if ($element === undefined) {
+ return 'undefined';
+ } else if ($element.length === 0) {
+ return '(no matching elements)';
+ }
+ return $element[0].outerHTML.split('>')[0] + '>';
+ }
+ };
+
+ setTransitionEndSupport();
+ return Util;
+ }(jQuery);
+
+ var Base = function ($) {
+
+ var ClassName = {
+ BMD_FORM_GROUP: 'bmd-form-group',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused'
+ };
+
+ var Selector = {
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP
+ };
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Base = function () {
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function Base($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, Base);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+
+ // set properties for use in the constructor initialization
+ for (var key in properties) {
+ this[key] = properties[key];
+ }
+ }
+
+ createClass(Base, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ this.$element.data(dataKey, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'addFormGroupFocus',
+ value: function addFormGroupFocus() {
+ if (!this.$element.prop('disabled')) {
+ this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED);
+ }
+ }
+ }, {
+ key: 'removeFormGroupFocus',
+ value: function removeFormGroupFocus() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED);
+ }
+ }, {
+ key: 'removeIsFilled',
+ value: function removeIsFilled() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FILLED);
+ }
+ }, {
+ key: 'addIsFilled',
+ value: function addIsFilled() {
+ this.$bmdFormGroup.addClass(ClassName.IS_FILLED);
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findMdbFormGroup',
+ value: function findMdbFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var mfg = this.$element.closest(Selector.BMD_FORM_GROUP);
+ if (mfg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return mfg;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return Base;
+ }();
+
+ return Base;
+ }(jQuery);
+
+ var BaseInput = function ($) {
+
+ var ClassName = {
+ FORM_GROUP: 'form-group',
+ BMD_FORM_GROUP: 'bmd-form-group',
+ BMD_LABEL: 'bmd-label',
+ BMD_LABEL_STATIC: 'bmd-label-static',
+ BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',
+ BMD_LABEL_FLOATING: 'bmd-label-floating',
+ HAS_DANGER: 'has-danger',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused',
+ INPUT_GROUP: 'input-group'
+ };
+
+ var Selector = {
+ FORM_GROUP: '.' + ClassName.FORM_GROUP,
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP,
+ BMD_LABEL_WILDCARD: 'label[class^=\'' + ClassName.BMD_LABEL + '\'], label[class*=\' ' + ClassName.BMD_LABEL + '\']' // match any label variant if specified
+ };
+
+ var Default = {
+ validate: false,
+ formGroup: {
+ required: false
+ },
+ bmdFormGroup: {
+ template: '<span class=\'' + ClassName.BMD_FORM_GROUP + '\'></span>',
+ create: true, // create a wrapper if form-group not found
+ required: true // not recommended to turn this off, only used for inline components
+ },
+ label: {
+ required: false,
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ selectors: ['.form-control-label', // in the case of horizontal or inline forms, this will be marked
+ '> label' // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.
+ ],
+ className: ClassName.BMD_LABEL_STATIC
+ },
+ requiredClasses: [],
+ invalidComponentMatches: [],
+ convertInputSizeVariations: true
+ };
+
+ var FormControlSizeMarkers = {
+ 'form-control-lg': 'bmd-form-group-lg',
+ 'form-control-sm': 'bmd-form-group-sm'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseInput = function (_Base) {
+ inherits(BaseInput, _Base);
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function BaseInput($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseInput);
+
+ // Enforce no overlap between components to prevent side effects
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseInput).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this._rejectInvalidComponentMatches();
+
+ // Enforce expected structure (if any)
+ _this.rejectWithoutRequiredStructure();
+
+ // Enforce required classes for a consistent rendering
+ _this._rejectWithoutRequiredClasses();
+
+ // Resolve the form-group first, it will be used for bmd-form-group if possible
+ // note: different components have different rules
+ _this.$formGroup = _this.findFormGroup(_this.config.formGroup.required);
+
+ // Will add bmd-form-group to form-group or create an bmd-form-group
+ // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid
+ // rendering changes once added.
+ _this.$bmdFormGroup = _this.resolveMdbFormGroup();
+
+ // Resolve and mark the bmdLabel if necessary as defined by the config
+ _this.$bmdLabel = _this.resolveMdbLabel();
+
+ // Signal to the bmd-form-group that a form-control-* variation is being used
+ _this.resolveMdbFormGroupSizing();
+
+ _this.addFocusListener();
+ _this.addChangeListener();
+
+ if (_this.$element.val() != '') {
+ _this.addIsFilled();
+ }
+ return _this;
+ }
+
+ createClass(BaseInput, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseInput.prototype), 'dispose', this).call(this, dataKey);
+ this.$bmdFormGroup = null;
+ this.$formGroup = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // implement
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$element.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.on('keydown paste', function (event) {
+ if (Util.isChar(event)) {
+ _this3.addIsFilled();
+ }
+ }).on('keyup change', function () {
+
+ // make sure empty is added back when there is a programmatic value change.
+ // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
+ if (_this3.isEmpty()) {
+ _this3.removeIsFilled();
+ } else {
+ _this3.addIsFilled();
+ }
+
+ if (_this3.config.validate) {
+ // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/
+ // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
+ // the form-group on change.
+ //
+ // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
+ // BUT, I've left it here for backwards compatibility.
+ var isValid = typeof _this3.$element[0].checkValidity === 'undefined' || _this3.$element[0].checkValidity();
+ if (isValid) {
+ _this3.removeHasDanger();
+ } else {
+ _this3.addHasDanger();
+ }
+ }
+ });
+ }
+ }, {
+ key: 'addHasDanger',
+ value: function addHasDanger() {
+ this.$bmdFormGroup.addClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'removeHasDanger',
+ value: function removeHasDanger() {
+ this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'isEmpty',
+ value: function isEmpty() {
+ return this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '';
+ }
+
+ // Will add bmd-form-group to form-group or create a bmd-form-group if necessary
+
+ }, {
+ key: 'resolveMdbFormGroup',
+ value: function resolveMdbFormGroup() {
+ var mfg = this.findMdbFormGroup(false);
+ if (mfg === undefined || mfg.length === 0) {
+ if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {
+ // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).
+ // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.
+
+ // this may be an input-group, wrap that instead
+ if (this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)) {
+ this.outerElement().parent().wrap(this.config.bmdFormGroup.template);
+ } else {
+ this.outerElement().wrap(this.config.bmdFormGroup.template);
+ }
+ } else {
+ // a form-group does exist, add our marker class to it
+ this.$formGroup.addClass(ClassName.BMD_FORM_GROUP);
+
+ // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable
+ // A form-group does exist, so add an bmd-form-group wrapping it's internal contents
+ //fg.wrapInner(this.config.bmdFormGroup.template)
+ }
+
+ mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required);
+ }
+
+ return mfg;
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+ // Subclasses such as file inputs may have different structures
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ return this.$element;
+ }
+
+ // Will add bmd-label to bmd-form-group if not already specified
+
+ }, {
+ key: 'resolveMdbLabel',
+ value: function resolveMdbLabel() {
+
+ var label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);
+ if (label === undefined || label.length === 0) {
+ // we need to find it based on the configured selectors
+ label = this.findMdbLabel(this.config.label.required);
+
+ if (label === undefined || label.length === 0) {
+ // no label found, and finder did not require one
+ } else {
+ // a candidate label was found, add the configured default class name
+ label.addClass(this.config.label.className);
+ }
+ }
+
+ return label;
+ }
+
+ // Find bmd-label variant based on the config selectors
+
+ }, {
+ key: 'findMdbLabel',
+ value: function findMdbLabel() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var label = null;
+
+ // use the specified selector order
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = this.config.label.selectors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var selector = _step.value;
+
+ if ($.isFunction(selector)) {
+ label = selector(this);
+ } else {
+ label = this.$bmdFormGroup.find(selector);
+ }
+
+ if (label !== undefined && label.length > 0) {
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ if (label.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_LABEL_WILDCARD + ' within form-group for ' + Util.describe(this.$element));
+ }
+ return label;
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findFormGroup',
+ value: function findFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var fg = this.$element.closest(Selector.FORM_GROUP);
+ if (fg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return fg;
+ }
+
+ // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on
+ // a found form-control-* size
+
+ }, {
+ key: 'resolveMdbFormGroupSizing',
+ value: function resolveMdbFormGroupSizing() {
+ if (!this.config.convertInputSizeVariations) {
+ return;
+ }
+
+ // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
+ for (var inputSize in FormControlSizeMarkers) {
+ if (this.$element.hasClass(inputSize)) {
+ //this.$element.removeClass(inputSize)
+ this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize]);
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_rejectInvalidComponentMatches',
+ value: function _rejectInvalidComponentMatches() {
+ var _iteratorNormalCompletion2 = true;
+ var _didIteratorError2 = false;
+ var _iteratorError2 = undefined;
+
+ try {
+ for (var _iterator2 = this.config.invalidComponentMatches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
+ var otherComponent = _step2.value;
+
+ otherComponent.rejectMatch(this.constructor.name, this.$element);
+ }
+ } catch (err) {
+ _didIteratorError2 = true;
+ _iteratorError2 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
+ _iterator2.return();
+ }
+ } finally {
+ if (_didIteratorError2) {
+ throw _iteratorError2;
+ }
+ }
+ }
+ }
+ }, {
+ key: '_rejectWithoutRequiredClasses',
+ value: function _rejectWithoutRequiredClasses() {
+ var _iteratorNormalCompletion3 = true;
+ var _didIteratorError3 = false;
+ var _iteratorError3 = undefined;
+
+ try {
+ for (var _iterator3 = this.config.requiredClasses[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
+ var requiredClass = _step3.value;
+
+
+ var found = false;
+ // allow one of several classes to be passed in x||y
+ if (requiredClass.indexOf('||') !== -1) {
+ var oneOf = requiredClass.split('||');
+ var _iteratorNormalCompletion4 = true;
+ var _didIteratorError4 = false;
+ var _iteratorError4 = undefined;
+
+ try {
+ for (var _iterator4 = oneOf[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
+ var _requiredClass = _step4.value;
+
+ if (this.$element.hasClass(_requiredClass)) {
+ found = true;
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError4 = true;
+ _iteratorError4 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion4 && _iterator4.return) {
+ _iterator4.return();
+ }
+ } finally {
+ if (_didIteratorError4) {
+ throw _iteratorError4;
+ }
+ }
+ }
+ } else if (this.$element.hasClass(requiredClass)) {
+ found = true;
+ }
+
+ // error if not found
+ if (!found) {
+ $.error(this.constructor.name + ' element: ' + Util.describe(this.$element) + ' requires class: ' + requiredClass);
+ }
+ }
+ } catch (err) {
+ _didIteratorError3 = true;
+ _iteratorError3 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion3 && _iterator3.return) {
+ _iterator3.return();
+ }
+ } finally {
+ if (_didIteratorError3) {
+ throw _iteratorError3;
+ }
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseInput;
+ }(Base);
+
+ return BaseInput;
+ }(jQuery);
+
+ var BaseSelection = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ label: {
+ required: false
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ //selectors: [
+ // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked
+ // `> label` // usual case for text inputs
+ //]
+ }
+ };
+
+ var Selector = {
+ LABEL: 'label'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseSelection = function (_BaseInput) {
+ inherits(BaseSelection, _BaseInput);
+
+ function BaseSelection($element, config, properties) {
+ classCallCheck(this, BaseSelection);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseSelection).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // properties = {inputType: checkbox, outerClass: checkbox-inline}
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+
+ _this.decorateMarkup();
+ return _this;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ createClass(BaseSelection, [{
+ key: 'decorateMarkup',
+ value: function decorateMarkup() {
+ this.$element.after(this.config.template);
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ // .checkbox|switch|radio > label > input[type=checkbox|radio]
+ // label.checkbox-inline > input[type=checkbox|radio]
+ // .${this.outerClass} > label > input[type=${this.inputType}]
+ return this.$element.parent().closest('.' + this.outerClass);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+ Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' outer element should have class ' + this.outerClass + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ // checkboxes didn't appear to bubble to the document, so we'll bind these directly
+ this.$element.closest(Selector.LABEL).hover(function () {
+ _this2.addFormGroupFocus();
+ }, function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.change(function () {
+ _this3.$element.blur();
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }]);
+ return BaseSelection;
+ }(BaseInput);
+
+ return BaseSelection;
+ }(jQuery);
+
+ var Checkbox = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkbox';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'checkbox-decorator\'><span class=\'check\'></span></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Checkbox = function (_BaseSelection) {
+ inherits(Checkbox, _BaseSelection);
+
+ function Checkbox($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Checkbox);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Checkbox).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},
+ Default, config), properties));
+ }
+
+ createClass(Checkbox, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Checkbox.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.checkbox > label > input[type=checkbox]'
+ if ($element.attr('type') === 'checkbox') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'checkbox\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Checkbox($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Checkbox;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Checkbox._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Checkbox;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Checkbox._jQueryInterface;
+ };
+
+ return Checkbox;
+ }(jQuery);
+
+ var CheckboxInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkboxInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CheckboxInline = function (_Checkbox) {
+ inherits(CheckboxInline, _Checkbox);
+
+ function CheckboxInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'checkbox-inline' } : arguments[2];
+ classCallCheck(this, CheckboxInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(CheckboxInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(CheckboxInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CheckboxInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ //static matches($element) {
+ // // '.checkbox-inline > input[type=checkbox]'
+ // if ($element.attr('type') === 'checkbox') {
+ // return true
+ // }
+ // return false
+ //}
+ //
+ //static rejectMatch(component, $element) {
+ // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)
+ //}
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CheckboxInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CheckboxInline;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CheckboxInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CheckboxInline._jQueryInterface;
+ };
+
+ return CheckboxInline;
+ }(jQuery);
+
+ var CollapseInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'collapseInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Selector = {
+ ANY_INPUT: 'input, select, textarea'
+ };
+
+ var ClassName = {
+ IN: 'in',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed',
+ WIDTH: 'width'
+ };
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CollapseInline = function (_Base) {
+ inherits(CollapseInline, _Base);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field">
+ function CollapseInline($element, config) {
+ classCallCheck(this, CollapseInline);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(CollapseInline).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$bmdFormGroup = _this.findMdbFormGroup(true);
+
+ var collapseSelector = $element.data('target');
+ _this.$collapse = $(collapseSelector);
+
+ Util.assert($element, _this.$collapse.length === 0, 'Cannot find collapse target for ' + Util.describe($element));
+ Util.assert(_this.$collapse, !_this.$collapse.hasClass(ClassName.COLLAPSE), Util.describe(_this.$collapse) + ' is expected to have the \'' + ClassName.COLLAPSE + '\' class. It is being targeted by ' + Util.describe($element));
+
+ // find the first input for focusing
+ var $inputs = _this.$bmdFormGroup.find(Selector.ANY_INPUT);
+ if ($inputs.length > 0) {
+ _this.$input = $inputs.first();
+ }
+
+ // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten
+ if (!_this.$collapse.hasClass(ClassName.WIDTH)) {
+ _this.$collapse.addClass(ClassName.WIDTH);
+ }
+
+ if (_this.$input) {
+ // add a listener to set focus
+ _this.$collapse.on('shown.bs.collapse', function () {
+ _this.$input.focus();
+ });
+
+ // add a listener to collapse field
+ _this.$input.blur(function () {
+ _this.$collapse.collapse('hide');
+ });
+ }
+ return _this;
+ }
+
+ createClass(CollapseInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CollapseInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$bmdFormGroup = null;
+ this.$collapse = null;
+ this.$input = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CollapseInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CollapseInline;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CollapseInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CollapseInline._jQueryInterface;
+ };
+
+ return CollapseInline;
+ }(jQuery);
+
+ var File = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'file';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ var ClassName = {
+ FILE: NAME,
+ IS_FILE: 'is-file'
+ };
+
+ var Selector = {
+ FILENAMES: 'input.form-control[readonly]'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var File = function (_BaseInput) {
+ inherits(File, _BaseInput);
+
+ function File($element, config) {
+ classCallCheck(this, File);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(File).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},
+ Default, config)));
+
+ _this.$bmdFormGroup.addClass(ClassName.IS_FILE);
+ return _this;
+ }
+
+ createClass(File, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(File.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }, {
+ key: 'outerElement',
+
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Demarcation element (e.g. first child of a form-group)
+ value: function outerElement() {
+ // label.file > input[type=file]
+ return this.$element.parent().closest('.' + ClassName.FILE);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // label.file > input[type=file]
+ Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should have class .' + ClassName.FILE + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$bmdFormGroup.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ // set the fileinput readonly field with the name of the file
+ this.$element.on('change', function () {
+ var value = '';
+ $.each(_this3.$element.files, function (i, file) {
+ value += file.name + ' , ';
+ });
+ value = value.substring(0, value.length - 2);
+ if (value) {
+ _this3.addIsFilled();
+ } else {
+ _this3.removeIsFilled();
+ }
+ _this3.$bmdFormGroup.find(Selector.FILENAMES).val(value);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'file') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'file\'.');
+ }
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new File($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return File;
+ }(BaseInput);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = File._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = File;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return File._jQueryInterface;
+ };
+
+ return File;
+ }(jQuery);
+
+ var Radio = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radio';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-radio-outer-circle\'></span><span class=\'bmd-radio-inner-circle\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Radio = function (_BaseSelection) {
+ inherits(Radio, _BaseSelection);
+
+ function Radio($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Radio);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Radio).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Switch, Text]},
+ Default, config), properties));
+ }
+
+ createClass(Radio, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Radio.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.radio > label > input[type=radio]'
+ if ($element.attr('type') === 'radio') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'radio\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ //decorateMarkup() {
+ // this.$element.after(this.config.template)
+ //}
+
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Radio($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Radio;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Radio._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Radio;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Radio._jQueryInterface;
+ };
+
+ return Radio;
+ }(jQuery);
+
+ var RadioInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radioInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var RadioInline = function (_Radio) {
+ inherits(RadioInline, _Radio);
+
+ function RadioInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'radio', outerClass: 'radio-inline' } : arguments[2];
+ classCallCheck(this, RadioInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(RadioInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(RadioInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(RadioInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new RadioInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return RadioInline;
+ }(Radio);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = RadioInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = RadioInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return RadioInline._jQueryInterface;
+ };
+
+ return RadioInline;
+ }(jQuery);
+
+ var BaseFormControl = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ requiredClasses: ['form-control']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseFormControl = function (_BaseInput) {
+ inherits(BaseFormControl, _BaseInput);
+
+ function BaseFormControl($element, config) {
+ classCallCheck(this, BaseFormControl);
+
+ // Initially mark as empty
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseFormControl).call(this, $element, $.extend(true, Default, config)));
+
+ if (_this.isEmpty()) {
+ _this.removeIsFilled();
+ }
+ return _this;
+ }
+
+ return BaseFormControl;
+ }(BaseInput);
+
+ return BaseFormControl;
+ }(jQuery);
+
+ var Select = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'select';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ requiredClasses: ['form-control||custom-select']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Select = function (_BaseFormControl) {
+ inherits(Select, _BaseFormControl);
+
+ function Select($element, config) {
+ classCallCheck(this, Select);
+
+ // floating labels will cover the options, so trigger them to be above (if used)
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Select).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},
+ Default, config)));
+
+ _this.addIsFilled();
+ return _this;
+ }
+
+ createClass(Select, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Select.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'select') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <select>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Select($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Select;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Select._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Select;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Select._jQueryInterface;
+ };
+
+ return Select;
+ }(jQuery);
+
+ var Switch = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'switch';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-switch-track\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Switch = function (_Checkbox) {
+ inherits(Switch, _Checkbox);
+
+ function Switch($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'switch' } : arguments[2];
+ classCallCheck(this, Switch);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Switch).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // selector: '.switch > label > input[type=checkbox]'
+ }
+
+ createClass(Switch, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Switch.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Switch($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Switch;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Switch._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Switch;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Switch._jQueryInterface;
+ };
+
+ return Switch;
+ }(jQuery);
+
+ var Text = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'text';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Text = function (_BaseFormControl) {
+ inherits(Text, _BaseFormControl);
+
+ function Text($element, config) {
+ classCallCheck(this, Text);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Text).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},
+ Default, config)));
+ }
+
+ createClass(Text, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Text.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'text') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'text\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Text($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Text;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Text._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Text;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Text._jQueryInterface;
+ };
+
+ return Text;
+ }(jQuery);
+
+ var Textarea = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'textarea';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Textarea = function (_BaseFormControl) {
+ inherits(Textarea, _BaseFormControl);
+
+ function Textarea($element, config) {
+ classCallCheck(this, Textarea);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Textarea).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},
+ Default, config)));
+ }
+
+ createClass(Textarea, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Textarea.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'textarea') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <textarea>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Textarea($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Textarea;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Textarea._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Textarea;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Textarea._jQueryInterface;
+ };
+
+ return Textarea;
+ }(jQuery);
+
+ var BaseLayout = function ($) {
+
+ var ClassName = {
+ CANVAS: 'bmd-layout-canvas',
+ CONTAINER: 'bmd-layout-container',
+ BACKDROP: 'bmd-layout-backdrop'
+ };
+
+ var Selector = {
+ CANVAS: '.' + ClassName.CANVAS,
+ CONTAINER: '.' + ClassName.CONTAINER,
+ BACKDROP: '.' + ClassName.BACKDROP
+ };
+
+ var Default = {
+ canvas: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.CANVAS + '"></div>'
+ },
+ backdrop: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.BACKDROP + '"></div>'
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseLayout = function (_Base) {
+ inherits(BaseLayout, _Base);
+
+ function BaseLayout($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseLayout);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseLayout).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this.$container = _this.findContainer(true);
+ _this.$backdrop = _this.resolveBackdrop();
+ _this.resolveCanvas();
+ return _this;
+ }
+
+ createClass(BaseLayout, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseLayout.prototype), 'dispose', this).call(this, dataKey);
+ this.$container = null;
+ this.$backdrop = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Will wrap container in bmd-layout-canvas if necessary
+
+ }, {
+ key: 'resolveCanvas',
+ value: function resolveCanvas() {
+ var bd = this.findCanvas(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.canvas.create) {
+ this.$container.wrap(this.config.canvas.template);
+ }
+
+ bd = this.findCanvas(this.config.canvas.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findCanvas',
+ value: function findCanvas() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var canvas = context.closest(Selector.CANVAS);
+ if (canvas.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CANVAS + ' for ' + Util.describe(context));
+ }
+ return canvas;
+ }
+
+ // Will add bmd-layout-backdrop to bmd-layout-container if necessary
+
+ }, {
+ key: 'resolveBackdrop',
+ value: function resolveBackdrop() {
+ var bd = this.findBackdrop(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.backdrop.create) {
+ this.$container.append(this.config.backdrop.template);
+ }
+
+ bd = this.findBackdrop(this.config.backdrop.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findBackdrop',
+ value: function findBackdrop() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var backdrop = context.find('> ' + Selector.BACKDROP);
+ if (backdrop.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BACKDROP + ' for ' + Util.describe(context));
+ }
+ return backdrop;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findContainer',
+ value: function findContainer() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$element : arguments[1];
+
+ var container = context.closest(Selector.CONTAINER);
+ if (container.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CONTAINER + ' for ' + Util.describe(context));
+ }
+ return container;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseLayout;
+ }(Base);
+
+ return BaseLayout;
+ }(jQuery);
+
+ var Drawer = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'drawer';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Keycodes = {
+ ESCAPE: 27
+ //ENTER: 13,
+ //SPACE: 32
+ };
+
+ var ClassName = {
+ IN: 'in',
+ DRAWER_IN: 'bmd-drawer-in',
+ DRAWER_OUT: 'bmd-drawer-out',
+ DRAWER: 'bmd-layout-drawer',
+ CONTAINER: 'bmd-layout-container'
+ };
+
+ var Default = {
+ focusSelector: 'a, button, input'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Drawer = function (_BaseLayout) {
+ inherits(Drawer, _BaseLayout);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="drawer" data-target="#my-side-nav-drawer" aria-expanded="false" aria-controls="my-side-nav-drawer">
+ function Drawer($element, config) {
+ classCallCheck(this, Drawer);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Drawer).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$toggles = $('[data-toggle="drawer"][href="#' + _this.$element[0].id + '"], [data-toggle="drawer"][data-target="#' + _this.$element[0].id + '"]');
+
+ _this._addAria();
+
+ // click or escape on the backdrop closes the drawer
+ _this.$backdrop.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ }).click(function () {
+ _this.hide();
+ });
+
+ // escape on the drawer closes it
+ _this.$element.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ });
+
+ // any toggle button clicks
+ _this.$toggles.click(function () {
+ _this.toggle();
+ });
+ return _this;
+ }
+
+ createClass(Drawer, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Drawer.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$toggles = null;
+ }
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this._isOpen()) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ }
+ }, {
+ key: 'show',
+ value: function show() {
+ if (this._isForcedClosed() || this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', true);
+ this.$element.attr('aria-expanded', true);
+ this.$element.attr('aria-hidden', false);
+
+ // focus on the first focusable item
+ var $focusOn = this.$element.find(this.config.focusSelector);
+ if ($focusOn.length > 0) {
+ $focusOn.first().focus();
+ }
+
+ this.$container.addClass(ClassName.DRAWER_IN);
+ // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.
+ this.$backdrop.addClass(ClassName.IN);
+ }
+ }, {
+ key: 'hide',
+ value: function hide() {
+ if (!this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', false);
+ this.$element.attr('aria-expanded', false);
+ this.$element.attr('aria-hidden', true);
+
+ this.$container.removeClass(ClassName.DRAWER_IN);
+ this.$backdrop.removeClass(ClassName.IN);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_isOpen',
+ value: function _isOpen() {
+ return this.$container.hasClass(ClassName.DRAWER_IN);
+ }
+ }, {
+ key: '_isForcedClosed',
+ value: function _isForcedClosed() {
+ return this.$container.hasClass(ClassName.DRAWER_OUT);
+ }
+ }, {
+ key: '_addAria',
+ value: function _addAria() {
+ var isOpen = this._isOpen();
+ this.$element.attr('aria-expanded', isOpen);
+ this.$element.attr('aria-hidden', isOpen);
+
+ if (this.$toggles.length) {
+ this.$toggles.attr('aria-expanded', isOpen);
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Drawer($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Drawer;
+ }(BaseLayout);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Drawer._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Drawer;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Drawer._jQueryInterface;
+ };
+
+ return Drawer;
+ }(jQuery);
+
+ var Ripples = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'ripples';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var ClassName = {
+ CONTAINER: 'ripple-container',
+ DECORATOR: 'ripple-decorator'
+ };
+
+ var Selector = {
+ CONTAINER: '.' + ClassName.CONTAINER,
+ DECORATOR: '.' + ClassName.DECORATOR //,
+ };
+
+ var Default = {
+ container: {
+ template: '<div class=\'' + ClassName.CONTAINER + '\'></div>'
+ },
+ decorator: {
+ template: '<div class=\'' + ClassName.DECORATOR + '\'></div>'
+ },
+ trigger: {
+ start: 'mousedown touchstart',
+ end: 'mouseup mouseleave touchend'
+ },
+ touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,
+ duration: 500
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Ripples = function () {
+ function Ripples($element, config) {
+ var _this = this;
+
+ classCallCheck(this, Ripples);
+
+ this.$element = $element;
+
+ //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console
+ this.config = $.extend(true, {}, Default, config);
+
+ // attach initial listener
+ this.$element.on(this.config.trigger.start, function (event) {
+ _this._onStartRipple(event);
+ });
+ }
+
+ createClass(Ripples, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.$container = null;
+ this.$decorator = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_onStartRipple',
+ value: function _onStartRipple(event) {
+ var _this2 = this;
+
+ // Verify if the user is just touching on a device and return if so
+ if (this._isTouch() && event.type === 'mousedown') {
+ return;
+ }
+
+ // Find or create the ripple container element
+ this._findOrCreateContainer();
+
+ // Get relY and relX positions of the container element
+ var relY = this._getRelY(event);
+ var relX = this._getRelX(event);
+
+ // If relY and/or relX are false, return the event
+ if (!relY && !relX) {
+ return;
+ }
+
+ // set the location and color each time (even if element is cached)
+ this.$decorator.css({
+ left: relX,
+ top: relY,
+ 'background-color': this._getRipplesColor()
+ });
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+ this._forceStyleApplication();
+
+ // Turn on the ripple animation
+ this.rippleOn();
+
+ // Call the rippleEnd function when the transition 'on' ends
+ setTimeout(function () {
+ _this2.rippleEnd();
+ }, this.config.duration);
+
+ // Detect when the user leaves the element to cleanup if not already done?
+ this.$element.on(this.config.trigger.end, function () {
+ if (_this2.$decorator) {
+ // guard against race condition/mouse attack
+ _this2.$decorator.data('mousedown', 'off');
+
+ if (_this2.$decorator.data('animating') === 'off') {
+ _this2.rippleOut();
+ }
+ }
+ });
+ }
+ }, {
+ key: '_findOrCreateContainer',
+ value: function _findOrCreateContainer() {
+ if (!this.$container || !this.$container.length > 0) {
+ this.$element.append(this.config.container.template);
+ this.$container = this.$element.find(Selector.CONTAINER);
+ }
+
+ // always add the rippleElement, it is always removed
+ this.$container.append(this.config.decorator.template);
+ this.$decorator = this.$container.find(Selector.DECORATOR);
+ }
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+
+ }, {
+ key: '_forceStyleApplication',
+ value: function _forceStyleApplication() {
+ return window.getComputedStyle(this.$decorator[0]).opacity;
+ }
+
+ /**
+ * Get the relX
+ */
+
+ }, {
+ key: '_getRelX',
+ value: function _getRelX(event) {
+ var wrapperOffset = this.$container.offset();
+
+ var result = null;
+ if (!this._isTouch()) {
+ // Get the mouse position relative to the ripple wrapper
+ result = event.pageX - wrapperOffset.left;
+ } else {
+ // Make sure the user is using only one finger and then get the touch
+ // position relative to the ripple wrapper
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageX - wrapperOffset.left;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the relY
+ */
+
+ }, {
+ key: '_getRelY',
+ value: function _getRelY(event) {
+ var containerOffset = this.$container.offset();
+ var result = null;
+
+ if (!this._isTouch()) {
+ /**
+ * Get the mouse position relative to the ripple wrapper
+ */
+ result = event.pageY - containerOffset.top;
+ } else {
+ /**
+ * Make sure the user is using only one finger and then get the touch
+ * position relative to the ripple wrapper
+ */
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageY - containerOffset.top;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the ripple color
+ */
+
+ }, {
+ key: '_getRipplesColor',
+ value: function _getRipplesColor() {
+ var color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color;
+ return color;
+ }
+
+ /**
+ * Verify if the client is using a mobile device
+ */
+
+ }, {
+ key: '_isTouch',
+ value: function _isTouch() {
+ return this.config.touchUserAgentRegex.test(navigator.userAgent);
+ }
+
+ /**
+ * End the animation of the ripple
+ */
+
+ }, {
+ key: 'rippleEnd',
+ value: function rippleEnd() {
+ if (this.$decorator) {
+ // guard against race condition/mouse attack
+ this.$decorator.data('animating', 'off');
+
+ if (this.$decorator.data('mousedown') === 'off') {
+ this.rippleOut(this.$decorator);
+ }
+ }
+ }
+
+ /**
+ * Turn off the ripple effect
+ */
+
+ }, {
+ key: 'rippleOut',
+ value: function rippleOut() {
+ var _this3 = this;
+
+ this.$decorator.off();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.addClass('ripple-out');
+ } else {
+ this.$decorator.animate({ opacity: 0 }, 100, function () {
+ _this3.$decorator.trigger('transitionend');
+ });
+ }
+
+ this.$decorator.on(Util.transitionEndSelector(), function () {
+ if (_this3.$decorator) {
+ _this3.$decorator.remove();
+ _this3.$decorator = null;
+ }
+ });
+ }
+
+ /**
+ * Turn on the ripple effect
+ */
+
+ }, {
+ key: 'rippleOn',
+ value: function rippleOn() {
+ var _this4 = this;
+
+ var size = this._getNewSize();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.css({
+ '-ms-transform': 'scale(' + size + ')',
+ '-moz-transform': 'scale(' + size + ')',
+ '-webkit-transform': 'scale(' + size + ')',
+ transform: 'scale(' + size + ')'
+ }).addClass('ripple-on').data('animating', 'on').data('mousedown', 'on');
+ } else {
+ this.$decorator.animate({
+ width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ opacity: 0.2
+ }, this.config.duration, function () {
+ _this4.$decorator.trigger('transitionend');
+ });
+ }
+ }
+
+ /**
+ * Get the new size based on the element height/width and the ripple width
+ */
+
+ }, {
+ key: '_getNewSize',
+ value: function _getNewSize() {
+ return Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth() * 2.5;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Ripples($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Ripples;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Ripples._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Ripples;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Ripples._jQueryInterface;
+ };
+
+ return Ripples;
+ }(jQuery);
+
+ var Autofill = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'autofill';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Autofill = function (_Base) {
+ inherits(Autofill, _Base);
+
+ function Autofill($element, config) {
+ classCallCheck(this, Autofill);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Autofill).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this._watchLoading();
+ _this._attachEventHandlers();
+ return _this;
+ }
+
+ createClass(Autofill, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Autofill.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_watchLoading',
+ value: function _watchLoading() {
+ var _this2 = this;
+
+ // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
+ setTimeout(function () {
+ clearInterval(_this2._onLoading);
+ }, 10000);
+ }
+
+ // This part of code will detect autofill when the page is loading (username and password inputs for example)
+
+ }, {
+ key: '_onLoading',
+ value: function _onLoading() {
+ setInterval(function () {
+ $('input[type!=checkbox]').each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() && $element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }
+ }, {
+ key: '_attachEventHandlers',
+ value: function _attachEventHandlers() {
+ // Listen on inputs of the focused form
+ // (because user can select from the autofill dropdown only when the input has focus)
+ var focused = null;
+ $(document).on('focus', 'input', function (event) {
+ var $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]');
+ focused = setInterval(function () {
+ $inputs.each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }).on('blur', '.form-group input', function () {
+ clearInterval(focused);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Autofill($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Autofill;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Autofill._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Autofill;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Autofill._jQueryInterface;
+ };
+
+ return Autofill;
+ }(jQuery);
+
+ /**
+ * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally
+ * used in Bootstrap Material Design. You may pass overrides to the configurations
+ * which will be passed into each component, or you may omit use of this class and
+ * configure each component separately.
+ */
+ var BootstrapMaterialDesign = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'bootstrapMaterialDesign';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = NAME; // retain this full name since it is long enough not to conflict
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ /**
+ * Global configuration:
+ * The global configuration hash will be mixed in to each components' config.
+ * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component
+ *
+ *
+ * Component configuration:
+ * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector
+ * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })
+ *
+ * @see each individual component for more configuration settings.
+ */
+ var Default = {
+ global: {
+ validate: false,
+ label: {
+ className: 'bmd-label-static' // default style of label to be used if not specified in the html markup
+ }
+ },
+ autofill: {
+ selector: 'body'
+ },
+ checkbox: {
+ selector: '.checkbox > label > input[type=checkbox]'
+ },
+ checkboxInline: {
+ selector: 'label.checkbox-inline > input[type=checkbox]'
+ },
+ collapseInline: {
+ selector: '.bmd-collapse-inline [data-toggle="collapse"]'
+ },
+ drawer: {
+ selector: '.bmd-layout-drawer'
+ },
+ file: {
+ selector: 'input[type=file]'
+ },
+ radio: {
+ selector: '.radio > label > input[type=radio]'
+ },
+ radioInline: {
+ selector: 'label.radio-inline > input[type=radio]'
+ },
+ ripples: {
+ //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only
+ selector: ['.btn:not(.btn-link):not(.ripple-none)', '.card-image:not(.ripple-none)', '.navbar a:not(.ripple-none)', '.dropdown-menu a:not(.ripple-none)', '.nav-tabs a:not(.ripple-none)', '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)', '.ripple' // generic marker class to add ripple to elements
+ ]
+ },
+ select: {
+ selector: ['select']
+ },
+ switch: {
+ selector: '.switch > label > input[type=checkbox]'
+ },
+ text: {
+ // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.
+ selector: ['input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])']
+ },
+ textarea: {
+ selector: ['textarea']
+ },
+ arrive: true,
+ // create an ordered component list for instantiation
+ instantiation: ['ripples', 'checkbox', 'checkboxInline', 'collapseInline', 'drawer',
+ //'file',
+ 'radio', 'radioInline', 'switch', 'text', 'textarea', 'select', 'autofill']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BootstrapMaterialDesign = function () {
+ function BootstrapMaterialDesign($element, config) {
+ var _this = this;
+
+ classCallCheck(this, BootstrapMaterialDesign);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+ var $document = $(document);
+
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ var _loop = function _loop() {
+ var component = _step.value;
+
+
+ // the component's config fragment is passed in directly, allowing users to override
+ var componentConfig = _this.config[component];
+
+ // check to make sure component config is enabled (not `false`)
+ if (componentConfig) {
+ (function () {
+
+ // assemble the selector as it may be an array
+ var selector = _this._resolveSelector(componentConfig);
+
+ // mix in global options
+ componentConfig = $.extend(true, {}, _this.config.global, componentConfig);
+
+ // create the jquery fn name e.g. 'bmdText' for 'text'
+ var componentName = '' + (component.charAt(0).toUpperCase() + component.slice(1));
+ var jqueryFn = 'bmd' + componentName;
+
+ try {
+ // safely instantiate component on selector elements with config, report errors and move on.
+ // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console
+ $(selector)[jqueryFn](componentConfig);
+
+ // add to arrive if present and enabled
+ if (document.arrive && _this.config.arrive) {
+ $document.arrive(selector, function () {
+ // eslint-disable-line no-loop-func
+ $(this)[jqueryFn](componentConfig);
+ });
+ }
+ } catch (e) {
+ var message = 'Failed to instantiate component: $(\'' + selector + '\')[' + jqueryFn + '](' + componentConfig + ')';
+ console.error(message, e, '\nSelected elements: ', $(selector)); // eslint-disable-line no-console
+ throw e;
+ }
+ })();
+ }
+ };
+
+ for (var _iterator = this.config.instantiation[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ _loop();
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+ }
+
+ createClass(BootstrapMaterialDesign, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_resolveSelector',
+ value: function _resolveSelector(componentConfig) {
+ var selector = componentConfig.selector;
+ if (Array.isArray(selector)) {
+ selector = selector.join(', ');
+ }
+
+ return selector;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new BootstrapMaterialDesign($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return BootstrapMaterialDesign;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return BootstrapMaterialDesign._jQueryInterface;
+ };
+
+ return BootstrapMaterialDesign;
+ }(jQuery);
+
+}());
+//# sourceMappingURL=bootstrap-material-design.iife.js.map
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map
new file mode 100644
index 0000000..161fcb6
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.iife.js.map
@@ -0,0 +1 @@
+{"version":3,"file":null,"sources":["../node_modules/core-js/modules/_global.js","../node_modules/core-js/modules/_has.js","../node_modules/core-js/modules/_fails.js","../node_modules/core-js/modules/_descriptors.js","../node_modules/core-js/modules/_core.js","../node_modules/core-js/modules/_is-object.js","../node_modules/core-js/modules/_an-object.js","../node_modules/core-js/modules/_dom-create.js","../node_modules/core-js/modules/_ie8-dom-define.js","../node_modules/core-js/modules/_to-primitive.js","../node_modules/core-js/modules/_object-dp.js","../node_modules/core-js/modules/_property-desc.js","../node_modules/core-js/modules/_hide.js","../node_modules/core-js/modules/_uid.js","../node_modules/core-js/modules/_redefine.js","../node_modules/core-js/modules/_a-function.js","../node_modules/core-js/modules/_ctx.js","../node_modules/core-js/modules/_export.js","../node_modules/core-js/modules/_meta.js","../node_modules/core-js/modules/_shared.js","../node_modules/core-js/modules/_wks.js","../node_modules/core-js/modules/_set-to-string-tag.js","../node_modules/core-js/modules/_wks-ext.js","../node_modules/core-js/modules/_library.js","../node_modules/core-js/modules/_wks-define.js","../node_modules/core-js/modules/_cof.js","../node_modules/core-js/modules/_iobject.js","../node_modules/core-js/modules/_defined.js","../node_modules/core-js/modules/_to-iobject.js","../node_modules/core-js/modules/_to-integer.js","../node_modules/core-js/modules/_to-length.js","../node_modules/core-js/modules/_to-index.js","../node_modules/core-js/modules/_array-includes.js","../node_modules/core-js/modules/_shared-key.js","../node_modules/core-js/modules/_object-keys-internal.js","../node_modules/core-js/modules/_enum-bug-keys.js","../node_modules/core-js/modules/_object-keys.js","../node_modules/core-js/modules/_keyof.js","../node_modules/core-js/modules/_object-gops.js","../node_modules/core-js/modules/_object-pie.js","../node_modules/core-js/modules/_enum-keys.js","../node_modules/core-js/modules/_is-array.js","../node_modules/core-js/modules/_object-dps.js","../node_modules/core-js/modules/_html.js","../node_modules/core-js/modules/_object-create.js","../node_modules/core-js/modules/_object-gopn.js","../node_modules/core-js/modules/_object-gopn-ext.js","../node_modules/core-js/modules/_object-gopd.js","../node_modules/core-js/modules/es6.symbol.js","../node_modules/core-js/modules/es6.object.create.js","../node_modules/core-js/modules/es6.object.define-property.js","../node_modules/core-js/modules/es6.object.define-properties.js","../node_modules/core-js/modules/_object-sap.js","../node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","../node_modules/core-js/modules/_to-object.js","../node_modules/core-js/modules/_object-gpo.js","../node_modules/core-js/modules/es6.object.get-prototype-of.js","../node_modules/core-js/modules/es6.object.keys.js","../node_modules/core-js/modules/es6.object.get-own-property-names.js","../node_modules/core-js/modules/es6.object.freeze.js","../node_modules/core-js/modules/es6.object.seal.js","../node_modules/core-js/modules/es6.object.prevent-extensions.js","../node_modules/core-js/modules/es6.object.is-frozen.js","../node_modules/core-js/modules/es6.object.is-sealed.js","../node_modules/core-js/modules/es6.object.is-extensible.js","../node_modules/core-js/modules/_object-assign.js","../node_modules/core-js/modules/es6.object.assign.js","../node_modules/core-js/modules/_same-value.js","../node_modules/core-js/modules/es6.object.is.js","../node_modules/core-js/modules/_set-proto.js","../node_modules/core-js/modules/es6.object.set-prototype-of.js","../node_modules/core-js/modules/_classof.js","../node_modules/core-js/modules/es6.object.to-string.js","../node_modules/core-js/modules/_invoke.js","../node_modules/core-js/modules/_bind.js","../node_modules/core-js/modules/es6.function.bind.js","../node_modules/core-js/modules/es6.function.name.js","../node_modules/core-js/modules/es6.function.has-instance.js","../node_modules/core-js/modules/_string-ws.js","../node_modules/core-js/modules/_string-trim.js","../node_modules/core-js/modules/_parse-int.js","../node_modules/core-js/modules/es6.parse-int.js","../node_modules/core-js/modules/_parse-float.js","../node_modules/core-js/modules/es6.parse-float.js","../node_modules/core-js/modules/_inherit-if-required.js","../node_modules/core-js/modules/es6.number.constructor.js","../node_modules/core-js/modules/_a-number-value.js","../node_modules/core-js/modules/_string-repeat.js","../node_modules/core-js/modules/es6.number.to-fixed.js","../node_modules/core-js/modules/es6.number.to-precision.js","../node_modules/core-js/modules/es6.number.epsilon.js","../node_modules/core-js/modules/es6.number.is-finite.js","../node_modules/core-js/modules/_is-integer.js","../node_modules/core-js/modules/es6.number.is-integer.js","../node_modules/core-js/modules/es6.number.is-nan.js","../node_modules/core-js/modules/es6.number.is-safe-integer.js","../node_modules/core-js/modules/es6.number.max-safe-integer.js","../node_modules/core-js/modules/es6.number.min-safe-integer.js","../node_modules/core-js/modules/es6.number.parse-float.js","../node_modules/core-js/modules/es6.number.parse-int.js","../node_modules/core-js/modules/_math-log1p.js","../node_modules/core-js/modules/es6.math.acosh.js","../node_modules/core-js/modules/es6.math.asinh.js","../node_modules/core-js/modules/es6.math.atanh.js","../node_modules/core-js/modules/_math-sign.js","../node_modules/core-js/modules/es6.math.cbrt.js","../node_modules/core-js/modules/es6.math.clz32.js","../node_modules/core-js/modules/es6.math.cosh.js","../node_modules/core-js/modules/_math-expm1.js","../node_modules/core-js/modules/es6.math.expm1.js","../node_modules/core-js/modules/es6.math.fround.js","../node_modules/core-js/modules/es6.math.hypot.js","../node_modules/core-js/modules/es6.math.imul.js","../node_modules/core-js/modules/es6.math.log10.js","../node_modules/core-js/modules/es6.math.log1p.js","../node_modules/core-js/modules/es6.math.log2.js","../node_modules/core-js/modules/es6.math.sign.js","../node_modules/core-js/modules/es6.math.sinh.js","../node_modules/core-js/modules/es6.math.tanh.js","../node_modules/core-js/modules/es6.math.trunc.js","../node_modules/core-js/modules/es6.string.from-code-point.js","../node_modules/core-js/modules/es6.string.raw.js","../node_modules/core-js/modules/es6.string.trim.js","../node_modules/core-js/modules/_string-at.js","../node_modules/core-js/modules/_iterators.js","../node_modules/core-js/modules/_iter-create.js","../node_modules/core-js/modules/_iter-define.js","../node_modules/core-js/modules/es6.string.iterator.js","../node_modules/core-js/modules/es6.string.code-point-at.js","../node_modules/core-js/modules/_is-regexp.js","../node_modules/core-js/modules/_string-context.js","../node_modules/core-js/modules/_fails-is-regexp.js","../node_modules/core-js/modules/es6.string.ends-with.js","../node_modules/core-js/modules/es6.string.includes.js","../node_modules/core-js/modules/es6.string.repeat.js","../node_modules/core-js/modules/es6.string.starts-with.js","../node_modules/core-js/modules/_string-html.js","../node_modules/core-js/modules/es6.string.anchor.js","../node_modules/core-js/modules/es6.string.big.js","../node_modules/core-js/modules/es6.string.blink.js","../node_modules/core-js/modules/es6.string.bold.js","../node_modules/core-js/modules/es6.string.fixed.js","../node_modules/core-js/modules/es6.string.fontcolor.js","../node_modules/core-js/modules/es6.string.fontsize.js","../node_modules/core-js/modules/es6.string.italics.js","../node_modules/core-js/modules/es6.string.link.js","../node_modules/core-js/modules/es6.string.small.js","../node_modules/core-js/modules/es6.string.strike.js","../node_modules/core-js/modules/es6.string.sub.js","../node_modules/core-js/modules/es6.string.sup.js","../node_modules/core-js/modules/es6.date.now.js","../node_modules/core-js/modules/es6.date.to-json.js","../node_modules/core-js/modules/es6.date.to-iso-string.js","../node_modules/core-js/modules/es6.date.to-string.js","../node_modules/core-js/modules/_date-to-primitive.js","../node_modules/core-js/modules/es6.date.to-primitive.js","../node_modules/core-js/modules/es6.array.is-array.js","../node_modules/core-js/modules/_iter-call.js","../node_modules/core-js/modules/_is-array-iter.js","../node_modules/core-js/modules/_create-property.js","../node_modules/core-js/modules/core.get-iterator-method.js","../node_modules/core-js/modules/_iter-detect.js","../node_modules/core-js/modules/es6.array.from.js","../node_modules/core-js/modules/es6.array.of.js","../node_modules/core-js/modules/_strict-method.js","../node_modules/core-js/modules/es6.array.join.js","../node_modules/core-js/modules/es6.array.slice.js","../node_modules/core-js/modules/es6.array.sort.js","../node_modules/core-js/modules/_array-species-constructor.js","../node_modules/core-js/modules/_array-species-create.js","../node_modules/core-js/modules/_array-methods.js","../node_modules/core-js/modules/es6.array.for-each.js","../node_modules/core-js/modules/es6.array.map.js","../node_modules/core-js/modules/es6.array.filter.js","../node_modules/core-js/modules/es6.array.some.js","../node_modules/core-js/modules/es6.array.every.js","../node_modules/core-js/modules/_array-reduce.js","../node_modules/core-js/modules/es6.array.reduce.js","../node_modules/core-js/modules/es6.array.reduce-right.js","../node_modules/core-js/modules/es6.array.index-of.js","../node_modules/core-js/modules/es6.array.last-index-of.js","../node_modules/core-js/modules/_array-copy-within.js","../node_modules/core-js/modules/_add-to-unscopables.js","../node_modules/core-js/modules/es6.array.copy-within.js","../node_modules/core-js/modules/_array-fill.js","../node_modules/core-js/modules/es6.array.fill.js","../node_modules/core-js/modules/es6.array.find.js","../node_modules/core-js/modules/es6.array.find-index.js","../node_modules/core-js/modules/_set-species.js","../node_modules/core-js/modules/es6.array.species.js","../node_modules/core-js/modules/_iter-step.js","../node_modules/core-js/modules/es6.array.iterator.js","../node_modules/core-js/modules/_flags.js","../node_modules/core-js/modules/es6.regexp.constructor.js","../node_modules/core-js/modules/es6.regexp.flags.js","../node_modules/core-js/modules/es6.regexp.to-string.js","../node_modules/core-js/modules/_fix-re-wks.js","../node_modules/core-js/modules/es6.regexp.match.js","../node_modules/core-js/modules/es6.regexp.replace.js","../node_modules/core-js/modules/es6.regexp.search.js","../node_modules/core-js/modules/es6.regexp.split.js","../node_modules/core-js/modules/_an-instance.js","../node_modules/core-js/modules/_for-of.js","../node_modules/core-js/modules/_species-constructor.js","../node_modules/core-js/modules/_task.js","../node_modules/core-js/modules/_microtask.js","../node_modules/core-js/modules/_redefine-all.js","../node_modules/core-js/modules/es6.promise.js","../node_modules/core-js/modules/_collection-strong.js","../node_modules/core-js/modules/_collection.js","../node_modules/core-js/modules/es6.map.js","../node_modules/core-js/modules/es6.set.js","../node_modules/core-js/modules/_collection-weak.js","../node_modules/core-js/modules/es6.weak-map.js","../node_modules/core-js/modules/es6.weak-set.js","../node_modules/core-js/modules/_typed.js","../node_modules/core-js/modules/_typed-buffer.js","../node_modules/core-js/modules/es6.typed.array-buffer.js","../node_modules/core-js/modules/es6.typed.data-view.js","../node_modules/core-js/modules/_typed-array.js","../node_modules/core-js/modules/es6.typed.int8-array.js","../node_modules/core-js/modules/es6.typed.uint8-array.js","../node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","../node_modules/core-js/modules/es6.typed.int16-array.js","../node_modules/core-js/modules/es6.typed.uint16-array.js","../node_modules/core-js/modules/es6.typed.int32-array.js","../node_modules/core-js/modules/es6.typed.uint32-array.js","../node_modules/core-js/modules/es6.typed.float32-array.js","../node_modules/core-js/modules/es6.typed.float64-array.js","../node_modules/core-js/modules/es6.reflect.apply.js","../node_modules/core-js/modules/es6.reflect.construct.js","../node_modules/core-js/modules/es6.reflect.define-property.js","../node_modules/core-js/modules/es6.reflect.delete-property.js","../node_modules/core-js/modules/es6.reflect.enumerate.js","../node_modules/core-js/modules/es6.reflect.get.js","../node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","../node_modules/core-js/modules/es6.reflect.get-prototype-of.js","../node_modules/core-js/modules/es6.reflect.has.js","../node_modules/core-js/modules/es6.reflect.is-extensible.js","../node_modules/core-js/modules/_own-keys.js","../node_modules/core-js/modules/es6.reflect.own-keys.js","../node_modules/core-js/modules/es6.reflect.prevent-extensions.js","../node_modules/core-js/modules/es6.reflect.set.js","../node_modules/core-js/modules/es6.reflect.set-prototype-of.js","../node_modules/core-js/modules/es7.array.includes.js","../node_modules/core-js/modules/es7.string.at.js","../node_modules/core-js/modules/_string-pad.js","../node_modules/core-js/modules/es7.string.pad-start.js","../node_modules/core-js/modules/es7.string.pad-end.js","../node_modules/core-js/modules/es7.string.trim-left.js","../node_modules/core-js/modules/es7.string.trim-right.js","../node_modules/core-js/modules/es7.string.match-all.js","../node_modules/core-js/modules/es7.symbol.async-iterator.js","../node_modules/core-js/modules/es7.symbol.observable.js","../node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","../node_modules/core-js/modules/_object-to-array.js","../node_modules/core-js/modules/es7.object.values.js","../node_modules/core-js/modules/es7.object.entries.js","../node_modules/core-js/modules/_object-forced-pam.js","../node_modules/core-js/modules/es7.object.define-getter.js","../node_modules/core-js/modules/es7.object.define-setter.js","../node_modules/core-js/modules/es7.object.lookup-getter.js","../node_modules/core-js/modules/es7.object.lookup-setter.js","../node_modules/core-js/modules/_array-from-iterable.js","../node_modules/core-js/modules/_collection-to-json.js","../node_modules/core-js/modules/es7.map.to-json.js","../node_modules/core-js/modules/es7.set.to-json.js","../node_modules/core-js/modules/es7.system.global.js","../node_modules/core-js/modules/es7.error.is-error.js","../node_modules/core-js/modules/es7.math.iaddh.js","../node_modules/core-js/modules/es7.math.isubh.js","../node_modules/core-js/modules/es7.math.imulh.js","../node_modules/core-js/modules/es7.math.umulh.js","../node_modules/core-js/modules/_metadata.js","../node_modules/core-js/modules/es7.reflect.define-metadata.js","../node_modules/core-js/modules/es7.reflect.delete-metadata.js","../node_modules/core-js/modules/es7.reflect.get-metadata.js","../node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","../node_modules/core-js/modules/es7.reflect.get-own-metadata.js","../node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","../node_modules/core-js/modules/es7.reflect.has-metadata.js","../node_modules/core-js/modules/es7.reflect.has-own-metadata.js","../node_modules/core-js/modules/es7.reflect.metadata.js","../node_modules/core-js/modules/es7.asap.js","../node_modules/core-js/modules/es7.observable.js","../node_modules/core-js/modules/_path.js","../node_modules/core-js/modules/_partial.js","../node_modules/core-js/modules/web.timers.js","../node_modules/core-js/modules/web.immediate.js","../node_modules/core-js/modules/web.dom.iterable.js","../node_modules/core-js/shim.js","../node_modules/regenerator-runtime/runtime.js","../node_modules/core-js/modules/_replacer.js","../node_modules/core-js/modules/core.regexp.escape.js","../node_modules/core-js/fn/regexp/escape.js","../node_modules/babel-polyfill/lib/index.js","../node_modules/bootstrap/dist/js/bootstrap.js","../js/util.js","../js/base.js","../js/baseInput.js","../js/baseSelection.js","../js/checkbox.js","../js/checkboxInline.js","../js/collapseInline.js","../js/file.js","../js/radio.js","../js/radioInline.js","../js/baseFormControl.js","../js/select.js","../js/switch.js","../js/text.js","../js/textarea.js","../js/baseLayout.js","../js/drawer.js","../js/ripples.js","../js/autofill.js","../js/bootstrapMaterialDesign.js"],"sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","exports.f = require('./_wks');","module.exports = false;","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = {};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '&quot;') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};","require('./_set-species')('Array');","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');","module.exports = require('./_global');","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var hasOwn = Object.prototype.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided, then outerFn.prototype instanceof Generator.\n var generator = Object.create((outerFn || Generator).prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype;\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] = GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `value instanceof AwaitArgument` to determine if the yielded value is\n // meant to be awaited. Some may consider the name of this method too\n // cutesy, but they are curmudgeons.\n runtime.awrap = function(arg) {\n return new AwaitArgument(arg);\n };\n\n function AwaitArgument(arg) {\n this.arg = arg;\n }\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value instanceof AwaitArgument) {\n return Promise.resolve(value.arg).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof process === \"object\" && process.domain) {\n invoke = process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n if (method === \"return\" ||\n (method === \"throw\" && delegate.iterator[method] === undefined)) {\n // A return or throw (when the delegate iterator has no throw\n // method) always terminates the yield* loop.\n context.delegate = null;\n\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n var returnMethod = delegate.iterator[\"return\"];\n if (returnMethod) {\n var record = tryCatch(returnMethod, delegate.iterator, arg);\n if (record.type === \"throw\") {\n // If the return method threw an exception, let that\n // exception prevail over the original return or throw.\n method = \"throw\";\n arg = record.arg;\n continue;\n }\n }\n\n if (method === \"return\") {\n // Continue with the outer return, now that the delegate\n // iterator has been terminated.\n continue;\n }\n }\n\n var record = tryCatch(\n delegate.iterator[method],\n delegate.iterator,\n arg\n );\n\n if (record.type === \"throw\") {\n context.delegate = null;\n\n // Like returning generator.throw(uncaught), but without the\n // overhead of an extra function call.\n method = \"throw\";\n arg = record.arg;\n continue;\n }\n\n // Delegate generator ran and handled its own exceptions so\n // regardless of what the method was, we continue as if it is\n // \"next\" with an undefined arg.\n method = \"next\";\n arg = undefined;\n\n var info = record.arg;\n if (info.done) {\n context[delegate.resultName] = info.value;\n context.next = delegate.nextLoc;\n } else {\n state = GenStateSuspendedYield;\n return info;\n }\n\n context.delegate = null;\n }\n\n if (method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = arg;\n\n } else if (method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw arg;\n }\n\n if (context.dispatchException(arg)) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n method = \"next\";\n arg = undefined;\n }\n\n } else if (method === \"return\") {\n context.abrupt(\"return\", arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n var info = {\n value: record.arg,\n done: context.done\n };\n\n if (record.arg === ContinueSentinel) {\n if (context.delegate && method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n arg = undefined;\n }\n } else {\n return info;\n }\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(arg) call above.\n method = \"throw\";\n arg = record.arg;\n }\n }\n };\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n return !!caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.next = finallyEntry.finallyLoc;\n } else {\n this.complete(record);\n }\n\n return ContinueSentinel;\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = record.arg;\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\n/* eslint max-len: 0 */\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\n// Should be removed in the next major release:\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});","/*!\n * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com)\n * Copyright 2011-2016 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\nif (typeof jQuery === 'undefined') {\n throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n var version = $.fn.jquery.split(' ')[0].split('.')\n if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] >= 4)) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n}(jQuery);\n\n\n+function ($) {\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n'use strict';\n\nvar _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar Util = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n var transition = false;\n\n var MAX_UID = 1000000;\n\n var TransitionEndEvent = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n\n // shoutout AngusCroll (https://goo.gl/pxwQGp)\n function toType(obj) {\n return ({}).toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase();\n }\n\n function isElement(obj) {\n return (obj[0] || obj).nodeType;\n }\n\n function getSpecialTransitionEndEvent() {\n return {\n bindType: transition.end,\n delegateType: transition.end,\n handle: function handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\n }\n return undefined;\n }\n };\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false;\n }\n\n var el = document.createElement('bootstrap');\n\n for (var _name in TransitionEndEvent) {\n if (el.style[_name] !== undefined) {\n return { end: TransitionEndEvent[_name] };\n }\n }\n\n return false;\n }\n\n function transitionEndEmulator(duration) {\n var _this = this;\n\n var called = false;\n\n $(this).one(Util.TRANSITION_END, function () {\n called = true;\n });\n\n setTimeout(function () {\n if (!called) {\n Util.triggerTransitionEnd(_this);\n }\n }, duration);\n\n return this;\n }\n\n function setTransitionEndSupport() {\n transition = transitionEndTest();\n\n $.fn.emulateTransitionEnd = transitionEndEmulator;\n\n if (Util.supportsTransitionEnd()) {\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n var Util = {\n\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID: function getUID(prefix) {\n do {\n /* eslint-disable no-bitwise */\n prefix += ~ ~(Math.random() * MAX_UID); // \"~~\" acts like a faster Math.floor() here\n /* eslint-enable no-bitwise */\n } while (document.getElementById(prefix));\n return prefix;\n },\n\n getSelectorFromElement: function getSelectorFromElement(element) {\n var selector = element.getAttribute('data-target');\n\n if (!selector) {\n selector = element.getAttribute('href') || '';\n selector = /^#[a-z]/i.test(selector) ? selector : null;\n }\n\n return selector;\n },\n\n reflow: function reflow(element) {\n new Function('bs', 'return bs')(element.offsetHeight);\n },\n\n triggerTransitionEnd: function triggerTransitionEnd(element) {\n $(element).trigger(transition.end);\n },\n\n supportsTransitionEnd: function supportsTransitionEnd() {\n return Boolean(transition);\n },\n\n typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\n for (var property in configTypes) {\n if (configTypes.hasOwnProperty(property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = undefined;\n\n if (value && isElement(value)) {\n valueType = 'element';\n } else {\n valueType = toType(value);\n }\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(componentName.toUpperCase() + ': ' + ('Option \"' + property + '\" provided type \"' + valueType + '\" ') + ('but expected type \"' + expectedTypes + '\".'));\n }\n }\n }\n }\n };\n\n setTransitionEndSupport();\n\n return Util;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Alert = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'alert';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.alert';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 150;\n\n var Selector = {\n DISMISS: '[data-dismiss=\"alert\"]'\n };\n\n var Event = {\n CLOSE: 'close' + EVENT_KEY,\n CLOSED: 'closed' + EVENT_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n ALERT: 'alert',\n FADE: 'fade',\n IN: 'in'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Alert = (function () {\n function Alert(element) {\n _classCallCheck(this, Alert);\n\n this._element = element;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Alert, [{\n key: 'close',\n\n // public\n\n value: function close(element) {\n element = element || this._element;\n\n var rootElement = this._getRootElement(element);\n var customEvent = this._triggerCloseEvent(rootElement);\n\n if (customEvent.isDefaultPrevented()) {\n return;\n }\n\n this._removeElement(rootElement);\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n }\n\n // private\n\n }, {\n key: '_getRootElement',\n value: function _getRootElement(element) {\n var selector = Util.getSelectorFromElement(element);\n var parent = false;\n\n if (selector) {\n parent = $(selector)[0];\n }\n\n if (!parent) {\n parent = $(element).closest('.' + ClassName.ALERT)[0];\n }\n\n return parent;\n }\n }, {\n key: '_triggerCloseEvent',\n value: function _triggerCloseEvent(element) {\n var closeEvent = $.Event(Event.CLOSE);\n\n $(element).trigger(closeEvent);\n return closeEvent;\n }\n }, {\n key: '_removeElement',\n value: function _removeElement(element) {\n $(element).removeClass(ClassName.IN);\n\n if (!Util.supportsTransitionEnd() || !$(element).hasClass(ClassName.FADE)) {\n this._destroyElement(element);\n return;\n }\n\n $(element).one(Util.TRANSITION_END, $.proxy(this._destroyElement, this, element)).emulateTransitionEnd(TRANSITION_DURATION);\n }\n }, {\n key: '_destroyElement',\n value: function _destroyElement(element) {\n $(element).detach().trigger(Event.CLOSED).remove();\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var $element = $(this);\n var data = $element.data(DATA_KEY);\n\n if (!data) {\n data = new Alert(this);\n $element.data(DATA_KEY, data);\n }\n\n if (config === 'close') {\n data[config](this);\n }\n });\n }\n }, {\n key: '_handleDismiss',\n value: function _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault();\n }\n\n alertInstance.close(this);\n };\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Alert;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Alert._jQueryInterface;\n $.fn[NAME].Constructor = Alert;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Alert._jQueryInterface;\n };\n\n return Alert;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Button = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'button';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.button';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n\n var ClassName = {\n ACTIVE: 'active',\n BUTTON: 'btn',\n FOCUS: 'focus'\n };\n\n var Selector = {\n DATA_TOGGLE_CARROT: '[data-toggle^=\"button\"]',\n DATA_TOGGLE: '[data-toggle=\"buttons\"]',\n INPUT: 'input',\n ACTIVE: '.active',\n BUTTON: '.btn'\n };\n\n var Event = {\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,\n FOCUS_BLUR_DATA_API: 'focus' + EVENT_KEY + DATA_API_KEY + ' ' + ('blur' + EVENT_KEY + DATA_API_KEY)\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Button = (function () {\n function Button(element) {\n _classCallCheck(this, Button);\n\n this._element = element;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Button, [{\n key: 'toggle',\n\n // public\n\n value: function toggle() {\n var triggerChangeEvent = true;\n var rootElement = $(this._element).closest(Selector.DATA_TOGGLE)[0];\n\n if (rootElement) {\n var input = $(this._element).find(Selector.INPUT)[0];\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && $(this._element).hasClass(ClassName.ACTIVE)) {\n triggerChangeEvent = false;\n } else {\n var activeElement = $(rootElement).find(Selector.ACTIVE)[0];\n\n if (activeElement) {\n $(activeElement).removeClass(ClassName.ACTIVE);\n }\n }\n }\n\n if (triggerChangeEvent) {\n input.checked = !$(this._element).hasClass(ClassName.ACTIVE);\n $(this._element).trigger('change');\n }\n\n input.focus();\n }\n } else {\n this._element.setAttribute('aria-pressed', !$(this._element).hasClass(ClassName.ACTIVE));\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(ClassName.ACTIVE);\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n this._element = null;\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n if (!data) {\n data = new Button(this);\n $(this).data(DATA_KEY, data);\n }\n\n if (config === 'toggle') {\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Button;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {\n event.preventDefault();\n\n var button = event.target;\n\n if (!$(button).hasClass(ClassName.BUTTON)) {\n button = $(button).closest(Selector.BUTTON);\n }\n\n Button._jQueryInterface.call($(button), 'toggle');\n }).on(Event.FOCUS_BLUR_DATA_API, Selector.DATA_TOGGLE_CARROT, function (event) {\n var button = $(event.target).closest(Selector.BUTTON)[0];\n $(button).toggleClass(ClassName.FOCUS, /^focus(in)?$/.test(event.type));\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Button._jQueryInterface;\n $.fn[NAME].Constructor = Button;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Button._jQueryInterface;\n };\n\n return Button;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Carousel = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'carousel';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.carousel';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 600;\n var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\n var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\n\n var Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true\n };\n\n var DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean'\n };\n\n var Direction = {\n NEXT: 'next',\n PREVIOUS: 'prev'\n };\n\n var Event = {\n SLIDE: 'slide' + EVENT_KEY,\n SLID: 'slid' + EVENT_KEY,\n KEYDOWN: 'keydown' + EVENT_KEY,\n MOUSEENTER: 'mouseenter' + EVENT_KEY,\n MOUSELEAVE: 'mouseleave' + EVENT_KEY,\n LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n CAROUSEL: 'carousel',\n ACTIVE: 'active',\n SLIDE: 'slide',\n RIGHT: 'right',\n LEFT: 'left',\n ITEM: 'carousel-item'\n };\n\n var Selector = {\n ACTIVE: '.active',\n ACTIVE_ITEM: '.active.carousel-item',\n ITEM: '.carousel-item',\n NEXT_PREV: '.next, .prev',\n INDICATORS: '.carousel-indicators',\n DATA_SLIDE: '[data-slide], [data-slide-to]',\n DATA_RIDE: '[data-ride=\"carousel\"]'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Carousel = (function () {\n function Carousel(element, config) {\n _classCallCheck(this, Carousel);\n\n this._items = null;\n this._interval = null;\n this._activeElement = null;\n\n this._isPaused = false;\n this._isSliding = false;\n\n this._config = this._getConfig(config);\n this._element = $(element)[0];\n this._indicatorsElement = $(this._element).find(Selector.INDICATORS)[0];\n\n this._addEventListeners();\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Carousel, [{\n key: 'next',\n\n // public\n\n value: function next() {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n }, {\n key: 'nextWhenVisible',\n value: function nextWhenVisible() {\n // Don't call next when the page isn't visible\n if (!document.hidden) {\n this.next();\n }\n }\n }, {\n key: 'prev',\n value: function prev() {\n if (!this._isSliding) {\n this._slide(Direction.PREVIOUS);\n }\n }\n }, {\n key: 'pause',\n value: function pause(event) {\n if (!event) {\n this._isPaused = true;\n }\n\n if ($(this._element).find(Selector.NEXT_PREV)[0] && Util.supportsTransitionEnd()) {\n Util.triggerTransitionEnd(this._element);\n this.cycle(true);\n }\n\n clearInterval(this._interval);\n this._interval = null;\n }\n }, {\n key: 'cycle',\n value: function cycle(event) {\n if (!event) {\n this._isPaused = false;\n }\n\n if (this._interval) {\n clearInterval(this._interval);\n this._interval = null;\n }\n\n if (this._config.interval && !this._isPaused) {\n this._interval = setInterval($.proxy(document.visibilityState ? this.nextWhenVisible : this.next, this), this._config.interval);\n }\n }\n }, {\n key: 'to',\n value: function to(index) {\n var _this2 = this;\n\n this._activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];\n\n var activeIndex = this._getItemIndex(this._activeElement);\n\n if (index > this._items.length - 1 || index < 0) {\n return;\n }\n\n if (this._isSliding) {\n $(this._element).one(Event.SLID, function () {\n return _this2.to(index);\n });\n return;\n }\n\n if (activeIndex === index) {\n this.pause();\n this.cycle();\n return;\n }\n\n var direction = index > activeIndex ? Direction.NEXT : Direction.PREVIOUS;\n\n this._slide(direction, this._items[index]);\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $(this._element).off(EVENT_KEY);\n $.removeData(this._element, DATA_KEY);\n\n this._items = null;\n this._config = null;\n this._element = null;\n this._interval = null;\n this._isPaused = null;\n this._isSliding = null;\n this._activeElement = null;\n this._indicatorsElement = null;\n }\n\n // private\n\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n }\n }, {\n key: '_addEventListeners',\n value: function _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN, $.proxy(this._keydown, this));\n }\n\n if (this._config.pause === 'hover' && !('ontouchstart' in document.documentElement)) {\n $(this._element).on(Event.MOUSEENTER, $.proxy(this.pause, this)).on(Event.MOUSELEAVE, $.proxy(this.cycle, this));\n }\n }\n }, {\n key: '_keydown',\n value: function _keydown(event) {\n event.preventDefault();\n\n if (/input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n this.prev();\n break;\n case ARROW_RIGHT_KEYCODE:\n this.next();\n break;\n default:\n return;\n }\n }\n }, {\n key: '_getItemIndex',\n value: function _getItemIndex(element) {\n this._items = $.makeArray($(element).parent().find(Selector.ITEM));\n return this._items.indexOf(element);\n }\n }, {\n key: '_getItemByDirection',\n value: function _getItemByDirection(direction, activeElement) {\n var isNextDirection = direction === Direction.NEXT;\n var isPrevDirection = direction === Direction.PREVIOUS;\n var activeIndex = this._getItemIndex(activeElement);\n var lastItemIndex = this._items.length - 1;\n var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement;\n }\n\n var delta = direction === Direction.PREVIOUS ? -1 : 1;\n var itemIndex = (activeIndex + delta) % this._items.length;\n\n return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\n }\n }, {\n key: '_triggerSlideEvent',\n value: function _triggerSlideEvent(relatedTarget, directionalClassname) {\n var slideEvent = $.Event(Event.SLIDE, {\n relatedTarget: relatedTarget,\n direction: directionalClassname\n });\n\n $(this._element).trigger(slideEvent);\n\n return slideEvent;\n }\n }, {\n key: '_setActiveIndicatorElement',\n value: function _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n $(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);\n\n var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\n\n if (nextIndicator) {\n $(nextIndicator).addClass(ClassName.ACTIVE);\n }\n }\n }\n }, {\n key: '_slide',\n value: function _slide(direction, element) {\n var _this3 = this;\n\n var activeElement = $(this._element).find(Selector.ACTIVE_ITEM)[0];\n var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\n\n var isCycling = Boolean(this._interval);\n\n var directionalClassName = direction === Direction.NEXT ? ClassName.LEFT : ClassName.RIGHT;\n\n if (nextElement && $(nextElement).hasClass(ClassName.ACTIVE)) {\n this._isSliding = false;\n return;\n }\n\n var slideEvent = this._triggerSlideEvent(nextElement, directionalClassName);\n if (slideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (!activeElement || !nextElement) {\n // some weirdness is happening, so we bail\n return;\n }\n\n this._isSliding = true;\n\n if (isCycling) {\n this.pause();\n }\n\n this._setActiveIndicatorElement(nextElement);\n\n var slidEvent = $.Event(Event.SLID, {\n relatedTarget: nextElement,\n direction: directionalClassName\n });\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.SLIDE)) {\n\n $(nextElement).addClass(direction);\n\n Util.reflow(nextElement);\n\n $(activeElement).addClass(directionalClassName);\n $(nextElement).addClass(directionalClassName);\n\n $(activeElement).one(Util.TRANSITION_END, function () {\n $(nextElement).removeClass(directionalClassName).removeClass(direction);\n\n $(nextElement).addClass(ClassName.ACTIVE);\n\n $(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName);\n\n _this3._isSliding = false;\n\n setTimeout(function () {\n return $(_this3._element).trigger(slidEvent);\n }, 0);\n }).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n $(activeElement).removeClass(ClassName.ACTIVE);\n $(nextElement).addClass(ClassName.ACTIVE);\n\n this._isSliding = false;\n $(this._element).trigger(slidEvent);\n }\n\n if (isCycling) {\n this.cycle();\n }\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = $.extend({}, Default, $(this).data());\n\n if (typeof config === 'object') {\n $.extend(_config, config);\n }\n\n var action = typeof config === 'string' ? config : _config.slide;\n\n if (!data) {\n data = new Carousel(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'number') {\n data.to(config);\n } else if (typeof action === 'string') {\n if (data[action] === undefined) {\n throw new Error('No method named \"' + action + '\"');\n }\n data[action]();\n } else if (_config.interval) {\n data.pause();\n data.cycle();\n }\n });\n }\n }, {\n key: '_dataApiClickHandler',\n value: function _dataApiClickHandler(event) {\n var selector = Util.getSelectorFromElement(this);\n\n if (!selector) {\n return;\n }\n\n var target = $(selector)[0];\n\n if (!target || !$(target).hasClass(ClassName.CAROUSEL)) {\n return;\n }\n\n var config = $.extend({}, $(target).data(), $(this).data());\n var slideIndex = this.getAttribute('data-slide-to');\n\n if (slideIndex) {\n config.interval = false;\n }\n\n Carousel._jQueryInterface.call($(target), config);\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex);\n }\n\n event.preventDefault();\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return Carousel;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_SLIDE, Carousel._dataApiClickHandler);\n\n $(window).on(Event.LOAD_DATA_API, function () {\n $(Selector.DATA_RIDE).each(function () {\n var $carousel = $(this);\n Carousel._jQueryInterface.call($carousel, $carousel.data());\n });\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Carousel._jQueryInterface;\n $.fn[NAME].Constructor = Carousel;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Carousel._jQueryInterface;\n };\n\n return Carousel;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Collapse = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'collapse';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.collapse';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 600;\n\n var Default = {\n toggle: true,\n parent: ''\n };\n\n var DefaultType = {\n toggle: 'boolean',\n parent: 'string'\n };\n\n var Event = {\n SHOW: 'show' + EVENT_KEY,\n SHOWN: 'shown' + EVENT_KEY,\n HIDE: 'hide' + EVENT_KEY,\n HIDDEN: 'hidden' + EVENT_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n IN: 'in',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed'\n };\n\n var Dimension = {\n WIDTH: 'width',\n HEIGHT: 'height'\n };\n\n var Selector = {\n ACTIVES: '.panel > .in, .panel > .collapsing',\n DATA_TOGGLE: '[data-toggle=\"collapse\"]'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Collapse = (function () {\n function Collapse(element, config) {\n _classCallCheck(this, Collapse);\n\n this._isTransitioning = false;\n this._element = element;\n this._config = this._getConfig(config);\n this._triggerArray = $.makeArray($('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' + ('[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')));\n\n this._parent = this._config.parent ? this._getParent() : null;\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray);\n }\n\n if (this._config.toggle) {\n this.toggle();\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Collapse, [{\n key: 'toggle',\n\n // public\n\n value: function toggle() {\n if ($(this._element).hasClass(ClassName.IN)) {\n this.hide();\n } else {\n this.show();\n }\n }\n }, {\n key: 'show',\n value: function show() {\n var _this4 = this;\n\n if (this._isTransitioning || $(this._element).hasClass(ClassName.IN)) {\n return;\n }\n\n var actives = undefined;\n var activesData = undefined;\n\n if (this._parent) {\n actives = $.makeArray($(Selector.ACTIVES));\n if (!actives.length) {\n actives = null;\n }\n }\n\n if (actives) {\n activesData = $(actives).data(DATA_KEY);\n if (activesData && activesData._isTransitioning) {\n return;\n }\n }\n\n var startEvent = $.Event(Event.SHOW);\n $(this._element).trigger(startEvent);\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives), 'hide');\n if (!activesData) {\n $(actives).data(DATA_KEY, null);\n }\n }\n\n var dimension = this._getDimension();\n\n $(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING);\n\n this._element.style[dimension] = 0;\n this._element.setAttribute('aria-expanded', true);\n\n if (this._triggerArray.length) {\n $(this._triggerArray).removeClass(ClassName.COLLAPSED).attr('aria-expanded', true);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n $(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN);\n\n _this4._element.style[dimension] = '';\n\n _this4.setTransitioning(false);\n\n $(_this4._element).trigger(Event.SHOWN);\n };\n\n if (!Util.supportsTransitionEnd()) {\n complete();\n return;\n }\n\n var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\n var scrollSize = 'scroll' + capitalizedDimension;\n\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n\n this._element.style[dimension] = this._element[scrollSize] + 'px';\n }\n }, {\n key: 'hide',\n value: function hide() {\n var _this5 = this;\n\n if (this._isTransitioning || !$(this._element).hasClass(ClassName.IN)) {\n return;\n }\n\n var startEvent = $.Event(Event.HIDE);\n $(this._element).trigger(startEvent);\n if (startEvent.isDefaultPrevented()) {\n return;\n }\n\n var dimension = this._getDimension();\n var offsetDimension = dimension === Dimension.WIDTH ? 'offsetWidth' : 'offsetHeight';\n\n this._element.style[dimension] = this._element[offsetDimension] + 'px';\n\n Util.reflow(this._element);\n\n $(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN);\n\n this._element.setAttribute('aria-expanded', false);\n\n if (this._triggerArray.length) {\n $(this._triggerArray).addClass(ClassName.COLLAPSED).attr('aria-expanded', false);\n }\n\n this.setTransitioning(true);\n\n var complete = function complete() {\n _this5.setTransitioning(false);\n $(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN);\n };\n\n this._element.style[dimension] = 0;\n\n if (!Util.supportsTransitionEnd()) {\n complete();\n return;\n }\n\n $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n }\n }, {\n key: 'setTransitioning',\n value: function setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning;\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n\n this._config = null;\n this._parent = null;\n this._element = null;\n this._triggerArray = null;\n this._isTransitioning = null;\n }\n\n // private\n\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n config.toggle = Boolean(config.toggle); // coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n }\n }, {\n key: '_getDimension',\n value: function _getDimension() {\n var hasWidth = $(this._element).hasClass(Dimension.WIDTH);\n return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;\n }\n }, {\n key: '_getParent',\n value: function _getParent() {\n var _this6 = this;\n\n var parent = $(this._config.parent)[0];\n var selector = '[data-toggle=\"collapse\"][data-parent=\"' + this._config.parent + '\"]';\n\n $(parent).find(selector).each(function (i, element) {\n _this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\n });\n\n return parent;\n }\n }, {\n key: '_addAriaAndCollapsedClass',\n value: function _addAriaAndCollapsedClass(element, triggerArray) {\n if (element) {\n var isOpen = $(element).hasClass(ClassName.IN);\n element.setAttribute('aria-expanded', isOpen);\n\n if (triggerArray.length) {\n $(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\n }\n }\n }\n\n // static\n\n }], [{\n key: '_getTargetFromElement',\n value: function _getTargetFromElement(element) {\n var selector = Util.getSelectorFromElement(element);\n return selector ? $(selector)[0] : null;\n }\n }, {\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY);\n var _config = $.extend({}, Default, $this.data(), typeof config === 'object' && config);\n\n if (!data && _config.toggle && /show|hide/.test(config)) {\n _config.toggle = false;\n }\n\n if (!data) {\n data = new Collapse(this, _config);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return Collapse;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault();\n\n var target = Collapse._getTargetFromElement(this);\n var data = $(target).data(DATA_KEY);\n var config = data ? 'toggle' : $(this).data();\n\n Collapse._jQueryInterface.call($(target), config);\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Collapse._jQueryInterface;\n $.fn[NAME].Constructor = Collapse;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Collapse._jQueryInterface;\n };\n\n return Collapse;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Dropdown = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'dropdown';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.dropdown';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\n var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\n var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\n\n var Event = {\n HIDE: 'hide' + EVENT_KEY,\n HIDDEN: 'hidden' + EVENT_KEY,\n SHOW: 'show' + EVENT_KEY,\n SHOWN: 'shown' + EVENT_KEY,\n CLICK: 'click' + EVENT_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY,\n KEYDOWN_DATA_API: 'keydown' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n BACKDROP: 'dropdown-backdrop',\n DISABLED: 'disabled',\n OPEN: 'open'\n };\n\n var Selector = {\n BACKDROP: '.dropdown-backdrop',\n DATA_TOGGLE: '[data-toggle=\"dropdown\"]',\n FORM_CHILD: '.dropdown form',\n ROLE_MENU: '[role=\"menu\"]',\n ROLE_LISTBOX: '[role=\"listbox\"]',\n NAVBAR_NAV: '.navbar-nav',\n VISIBLE_ITEMS: '[role=\"menu\"] li:not(.disabled) a, ' + '[role=\"listbox\"] li:not(.disabled) a'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Dropdown = (function () {\n function Dropdown(element) {\n _classCallCheck(this, Dropdown);\n\n this._element = element;\n\n this._addEventListeners();\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Dropdown, [{\n key: 'toggle',\n\n // public\n\n value: function toggle() {\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return false;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n var isActive = $(parent).hasClass(ClassName.OPEN);\n\n Dropdown._clearMenus();\n\n if (isActive) {\n return false;\n }\n\n if ('ontouchstart' in document.documentElement && !$(parent).closest(Selector.NAVBAR_NAV).length) {\n\n // if mobile we use a backdrop because click events don't delegate\n var dropdown = document.createElement('div');\n dropdown.className = ClassName.BACKDROP;\n $(dropdown).insertBefore(this);\n $(dropdown).on('click', Dropdown._clearMenus);\n }\n\n var relatedTarget = { relatedTarget: this };\n var showEvent = $.Event(Event.SHOW, relatedTarget);\n\n $(parent).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented()) {\n return false;\n }\n\n this.focus();\n this.setAttribute('aria-expanded', 'true');\n\n $(parent).toggleClass(ClassName.OPEN);\n $(parent).trigger($.Event(Event.SHOWN, relatedTarget));\n\n return false;\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n $(this._element).off(EVENT_KEY);\n this._element = null;\n }\n\n // private\n\n }, {\n key: '_addEventListeners',\n value: function _addEventListeners() {\n $(this._element).on(Event.CLICK, this.toggle);\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n\n if (!data) {\n $(this).data(DATA_KEY, data = new Dropdown(this));\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config].call(this);\n }\n });\n }\n }, {\n key: '_clearMenus',\n value: function _clearMenus(event) {\n if (event && event.which === RIGHT_MOUSE_BUTTON_WHICH) {\n return;\n }\n\n var backdrop = $(Selector.BACKDROP)[0];\n if (backdrop) {\n backdrop.parentNode.removeChild(backdrop);\n }\n\n var toggles = $.makeArray($(Selector.DATA_TOGGLE));\n\n for (var i = 0; i < toggles.length; i++) {\n var _parent = Dropdown._getParentFromElement(toggles[i]);\n var relatedTarget = { relatedTarget: toggles[i] };\n\n if (!$(_parent).hasClass(ClassName.OPEN)) {\n continue;\n }\n\n if (event && event.type === 'click' && /input|textarea/i.test(event.target.tagName) && $.contains(_parent, event.target)) {\n continue;\n }\n\n var hideEvent = $.Event(Event.HIDE, relatedTarget);\n $(_parent).trigger(hideEvent);\n if (hideEvent.isDefaultPrevented()) {\n continue;\n }\n\n toggles[i].setAttribute('aria-expanded', 'false');\n\n $(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN, relatedTarget));\n }\n }\n }, {\n key: '_getParentFromElement',\n value: function _getParentFromElement(element) {\n var parent = undefined;\n var selector = Util.getSelectorFromElement(element);\n\n if (selector) {\n parent = $(selector)[0];\n }\n\n return parent || element.parentNode;\n }\n }, {\n key: '_dataApiKeydownHandler',\n value: function _dataApiKeydownHandler(event) {\n if (!/(38|40|27|32)/.test(event.which) || /input|textarea/i.test(event.target.tagName)) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (this.disabled || $(this).hasClass(ClassName.DISABLED)) {\n return;\n }\n\n var parent = Dropdown._getParentFromElement(this);\n var isActive = $(parent).hasClass(ClassName.OPEN);\n\n if (!isActive && event.which !== ESCAPE_KEYCODE || isActive && event.which === ESCAPE_KEYCODE) {\n\n if (event.which === ESCAPE_KEYCODE) {\n var toggle = $(parent).find(Selector.DATA_TOGGLE)[0];\n $(toggle).trigger('focus');\n }\n\n $(this).trigger('click');\n return;\n }\n\n var items = $.makeArray($(Selector.VISIBLE_ITEMS));\n\n items = items.filter(function (item) {\n return item.offsetWidth || item.offsetHeight;\n });\n\n if (!items.length) {\n return;\n }\n\n var index = items.indexOf(event.target);\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) {\n // up\n index--;\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\n // down\n index++;\n }\n\n if (index < 0) {\n index = 0;\n }\n\n items[index].focus();\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Dropdown;\n })();\n\n $(document).on(Event.KEYDOWN_DATA_API, Selector.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_MENU, Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API, Selector.ROLE_LISTBOX, Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API, Dropdown._clearMenus).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, Dropdown.prototype.toggle).on(Event.CLICK_DATA_API, Selector.FORM_CHILD, function (e) {\n e.stopPropagation();\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Dropdown._jQueryInterface;\n $.fn[NAME].Constructor = Dropdown;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Dropdown._jQueryInterface;\n };\n\n return Dropdown;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Modal = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'modal';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.modal';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 300;\n var BACKDROP_TRANSITION_DURATION = 150;\n var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\n\n var Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n };\n\n var DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n };\n\n var Event = {\n HIDE: 'hide' + EVENT_KEY,\n HIDDEN: 'hidden' + EVENT_KEY,\n SHOW: 'show' + EVENT_KEY,\n SHOWN: 'shown' + EVENT_KEY,\n FOCUSIN: 'focusin' + EVENT_KEY,\n RESIZE: 'resize' + EVENT_KEY,\n CLICK_DISMISS: 'click.dismiss' + EVENT_KEY,\n KEYDOWN_DISMISS: 'keydown.dismiss' + EVENT_KEY,\n MOUSEUP_DISMISS: 'mouseup.dismiss' + EVENT_KEY,\n MOUSEDOWN_DISMISS: 'mousedown.dismiss' + EVENT_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n DIALOG: '.modal-dialog',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Modal = (function () {\n function Modal(element, config) {\n _classCallCheck(this, Modal);\n\n this._config = this._getConfig(config);\n this._element = element;\n this._dialog = $(element).find(Selector.DIALOG)[0];\n this._backdrop = null;\n this._isShown = false;\n this._isBodyOverflowing = false;\n this._ignoreBackdropClick = false;\n this._originalBodyPadding = 0;\n this._scrollbarWidth = 0;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Modal, [{\n key: 'toggle',\n\n // public\n\n value: function toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget);\n }\n }, {\n key: 'show',\n value: function show(relatedTarget) {\n var _this7 = this;\n\n var showEvent = $.Event(Event.SHOW, {\n relatedTarget: relatedTarget\n });\n\n $(this._element).trigger(showEvent);\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = true;\n\n this._checkScrollbar();\n this._setScrollbar();\n\n $(document.body).addClass(ClassName.OPEN);\n\n this._setEscapeEvent();\n this._setResizeEvent();\n\n $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, $.proxy(this.hide, this));\n\n $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {\n $(_this7._element).one(Event.MOUSEUP_DISMISS, function (event) {\n if ($(event.target).is(_this7._element)) {\n _this7._ignoreBackdropClick = true;\n }\n });\n });\n\n this._showBackdrop($.proxy(this._showElement, this, relatedTarget));\n }\n }, {\n key: 'hide',\n value: function hide(event) {\n if (event) {\n event.preventDefault();\n }\n\n var hideEvent = $.Event(Event.HIDE);\n\n $(this._element).trigger(hideEvent);\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n this._isShown = false;\n\n this._setEscapeEvent();\n this._setResizeEvent();\n\n $(document).off(Event.FOCUSIN);\n\n $(this._element).removeClass(ClassName.IN);\n\n $(this._element).off(Event.CLICK_DISMISS);\n $(this._dialog).off(Event.MOUSEDOWN_DISMISS);\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n\n $(this._element).one(Util.TRANSITION_END, $.proxy(this._hideModal, this)).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n this._hideModal();\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n\n $(window).off(EVENT_KEY);\n $(document).off(EVENT_KEY);\n $(this._element).off(EVENT_KEY);\n $(this._backdrop).off(EVENT_KEY);\n\n this._config = null;\n this._element = null;\n this._dialog = null;\n this._backdrop = null;\n this._isShown = null;\n this._isBodyOverflowing = null;\n this._ignoreBackdropClick = null;\n this._originalBodyPadding = null;\n this._scrollbarWidth = null;\n }\n\n // private\n\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n Util.typeCheckConfig(NAME, config, DefaultType);\n return config;\n }\n }, {\n key: '_showElement',\n value: function _showElement(relatedTarget) {\n var _this8 = this;\n\n var transition = Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE);\n\n if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // don't move modals dom position\n document.body.appendChild(this._element);\n }\n\n this._element.style.display = 'block';\n this._element.removeAttribute('aria-hidden');\n this._element.scrollTop = 0;\n\n if (transition) {\n Util.reflow(this._element);\n }\n\n $(this._element).addClass(ClassName.IN);\n\n if (this._config.focus) {\n this._enforceFocus();\n }\n\n var shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: relatedTarget\n });\n\n var transitionComplete = function transitionComplete() {\n if (_this8._config.focus) {\n _this8._element.focus();\n }\n $(_this8._element).trigger(shownEvent);\n };\n\n if (transition) {\n $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n transitionComplete();\n }\n }\n }, {\n key: '_enforceFocus',\n value: function _enforceFocus() {\n var _this9 = this;\n\n $(document).off(Event.FOCUSIN) // guard against infinite focus loop\n .on(Event.FOCUSIN, function (event) {\n if (document !== event.target && _this9._element !== event.target && !$(_this9._element).has(event.target).length) {\n _this9._element.focus();\n }\n });\n }\n }, {\n key: '_setEscapeEvent',\n value: function _setEscapeEvent() {\n var _this10 = this;\n\n if (this._isShown && this._config.keyboard) {\n $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {\n if (event.which === ESCAPE_KEYCODE) {\n _this10.hide();\n }\n });\n } else if (!this._isShown) {\n $(this._element).off(Event.KEYDOWN_DISMISS);\n }\n }\n }, {\n key: '_setResizeEvent',\n value: function _setResizeEvent() {\n if (this._isShown) {\n $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this));\n } else {\n $(window).off(Event.RESIZE);\n }\n }\n }, {\n key: '_hideModal',\n value: function _hideModal() {\n var _this11 = this;\n\n this._element.style.display = 'none';\n this._element.setAttribute('aria-hidden', 'true');\n this._showBackdrop(function () {\n $(document.body).removeClass(ClassName.OPEN);\n _this11._resetAdjustments();\n _this11._resetScrollbar();\n $(_this11._element).trigger(Event.HIDDEN);\n });\n }\n }, {\n key: '_removeBackdrop',\n value: function _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove();\n this._backdrop = null;\n }\n }\n }, {\n key: '_showBackdrop',\n value: function _showBackdrop(callback) {\n var _this12 = this;\n\n var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';\n\n if (this._isShown && this._config.backdrop) {\n var doAnimate = Util.supportsTransitionEnd() && animate;\n\n this._backdrop = document.createElement('div');\n this._backdrop.className = ClassName.BACKDROP;\n\n if (animate) {\n $(this._backdrop).addClass(animate);\n }\n\n $(this._backdrop).appendTo(document.body);\n\n $(this._element).on(Event.CLICK_DISMISS, function (event) {\n if (_this12._ignoreBackdropClick) {\n _this12._ignoreBackdropClick = false;\n return;\n }\n if (event.target !== event.currentTarget) {\n return;\n }\n if (_this12._config.backdrop === 'static') {\n _this12._element.focus();\n } else {\n _this12.hide();\n }\n });\n\n if (doAnimate) {\n Util.reflow(this._backdrop);\n }\n\n $(this._backdrop).addClass(ClassName.IN);\n\n if (!callback) {\n return;\n }\n\n if (!doAnimate) {\n callback();\n return;\n }\n\n $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(ClassName.IN);\n\n var callbackRemove = function callbackRemove() {\n _this12._removeBackdrop();\n if (callback) {\n callback();\n }\n };\n\n if (Util.supportsTransitionEnd() && $(this._element).hasClass(ClassName.FADE)) {\n $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION);\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n }, {\n key: '_handleUpdate',\n value: function _handleUpdate() {\n this._adjustDialog();\n }\n }, {\n key: '_adjustDialog',\n value: function _adjustDialog() {\n var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = this._scrollbarWidth + 'px';\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = this._scrollbarWidth + 'px';\n }\n }\n }, {\n key: '_resetAdjustments',\n value: function _resetAdjustments() {\n this._element.style.paddingLeft = '';\n this._element.style.paddingRight = '';\n }\n }, {\n key: '_checkScrollbar',\n value: function _checkScrollbar() {\n this._isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this._scrollbarWidth = this._getScrollbarWidth();\n }\n }, {\n key: '_setScrollbar',\n value: function _setScrollbar() {\n var bodyPadding = parseInt($(Selector.FIXED_CONTENT).css('padding-right') || 0, 10);\n\n this._originalBodyPadding = document.body.style.paddingRight || '';\n\n if (this._isBodyOverflowing) {\n document.body.style.paddingRight = bodyPadding + this._scrollbarWidth + 'px';\n }\n }\n }, {\n key: '_resetScrollbar',\n value: function _resetScrollbar() {\n document.body.style.paddingRight = this._originalBodyPadding;\n }\n }, {\n key: '_getScrollbarWidth',\n value: function _getScrollbarWidth() {\n // thx d.walsh\n var scrollDiv = document.createElement('div');\n scrollDiv.className = ClassName.SCROLLBAR_MEASURER;\n document.body.appendChild(scrollDiv);\n var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = $.extend({}, Modal.Default, $(this).data(), typeof config === 'object' && config);\n\n if (!data) {\n data = new Modal(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config](relatedTarget);\n } else if (_config.show) {\n data.show(relatedTarget);\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return Modal;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n var _this13 = this;\n\n var target = undefined;\n var selector = Util.getSelectorFromElement(this);\n\n if (selector) {\n target = $(selector)[0];\n }\n\n var config = $(target).data(DATA_KEY) ? 'toggle' : $.extend({}, $(target).data(), $(this).data());\n\n if (this.tagName === 'A') {\n event.preventDefault();\n }\n\n var $target = $(target).one(Event.SHOW, function (showEvent) {\n if (showEvent.isDefaultPrevented()) {\n // only register focus restorer if modal will actually get shown\n return;\n }\n\n $target.one(Event.HIDDEN, function () {\n if ($(_this13).is(':visible')) {\n _this13.focus();\n }\n });\n });\n\n Modal._jQueryInterface.call($(target), config, this);\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Modal._jQueryInterface;\n $.fn[NAME].Constructor = Modal;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Modal._jQueryInterface;\n };\n\n return Modal;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar ScrollSpy = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'scrollspy';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.scrollspy';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n\n var Default = {\n offset: 10,\n method: 'auto',\n target: ''\n };\n\n var DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n };\n\n var Event = {\n ACTIVATE: 'activate' + EVENT_KEY,\n SCROLL: 'scroll' + EVENT_KEY,\n LOAD_DATA_API: 'load' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n DROPDOWN_MENU: 'dropdown-menu',\n NAV_LINK: 'nav-link',\n NAV: 'nav',\n ACTIVE: 'active'\n };\n\n var Selector = {\n DATA_SPY: '[data-spy=\"scroll\"]',\n ACTIVE: '.active',\n LIST_ITEM: '.list-item',\n LI: 'li',\n LI_DROPDOWN: 'li.dropdown',\n NAV_LINKS: '.nav-link',\n DROPDOWN: '.dropdown',\n DROPDOWN_ITEMS: '.dropdown-item',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n };\n\n var OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var ScrollSpy = (function () {\n function ScrollSpy(element, config) {\n _classCallCheck(this, ScrollSpy);\n\n this._element = element;\n this._scrollElement = element.tagName === 'BODY' ? window : element;\n this._config = this._getConfig(config);\n this._selector = this._config.target + ' ' + Selector.NAV_LINKS + ',' + (this._config.target + ' ' + Selector.DROPDOWN_ITEMS);\n this._offsets = [];\n this._targets = [];\n this._activeTarget = null;\n this._scrollHeight = 0;\n\n $(this._scrollElement).on(Event.SCROLL, $.proxy(this._process, this));\n\n this.refresh();\n this._process();\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(ScrollSpy, [{\n key: 'refresh',\n\n // public\n\n value: function refresh() {\n var _this14 = this;\n\n var autoMethod = this._scrollElement !== this._scrollElement.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;\n\n var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\n\n var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;\n\n this._offsets = [];\n this._targets = [];\n\n this._scrollHeight = this._getScrollHeight();\n\n var targets = $.makeArray($(this._selector));\n\n targets.map(function (element) {\n var target = undefined;\n var targetSelector = Util.getSelectorFromElement(element);\n\n if (targetSelector) {\n target = $(targetSelector)[0];\n }\n\n if (target && (target.offsetWidth || target.offsetHeight)) {\n // todo (fat): remove sketch reliance on jQuery position/offset\n return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\n }\n return null;\n }).filter(function (item) {\n return item;\n }).sort(function (a, b) {\n return a[0] - b[0];\n }).forEach(function (item) {\n _this14._offsets.push(item[0]);\n _this14._targets.push(item[1]);\n });\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeData(this._element, DATA_KEY);\n $(this._scrollElement).off(EVENT_KEY);\n\n this._element = null;\n this._scrollElement = null;\n this._config = null;\n this._selector = null;\n this._offsets = null;\n this._targets = null;\n this._activeTarget = null;\n this._scrollHeight = null;\n }\n\n // private\n\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, Default, config);\n\n if (typeof config.target !== 'string') {\n var id = $(config.target).attr('id');\n if (!id) {\n id = Util.getUID(NAME);\n $(config.target).attr('id', id);\n }\n config.target = '#' + id;\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType);\n\n return config;\n }\n }, {\n key: '_getScrollTop',\n value: function _getScrollTop() {\n return this._scrollElement === window ? this._scrollElement.scrollY : this._scrollElement.scrollTop;\n }\n }, {\n key: '_getScrollHeight',\n value: function _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n }\n }, {\n key: '_process',\n value: function _process() {\n var scrollTop = this._getScrollTop() + this._config.offset;\n var scrollHeight = this._getScrollHeight();\n var maxScroll = this._config.offset + scrollHeight - this._scrollElement.offsetHeight;\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this._targets[this._targets.length - 1];\n\n if (this._activeTarget !== target) {\n this._activate(target);\n }\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0]) {\n this._activeTarget = null;\n this._clear();\n return;\n }\n\n for (var i = this._offsets.length; i--;) {\n var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (this._offsets[i + 1] === undefined || scrollTop < this._offsets[i + 1]);\n\n if (isActiveTarget) {\n this._activate(this._targets[i]);\n }\n }\n }\n }, {\n key: '_activate',\n value: function _activate(target) {\n this._activeTarget = target;\n\n this._clear();\n\n var queries = this._selector.split(',');\n queries = queries.map(function (selector) {\n return selector + '[data-target=\"' + target + '\"],' + (selector + '[href=\"' + target + '\"]');\n });\n\n var $link = $(queries.join(','));\n\n if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {\n $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);\n $link.addClass(ClassName.ACTIVE);\n } else {\n // todo (fat) this is kinda sus...\n // recursively add actives to tested nav-links\n $link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);\n }\n\n $(this._scrollElement).trigger(Event.ACTIVATE, {\n relatedTarget: target\n });\n }\n }, {\n key: '_clear',\n value: function _clear() {\n $(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = typeof config === 'object' && config || null;\n\n if (!data) {\n data = new ScrollSpy(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }]);\n\n return ScrollSpy;\n })();\n\n $(window).on(Event.LOAD_DATA_API, function () {\n var scrollSpys = $.makeArray($(Selector.DATA_SPY));\n\n for (var i = scrollSpys.length; i--;) {\n var $spy = $(scrollSpys[i]);\n ScrollSpy._jQueryInterface.call($spy, $spy.data());\n }\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = ScrollSpy._jQueryInterface;\n $.fn[NAME].Constructor = ScrollSpy;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return ScrollSpy._jQueryInterface;\n };\n\n return ScrollSpy;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Tab = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'tab';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.tab';\n var EVENT_KEY = '.' + DATA_KEY;\n var DATA_API_KEY = '.data-api';\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 150;\n\n var Event = {\n HIDE: 'hide' + EVENT_KEY,\n HIDDEN: 'hidden' + EVENT_KEY,\n SHOW: 'show' + EVENT_KEY,\n SHOWN: 'shown' + EVENT_KEY,\n CLICK_DATA_API: 'click' + EVENT_KEY + DATA_API_KEY\n };\n\n var ClassName = {\n DROPDOWN_MENU: 'dropdown-menu',\n ACTIVE: 'active',\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n A: 'a',\n LI: 'li',\n DROPDOWN: '.dropdown',\n UL: 'ul:not(.dropdown-menu)',\n FADE_CHILD: '> .nav-item .fade, > .fade',\n ACTIVE: '.active',\n ACTIVE_CHILD: '> .nav-item > .active, > .active',\n DATA_TOGGLE: '[data-toggle=\"tab\"], [data-toggle=\"pill\"]',\n DROPDOWN_TOGGLE: '.dropdown-toggle',\n DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tab = (function () {\n function Tab(element) {\n _classCallCheck(this, Tab);\n\n this._element = element;\n }\n\n /**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Tab, [{\n key: 'show',\n\n // public\n\n value: function show() {\n var _this15 = this;\n\n if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName.ACTIVE)) {\n return;\n }\n\n var target = undefined;\n var previous = undefined;\n var ulElement = $(this._element).closest(Selector.UL)[0];\n var selector = Util.getSelectorFromElement(this._element);\n\n if (ulElement) {\n previous = $.makeArray($(ulElement).find(Selector.ACTIVE));\n previous = previous[previous.length - 1];\n }\n\n var hideEvent = $.Event(Event.HIDE, {\n relatedTarget: this._element\n });\n\n var showEvent = $.Event(Event.SHOW, {\n relatedTarget: previous\n });\n\n if (previous) {\n $(previous).trigger(hideEvent);\n }\n\n $(this._element).trigger(showEvent);\n\n if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\n return;\n }\n\n if (selector) {\n target = $(selector)[0];\n }\n\n this._activate(this._element, ulElement);\n\n var complete = function complete() {\n var hiddenEvent = $.Event(Event.HIDDEN, {\n relatedTarget: _this15._element\n });\n\n var shownEvent = $.Event(Event.SHOWN, {\n relatedTarget: previous\n });\n\n $(previous).trigger(hiddenEvent);\n $(_this15._element).trigger(shownEvent);\n };\n\n if (target) {\n this._activate(target, target.parentNode, complete);\n } else {\n complete();\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n $.removeClass(this._element, DATA_KEY);\n this._element = null;\n }\n\n // private\n\n }, {\n key: '_activate',\n value: function _activate(element, container, callback) {\n var active = $(container).find(Selector.ACTIVE_CHILD)[0];\n var isTransitioning = callback && Util.supportsTransitionEnd() && (active && $(active).hasClass(ClassName.FADE) || Boolean($(container).find(Selector.FADE_CHILD)[0]));\n\n var complete = $.proxy(this._transitionComplete, this, element, active, isTransitioning, callback);\n\n if (active && isTransitioning) {\n $(active).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n complete();\n }\n\n if (active) {\n $(active).removeClass(ClassName.IN);\n }\n }\n }, {\n key: '_transitionComplete',\n value: function _transitionComplete(element, active, isTransitioning, callback) {\n if (active) {\n $(active).removeClass(ClassName.ACTIVE);\n\n var dropdownChild = $(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];\n\n if (dropdownChild) {\n $(dropdownChild).removeClass(ClassName.ACTIVE);\n }\n\n active.setAttribute('aria-expanded', false);\n }\n\n $(element).addClass(ClassName.ACTIVE);\n element.setAttribute('aria-expanded', true);\n\n if (isTransitioning) {\n Util.reflow(element);\n $(element).addClass(ClassName.IN);\n } else {\n $(element).removeClass(ClassName.FADE);\n }\n\n if (element.parentNode && $(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)) {\n\n var dropdownElement = $(element).closest(Selector.DROPDOWN)[0];\n if (dropdownElement) {\n $(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);\n }\n\n element.setAttribute('aria-expanded', true);\n }\n\n if (callback) {\n callback();\n }\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var $this = $(this);\n var data = $this.data(DATA_KEY);\n\n if (!data) {\n data = data = new Tab(this);\n $this.data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }]);\n\n return Tab;\n })();\n\n $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {\n event.preventDefault();\n Tab._jQueryInterface.call($(this), 'show');\n });\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n $.fn[NAME] = Tab._jQueryInterface;\n $.fn[NAME].Constructor = Tab;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tab._jQueryInterface;\n };\n\n return Tab;\n})(jQuery);\n\n/* global Tether */\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Tooltip = (function ($) {\n\n /**\n * Check for Tether dependency\n * Tether - http://github.hubspot.com/tether/\n */\n if (window.Tether === undefined) {\n throw new Error('Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)');\n }\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'tooltip';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.tooltip';\n var EVENT_KEY = '.' + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n var TRANSITION_DURATION = 150;\n var CLASS_PREFIX = 'bs-tether';\n\n var Default = {\n animation: true,\n template: '<div class=\"tooltip\" role=\"tooltip\">' + '<div class=\"tooltip-arrow\"></div>' + '<div class=\"tooltip-inner\"></div></div>',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: '0 0',\n constraints: []\n };\n\n var DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: 'string',\n constraints: 'array'\n };\n\n var AttachmentMap = {\n TOP: 'bottom center',\n RIGHT: 'middle left',\n BOTTOM: 'top center',\n LEFT: 'middle right'\n };\n\n var HoverState = {\n IN: 'in',\n OUT: 'out'\n };\n\n var Event = {\n HIDE: 'hide' + EVENT_KEY,\n HIDDEN: 'hidden' + EVENT_KEY,\n SHOW: 'show' + EVENT_KEY,\n SHOWN: 'shown' + EVENT_KEY,\n INSERTED: 'inserted' + EVENT_KEY,\n CLICK: 'click' + EVENT_KEY,\n FOCUSIN: 'focusin' + EVENT_KEY,\n FOCUSOUT: 'focusout' + EVENT_KEY,\n MOUSEENTER: 'mouseenter' + EVENT_KEY,\n MOUSELEAVE: 'mouseleave' + EVENT_KEY\n };\n\n var ClassName = {\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n TOOLTIP: '.tooltip',\n TOOLTIP_INNER: '.tooltip-inner'\n };\n\n var TetherClass = {\n element: false,\n enabled: false\n };\n\n var Trigger = {\n HOVER: 'hover',\n FOCUS: 'focus',\n CLICK: 'click',\n MANUAL: 'manual'\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Tooltip = (function () {\n function Tooltip(element, config) {\n _classCallCheck(this, Tooltip);\n\n // private\n this._isEnabled = true;\n this._timeout = 0;\n this._hoverState = '';\n this._activeTrigger = {};\n this._tether = null;\n\n // protected\n this.element = element;\n this.config = this._getConfig(config);\n this.tip = null;\n\n this._setListeners();\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n // getters\n\n _createClass(Tooltip, [{\n key: 'enable',\n\n // public\n\n value: function enable() {\n this._isEnabled = true;\n }\n }, {\n key: 'disable',\n value: function disable() {\n this._isEnabled = false;\n }\n }, {\n key: 'toggleEnabled',\n value: function toggleEnabled() {\n this._isEnabled = !this._isEnabled;\n }\n }, {\n key: 'toggle',\n value: function toggle(event) {\n if (event) {\n var dataKey = this.constructor.DATA_KEY;\n var context = $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n context._activeTrigger.click = !context._activeTrigger.click;\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context);\n } else {\n context._leave(null, context);\n }\n } else {\n\n if ($(this.getTipElement()).hasClass(ClassName.IN)) {\n this._leave(null, this);\n return;\n }\n\n this._enter(null, this);\n }\n }\n }, {\n key: 'dispose',\n value: function dispose() {\n clearTimeout(this._timeout);\n\n this.cleanupTether();\n\n $.removeData(this.element, this.constructor.DATA_KEY);\n\n $(this.element).off(this.constructor.EVENT_KEY);\n\n if (this.tip) {\n $(this.tip).remove();\n }\n\n this._isEnabled = null;\n this._timeout = null;\n this._hoverState = null;\n this._activeTrigger = null;\n this._tether = null;\n\n this.element = null;\n this.config = null;\n this.tip = null;\n }\n }, {\n key: 'show',\n value: function show() {\n var _this16 = this;\n\n var showEvent = $.Event(this.constructor.Event.SHOW);\n\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent);\n\n var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return;\n }\n\n var tip = this.getTipElement();\n var tipId = Util.getUID(this.constructor.NAME);\n\n tip.setAttribute('id', tipId);\n this.element.setAttribute('aria-describedby', tipId);\n\n this.setContent();\n\n if (this.config.animation) {\n $(tip).addClass(ClassName.FADE);\n }\n\n var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\n\n var attachment = this._getAttachment(placement);\n\n $(tip).data(this.constructor.DATA_KEY, this).appendTo(document.body);\n\n $(this.element).trigger(this.constructor.Event.INSERTED);\n\n this._tether = new Tether({\n attachment: attachment,\n element: tip,\n target: this.element,\n classes: TetherClass,\n classPrefix: CLASS_PREFIX,\n offset: this.config.offset,\n constraints: this.config.constraints,\n addTargetClasses: false\n });\n\n Util.reflow(tip);\n this._tether.position();\n\n $(tip).addClass(ClassName.IN);\n\n var complete = function complete() {\n var prevHoverState = _this16._hoverState;\n _this16._hoverState = null;\n\n $(_this16.element).trigger(_this16.constructor.Event.SHOWN);\n\n if (prevHoverState === HoverState.OUT) {\n _this16._leave(null, _this16);\n }\n };\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);\n return;\n }\n\n complete();\n }\n }\n }, {\n key: 'hide',\n value: function hide(callback) {\n var _this17 = this;\n\n var tip = this.getTipElement();\n var hideEvent = $.Event(this.constructor.Event.HIDE);\n var complete = function complete() {\n if (_this17._hoverState !== HoverState.IN && tip.parentNode) {\n tip.parentNode.removeChild(tip);\n }\n\n _this17.element.removeAttribute('aria-describedby');\n $(_this17.element).trigger(_this17.constructor.Event.HIDDEN);\n _this17.cleanupTether();\n\n if (callback) {\n callback();\n }\n };\n\n $(this.element).trigger(hideEvent);\n\n if (hideEvent.isDefaultPrevented()) {\n return;\n }\n\n $(tip).removeClass(ClassName.IN);\n\n if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {\n\n $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);\n } else {\n complete();\n }\n\n this._hoverState = '';\n }\n\n // protected\n\n }, {\n key: 'isWithContent',\n value: function isWithContent() {\n return Boolean(this.getTitle());\n }\n }, {\n key: 'getTipElement',\n value: function getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0];\n }\n }, {\n key: 'setContent',\n value: function setContent() {\n var $tip = $(this.getTipElement());\n\n this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());\n\n $tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);\n\n this.cleanupTether();\n }\n }, {\n key: 'setElementContent',\n value: function setElementContent($element, content) {\n var html = this.config.html;\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // content is a DOM node or a jQuery\n if (html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content);\n }\n } else {\n $element.text($(content).text());\n }\n } else {\n $element[html ? 'html' : 'text'](content);\n }\n }\n }, {\n key: 'getTitle',\n value: function getTitle() {\n var title = this.element.getAttribute('data-original-title');\n\n if (!title) {\n title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\n }\n\n return title;\n }\n }, {\n key: 'cleanupTether',\n value: function cleanupTether() {\n if (this._tether) {\n this._tether.destroy();\n }\n }\n\n // private\n\n }, {\n key: '_getAttachment',\n value: function _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()];\n }\n }, {\n key: '_setListeners',\n value: function _setListeners() {\n var _this18 = this;\n\n var triggers = this.config.trigger.split(' ');\n\n triggers.forEach(function (trigger) {\n if (trigger === 'click') {\n $(_this18.element).on(_this18.constructor.Event.CLICK, _this18.config.selector, $.proxy(_this18.toggle, _this18));\n } else if (trigger !== Trigger.MANUAL) {\n var eventIn = trigger === Trigger.HOVER ? _this18.constructor.Event.MOUSEENTER : _this18.constructor.Event.FOCUSIN;\n var eventOut = trigger === Trigger.HOVER ? _this18.constructor.Event.MOUSELEAVE : _this18.constructor.Event.FOCUSOUT;\n\n $(_this18.element).on(eventIn, _this18.config.selector, $.proxy(_this18._enter, _this18)).on(eventOut, _this18.config.selector, $.proxy(_this18._leave, _this18));\n }\n });\n\n if (this.config.selector) {\n this.config = $.extend({}, this.config, {\n trigger: 'manual',\n selector: ''\n });\n } else {\n this._fixTitle();\n }\n }\n }, {\n key: '_fixTitle',\n value: function _fixTitle() {\n var titleType = typeof this.element.getAttribute('data-original-title');\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\n this.element.setAttribute('title', '');\n }\n }\n }, {\n key: '_enter',\n value: function _enter(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;\n }\n\n if ($(context.getTipElement()).hasClass(ClassName.IN) || context._hoverState === HoverState.IN) {\n context._hoverState = HoverState.IN;\n return;\n }\n\n clearTimeout(context._timeout);\n\n context._hoverState = HoverState.IN;\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HoverState.IN) {\n context.show();\n }\n }, context.config.delay.show);\n }\n }, {\n key: '_leave',\n value: function _leave(event, context) {\n var dataKey = this.constructor.DATA_KEY;\n\n context = context || $(event.currentTarget).data(dataKey);\n\n if (!context) {\n context = new this.constructor(event.currentTarget, this._getDelegateConfig());\n $(event.currentTarget).data(dataKey, context);\n }\n\n if (event) {\n context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;\n }\n\n if (context._isWithActiveTrigger()) {\n return;\n }\n\n clearTimeout(context._timeout);\n\n context._hoverState = HoverState.OUT;\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide();\n return;\n }\n\n context._timeout = setTimeout(function () {\n if (context._hoverState === HoverState.OUT) {\n context.hide();\n }\n }, context.config.delay.hide);\n }\n }, {\n key: '_isWithActiveTrigger',\n value: function _isWithActiveTrigger() {\n for (var trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n }\n }, {\n key: '_getConfig',\n value: function _getConfig(config) {\n config = $.extend({}, this.constructor.Default, $(this.element).data(), config);\n\n if (config.delay && typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n };\n }\n\n Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);\n\n return config;\n }\n }, {\n key: '_getDelegateConfig',\n value: function _getDelegateConfig() {\n var config = {};\n\n if (this.config) {\n for (var key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key];\n }\n }\n }\n\n return config;\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /destroy|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Tooltip(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }, {\n key: 'NAME',\n get: function get() {\n return NAME;\n }\n }, {\n key: 'DATA_KEY',\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: 'Event',\n get: function get() {\n return Event;\n }\n }, {\n key: 'EVENT_KEY',\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: 'DefaultType',\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Tooltip;\n })();\n\n $.fn[NAME] = Tooltip._jQueryInterface;\n $.fn[NAME].Constructor = Tooltip;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Tooltip._jQueryInterface;\n };\n\n return Tooltip;\n})(jQuery);\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.0.0-alpha.3): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nvar Popover = (function ($) {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\n var NAME = 'popover';\n var VERSION = '4.0.0-alpha.3';\n var DATA_KEY = 'bs.popover';\n var EVENT_KEY = '.' + DATA_KEY;\n var JQUERY_NO_CONFLICT = $.fn[NAME];\n\n var Default = $.extend({}, Tooltip.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '<div class=\"popover\" role=\"tooltip\">' + '<div class=\"popover-arrow\"></div>' + '<h3 class=\"popover-title\"></h3>' + '<div class=\"popover-content\"></div></div>'\n });\n\n var DefaultType = $.extend({}, Tooltip.DefaultType, {\n content: '(string|element|function)'\n });\n\n var ClassName = {\n FADE: 'fade',\n IN: 'in'\n };\n\n var Selector = {\n TITLE: '.popover-title',\n CONTENT: '.popover-content',\n ARROW: '.popover-arrow'\n };\n\n var Event = {\n HIDE: 'hide' + EVENT_KEY,\n HIDDEN: 'hidden' + EVENT_KEY,\n SHOW: 'show' + EVENT_KEY,\n SHOWN: 'shown' + EVENT_KEY,\n INSERTED: 'inserted' + EVENT_KEY,\n CLICK: 'click' + EVENT_KEY,\n FOCUSIN: 'focusin' + EVENT_KEY,\n FOCUSOUT: 'focusout' + EVENT_KEY,\n MOUSEENTER: 'mouseenter' + EVENT_KEY,\n MOUSELEAVE: 'mouseleave' + EVENT_KEY\n };\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n var Popover = (function (_Tooltip) {\n _inherits(Popover, _Tooltip);\n\n function Popover() {\n _classCallCheck(this, Popover);\n\n _get(Object.getPrototypeOf(Popover.prototype), 'constructor', this).apply(this, arguments);\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n _createClass(Popover, [{\n key: 'isWithContent',\n\n // overrides\n\n value: function isWithContent() {\n return this.getTitle() || this._getContent();\n }\n }, {\n key: 'getTipElement',\n value: function getTipElement() {\n return this.tip = this.tip || $(this.config.template)[0];\n }\n }, {\n key: 'setContent',\n value: function setContent() {\n var $tip = $(this.getTipElement());\n\n // we use append for html objects to maintain js events\n this.setElementContent($tip.find(Selector.TITLE), this.getTitle());\n this.setElementContent($tip.find(Selector.CONTENT), this._getContent());\n\n $tip.removeClass(ClassName.FADE).removeClass(ClassName.IN);\n\n this.cleanupTether();\n }\n\n // private\n\n }, {\n key: '_getContent',\n value: function _getContent() {\n return this.element.getAttribute('data-content') || (typeof this.config.content === 'function' ? this.config.content.call(this.element) : this.config.content);\n }\n\n // static\n\n }], [{\n key: '_jQueryInterface',\n value: function _jQueryInterface(config) {\n return this.each(function () {\n var data = $(this).data(DATA_KEY);\n var _config = typeof config === 'object' ? config : null;\n\n if (!data && /destroy|hide/.test(config)) {\n return;\n }\n\n if (!data) {\n data = new Popover(this, _config);\n $(this).data(DATA_KEY, data);\n }\n\n if (typeof config === 'string') {\n if (data[config] === undefined) {\n throw new Error('No method named \"' + config + '\"');\n }\n data[config]();\n }\n });\n }\n }, {\n key: 'VERSION',\n\n // getters\n\n get: function get() {\n return VERSION;\n }\n }, {\n key: 'Default',\n get: function get() {\n return Default;\n }\n }, {\n key: 'NAME',\n get: function get() {\n return NAME;\n }\n }, {\n key: 'DATA_KEY',\n get: function get() {\n return DATA_KEY;\n }\n }, {\n key: 'Event',\n get: function get() {\n return Event;\n }\n }, {\n key: 'EVENT_KEY',\n get: function get() {\n return EVENT_KEY;\n }\n }, {\n key: 'DefaultType',\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return Popover;\n })(Tooltip);\n\n $.fn[NAME] = Popover._jQueryInterface;\n $.fn[NAME].Constructor = Popover;\n $.fn[NAME].noConflict = function () {\n $.fn[NAME] = JQUERY_NO_CONFLICT;\n return Popover._jQueryInterface;\n };\n\n return Popover;\n})(jQuery);\n\n}(jQuery);\n","const Util = (() => {\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transitionEnd = false\n let transitionEndSelector = ''\n\n const TransitionEndEvent = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n let el = document.createElement('bmd')\n\n for (let name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return TransitionEndEvent[name] // { end: TransitionEndEvent[name] }\n }\n }\n\n return false\n }\n\n function setTransitionEndSupport() {\n transitionEnd = transitionEndTest()\n\n // generate a concatenated transition end event selector\n for (let name in TransitionEndEvent) {\n transitionEndSelector += ` ${TransitionEndEvent[name]}`\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n let Util = {\n\n transitionEndSupported() {\n return transitionEnd\n },\n\n transitionEndSelector() {\n return transitionEndSelector\n },\n\n isChar(event) {\n if (typeof event.which === 'undefined') {\n return true\n } else if (typeof event.which === 'number' && event.which > 0) {\n return (\n !event.ctrlKey\n && !event.metaKey\n && !event.altKey\n && event.which !== 8 // backspace\n && event.which !== 9 // tab\n && event.which !== 13 // enter\n && event.which !== 16 // shift\n && event.which !== 17 // ctrl\n && event.which !== 20 // caps lock\n && event.which !== 27 // escape\n )\n }\n return false\n },\n\n assert($element, invalidTest, message) {\n if (invalidTest) {\n if (!$element === undefined) {\n $element.css('border', '1px solid red')\n }\n console.error(message, $element) // eslint-disable-line no-console\n throw message\n }\n },\n\n describe($element) {\n if ($element === undefined) {\n return 'undefined'\n } else if ($element.length === 0) {\n return '(no matching elements)'\n }\n return `${$element[0].outerHTML.split('>')[0]}>`\n }\n }\n\n setTransitionEndSupport()\n return Util\n\n})(jQuery)\n\nexport default Util\n","import Util from './util'\n\nconst Base = (($) => {\n\n const ClassName = {\n BMD_FORM_GROUP: 'bmd-form-group',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused'\n }\n\n const Selector = {\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`\n }\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n\n // set properties for use in the constructor initialization\n for (let key in properties) {\n this[key] = properties[key]\n }\n }\n\n dispose(dataKey) {\n this.$element.data(dataKey, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n addFormGroupFocus() {\n if (!this.$element.prop('disabled')) {\n this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED)\n }\n }\n\n removeFormGroupFocus() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED)\n }\n\n removeIsFilled() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FILLED)\n }\n\n addIsFilled() {\n this.$bmdFormGroup.addClass(ClassName.IS_FILLED)\n }\n\n // Find bmd-form-group\n findMdbFormGroup(raiseError = true) {\n let mfg = this.$element.closest(Selector.BMD_FORM_GROUP)\n if (mfg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return mfg\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return Base\n\n})(jQuery)\n\nexport default Base\n","import Base from './base'\nimport Util from './util'\n\nconst BaseInput = (($) => {\n\n const ClassName = {\n FORM_GROUP: 'form-group',\n BMD_FORM_GROUP: 'bmd-form-group',\n BMD_LABEL: 'bmd-label',\n BMD_LABEL_STATIC: 'bmd-label-static',\n BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',\n BMD_LABEL_FLOATING: 'bmd-label-floating',\n HAS_DANGER: 'has-danger',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused',\n INPUT_GROUP: 'input-group'\n }\n\n const Selector = {\n FORM_GROUP: `.${ClassName.FORM_GROUP}`,\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`,\n BMD_LABEL_WILDCARD: `label[class^='${ClassName.BMD_LABEL}'], label[class*=' ${ClassName.BMD_LABEL}']` // match any label variant if specified\n }\n\n const Default = {\n validate: false,\n formGroup: {\n required: false\n },\n bmdFormGroup: {\n template: `<span class='${ClassName.BMD_FORM_GROUP}'></span>`,\n create: true, // create a wrapper if form-group not found\n required: true // not recommended to turn this off, only used for inline components\n },\n label: {\n required: false,\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n selectors: [\n `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n `> label` // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.\n ],\n className: ClassName.BMD_LABEL_STATIC\n },\n requiredClasses: [],\n invalidComponentMatches: [],\n convertInputSizeVariations: true\n }\n\n const FormControlSizeMarkers = {\n 'form-control-lg': 'bmd-form-group-lg',\n 'form-control-sm': 'bmd-form-group-sm'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseInput extends Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n // Enforce no overlap between components to prevent side effects\n this._rejectInvalidComponentMatches()\n\n // Enforce expected structure (if any)\n this.rejectWithoutRequiredStructure()\n\n // Enforce required classes for a consistent rendering\n this._rejectWithoutRequiredClasses()\n\n // Resolve the form-group first, it will be used for bmd-form-group if possible\n // note: different components have different rules\n this.$formGroup = this.findFormGroup(this.config.formGroup.required)\n\n // Will add bmd-form-group to form-group or create an bmd-form-group\n // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid\n // rendering changes once added.\n this.$bmdFormGroup = this.resolveMdbFormGroup()\n\n // Resolve and mark the bmdLabel if necessary as defined by the config\n this.$bmdLabel = this.resolveMdbLabel()\n\n // Signal to the bmd-form-group that a form-control-* variation is being used\n this.resolveMdbFormGroupSizing()\n\n this.addFocusListener()\n this.addChangeListener()\n\n if(this.$element.val() != ''){\n this.addIsFilled()\n }\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$bmdFormGroup = null\n this.$formGroup = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n rejectWithoutRequiredStructure() {\n // implement\n }\n\n addFocusListener() {\n this.$element\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element\n .on('keydown paste', (event) => {\n if (Util.isChar(event)) {\n this.addIsFilled()\n }\n })\n .on('keyup change', () => {\n\n // make sure empty is added back when there is a programmatic value change.\n // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')\n if (this.isEmpty()) {\n this.removeIsFilled()\n } else {\n this.addIsFilled()\n }\n\n if (this.config.validate) {\n // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/\n // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter\n // the form-group on change.\n //\n // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.\n // BUT, I've left it here for backwards compatibility.\n let isValid = (typeof this.$element[0].checkValidity === 'undefined' || this.$element[0].checkValidity())\n if (isValid) {\n this.removeHasDanger()\n } else {\n this.addHasDanger()\n }\n }\n })\n }\n\n addHasDanger() {\n this.$bmdFormGroup.addClass(ClassName.HAS_DANGER)\n }\n\n removeHasDanger() {\n this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER)\n }\n\n isEmpty() {\n return (this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '')\n }\n\n // Will add bmd-form-group to form-group or create a bmd-form-group if necessary\n resolveMdbFormGroup() {\n let mfg = this.findMdbFormGroup(false)\n if (mfg === undefined || mfg.length === 0) {\n if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {\n // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).\n // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.\n\n // this may be an input-group, wrap that instead\n if(this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)){\n this.outerElement().parent().wrap(this.config.bmdFormGroup.template)\n }\n else{\n this.outerElement().wrap(this.config.bmdFormGroup.template)\n }\n } else {\n // a form-group does exist, add our marker class to it\n this.$formGroup.addClass(ClassName.BMD_FORM_GROUP)\n\n // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable\n // A form-group does exist, so add an bmd-form-group wrapping it's internal contents\n //fg.wrapInner(this.config.bmdFormGroup.template)\n }\n\n mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required)\n }\n\n return mfg\n }\n\n // Demarcation element (e.g. first child of a form-group)\n // Subclasses such as file inputs may have different structures\n outerElement() {\n return this.$element\n }\n\n // Will add bmd-label to bmd-form-group if not already specified\n resolveMdbLabel() {\n\n let label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD)\n if (label === undefined || label.length === 0) {\n // we need to find it based on the configured selectors\n label = this.findMdbLabel(this.config.label.required)\n\n if (label === undefined || label.length === 0) {\n // no label found, and finder did not require one\n } else {\n // a candidate label was found, add the configured default class name\n label.addClass(this.config.label.className)\n }\n }\n\n return label\n }\n\n // Find bmd-label variant based on the config selectors\n findMdbLabel(raiseError = true) {\n let label = null\n\n // use the specified selector order\n for (let selector of this.config.label.selectors) {\n if ($.isFunction(selector)) {\n label = selector(this)\n } else {\n label = this.$bmdFormGroup.find(selector)\n }\n\n if (label !== undefined && label.length > 0) {\n break\n }\n }\n\n if (label.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_LABEL_WILDCARD} within form-group for ${Util.describe(this.$element)}`)\n }\n return label\n }\n\n // Find bmd-form-group\n findFormGroup(raiseError = true) {\n let fg = this.$element.closest(Selector.FORM_GROUP)\n if (fg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return fg\n }\n\n // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on\n // a found form-control-* size\n resolveMdbFormGroupSizing() {\n if (!this.config.convertInputSizeVariations) {\n return\n }\n\n // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)\n for (let inputSize in FormControlSizeMarkers) {\n if (this.$element.hasClass(inputSize)) {\n //this.$element.removeClass(inputSize)\n this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize])\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // private\n _rejectInvalidComponentMatches() {\n for (let otherComponent of this.config.invalidComponentMatches) {\n otherComponent.rejectMatch(this.constructor.name, this.$element)\n }\n }\n\n _rejectWithoutRequiredClasses() {\n for (let requiredClass of this.config.requiredClasses) {\n\n let found = false\n // allow one of several classes to be passed in x||y\n if (requiredClass.indexOf('||') !== -1) {\n let oneOf = requiredClass.split('||')\n for (let requiredClass of oneOf) {\n if (this.$element.hasClass(requiredClass)) {\n found = true\n break\n }\n }\n } else if (this.$element.hasClass(requiredClass)) {\n found = true\n }\n\n // error if not found\n if (!found) {\n $.error(`${this.constructor.name} element: ${Util.describe(this.$element)} requires class: ${requiredClass}`)\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseInput\n\n})(jQuery)\n\nexport default BaseInput\n","import BaseInput from './baseInput'\nimport Util from './util'\n\nconst BaseSelection = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n label: {\n required: false\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n //selectors: [\n // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n // `> label` // usual case for text inputs\n //]\n }\n }\n\n const Selector = {\n LABEL: 'label'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseSelection extends BaseInput {\n\n constructor($element, config, properties) {\n // properties = {inputType: checkbox, outerClass: checkbox-inline}\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n\n super($element, $.extend(true, {}, Default, config), properties)\n this.decorateMarkup()\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n decorateMarkup() {\n this.$element.after(this.config.template)\n }\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // .checkbox|switch|radio > label > input[type=checkbox|radio]\n // label.checkbox-inline > input[type=checkbox|radio]\n // .${this.outerClass} > label > input[type=${this.inputType}]\n return this.$element.parent().closest(`.${this.outerClass}`)\n }\n\n rejectWithoutRequiredStructure() {\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), `${this.constructor.name}'s ${Util.describe(this.$element)} outer element should have class ${this.outerClass}.`)\n }\n\n addFocusListener() {\n // checkboxes didn't appear to bubble to the document, so we'll bind these directly\n this.$element.closest(Selector.LABEL).hover(() => {\n this.addFormGroupFocus()\n }, () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element.change(() => {\n this.$element.blur()\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n }\n\n return BaseSelection\n\n})(jQuery)\n\nexport default BaseSelection\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Radio from './radio'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Checkbox = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkbox'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='checkbox-decorator'><span class='check'></span></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Checkbox extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.checkbox > label > input[type=checkbox]'\n if ($element.attr('type') === 'checkbox') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Checkbox($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Checkbox._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Checkbox\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Checkbox._jQueryInterface\n }\n\n return Checkbox\n\n})(jQuery)\n\nexport default Checkbox\n","import Checkbox from './checkbox'\n\nconst CheckboxInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkboxInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CheckboxInline extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'checkbox-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n //static matches($element) {\n // // '.checkbox-inline > input[type=checkbox]'\n // if ($element.attr('type') === 'checkbox') {\n // return true\n // }\n // return false\n //}\n //\n //static rejectMatch(component, $element) {\n // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n //}\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CheckboxInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CheckboxInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CheckboxInline._jQueryInterface\n }\n\n return CheckboxInline\n\n})(jQuery)\n\nexport default CheckboxInline\n","import Base from './base'\nimport Util from './util'\n\nconst CollapseInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'collapseInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Selector = {\n ANY_INPUT: 'input, select, textarea'\n }\n\n const ClassName = {\n IN: 'in',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed',\n WIDTH: 'width'\n }\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CollapseInline extends Base {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"collapse\" data-target=\"#search-field\" aria-expanded=\"false\" aria-controls=\"search-field\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n this.$bmdFormGroup = this.findMdbFormGroup(true)\n\n let collapseSelector = $element.data('target')\n this.$collapse = $(collapseSelector)\n\n Util.assert($element, this.$collapse.length === 0, `Cannot find collapse target for ${Util.describe($element)}`)\n Util.assert(this.$collapse, !this.$collapse.hasClass(ClassName.COLLAPSE), `${Util.describe(this.$collapse)} is expected to have the '${ClassName.COLLAPSE}' class. It is being targeted by ${Util.describe($element)}`)\n\n // find the first input for focusing\n let $inputs = this.$bmdFormGroup.find(Selector.ANY_INPUT)\n if ($inputs.length > 0) {\n this.$input = $inputs.first()\n }\n\n // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten\n if (!this.$collapse.hasClass(ClassName.WIDTH)) {\n this.$collapse.addClass(ClassName.WIDTH)\n }\n\n if (this.$input) {\n // add a listener to set focus\n this.$collapse.on('shown.bs.collapse', () => {\n this.$input.focus()\n })\n\n // add a listener to collapse field\n this.$input.blur(() => {\n this.$collapse.collapse('hide')\n })\n }\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$bmdFormGroup = null\n this.$collapse = null\n this.$input = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CollapseInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CollapseInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CollapseInline._jQueryInterface\n }\n\n return CollapseInline\n\n})(jQuery)\n\nexport default CollapseInline\n","import BaseInput from './baseInput'\n//import Checkbox from './checkbox'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst File = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'file'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n const ClassName = {\n FILE: NAME,\n IS_FILE: 'is-file'\n }\n\n const Selector = {\n FILENAMES: 'input.form-control[readonly]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class File extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},\n Default, config))\n\n this.$bmdFormGroup.addClass(ClassName.IS_FILE)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'file') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='file'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // label.file > input[type=file]\n return this.$element.parent().closest(`.${ClassName.FILE}`)\n }\n\n rejectWithoutRequiredStructure() {\n // label.file > input[type=file]\n Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should have class .${ClassName.FILE}.`)\n }\n\n addFocusListener() {\n this.$bmdFormGroup\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n // set the fileinput readonly field with the name of the file\n this.$element.on('change', () => {\n let value = ''\n $.each(this.$element.files, (i, file) => {\n value += `${file.name} , `\n })\n value = value.substring(0, value.length - 2)\n if (value) {\n this.addIsFilled()\n } else {\n this.removeIsFilled()\n }\n this.$bmdFormGroup.find(Selector.FILENAMES).val(value)\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new File($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = File._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = File\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return File._jQueryInterface\n }\n\n return File\n\n})(jQuery)\n\nexport default File\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Checkbox from './checkbox'\n//import Switch from './switch'\nimport Util from './util'\n\nconst Radio = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radio'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-radio-outer-circle'></span><span class='bmd-radio-inner-circle'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Radio extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Switch, Text]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.radio > label > input[type=radio]'\n if ($element.attr('type') === 'radio') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='radio'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n //decorateMarkup() {\n // this.$element.after(this.config.template)\n //}\n\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Radio($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Radio._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Radio\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Radio._jQueryInterface\n }\n\n return Radio\n\n})(jQuery)\n\nexport default Radio\n","import Radio from './radio'\n\nconst RadioInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radioInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class RadioInline extends Radio {\n\n constructor($element, config, properties = {inputType: 'radio', outerClass: 'radio-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new RadioInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = RadioInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = RadioInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return RadioInline._jQueryInterface\n }\n\n return RadioInline\n\n})(jQuery)\n\nexport default RadioInline\n","import BaseInput from './baseInput'\n\nconst BaseFormControl = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n requiredClasses: ['form-control']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseFormControl extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true, Default, config))\n\n // Initially mark as empty\n if (this.isEmpty()) {\n this.removeIsFilled()\n }\n }\n }\n\n\n return BaseFormControl\n\n})(jQuery)\n\nexport default BaseFormControl\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\nimport Util from './util'\n\nconst Select = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'select'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n requiredClasses: ['form-control||custom-select']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Select extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},\n Default, config))\n\n // floating labels will cover the options, so trigger them to be above (if used)\n this.addIsFilled()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'select') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <select>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Select($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Select._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Select\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Select._jQueryInterface\n }\n\n return Select\n\n})(jQuery)\n\nexport default Select\n","import Checkbox from './checkbox'\n\nconst Switch = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'switch'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-switch-track'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Switch extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'switch'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n // selector: '.switch > label > input[type=checkbox]'\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Switch($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Switch._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Switch\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Switch._jQueryInterface\n }\n\n return Switch\n\n})(jQuery)\n\nexport default Switch\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Text = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'text'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Text extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},\n Default, config))\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'text') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='text'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Text($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Text._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Text\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Text._jQueryInterface\n }\n\n return Text\n\n})(jQuery)\n\nexport default Text\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Select from './select'\nimport Util from './util'\n\nconst Textarea = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'textarea'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Textarea extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},\n Default, config))\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'textarea') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <textarea>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Textarea($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Textarea._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Textarea\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Textarea._jQueryInterface\n }\n\n return Textarea\n\n})(jQuery)\n\nexport default Textarea\n","import Base from './base'\nimport Util from './util'\n\nconst BaseLayout = (($) => {\n\n const ClassName = {\n CANVAS: 'bmd-layout-canvas',\n CONTAINER: 'bmd-layout-container',\n BACKDROP: `bmd-layout-backdrop`\n }\n\n const Selector = {\n CANVAS: `.${ClassName.CANVAS}`,\n CONTAINER: `.${ClassName.CONTAINER}`,\n BACKDROP: `.${ClassName.BACKDROP}`\n }\n\n const Default = {\n canvas: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.CANVAS}\"></div>`\n },\n backdrop: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.BACKDROP}\"></div>`\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseLayout extends Base {\n\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n this.$container = this.findContainer(true)\n this.$backdrop = this.resolveBackdrop()\n this.resolveCanvas();\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$container = null\n this.$backdrop = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Will wrap container in bmd-layout-canvas if necessary\n resolveCanvas() {\n let bd = this.findCanvas(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.canvas.create) {\n this.$container.wrap(this.config.canvas.template)\n }\n\n bd = this.findCanvas(this.config.canvas.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findCanvas(raiseError = true, context = this.$container) {\n let canvas = context.closest(Selector.CANVAS)\n if (canvas.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CANVAS} for ${Util.describe(context)}`)\n }\n return canvas\n }\n\n // Will add bmd-layout-backdrop to bmd-layout-container if necessary\n resolveBackdrop() {\n let bd = this.findBackdrop(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.backdrop.create) {\n this.$container.append(this.config.backdrop.template)\n }\n\n bd = this.findBackdrop(this.config.backdrop.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findBackdrop(raiseError = true, context = this.$container) {\n let backdrop = context.find(`> ${Selector.BACKDROP}`)\n if (backdrop.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BACKDROP} for ${Util.describe(context)}`)\n }\n return backdrop\n }\n\n // Find closest bmd-layout-container based on the given context\n findContainer(raiseError = true, context = this.$element) {\n let container = context.closest(Selector.CONTAINER)\n if (container.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CONTAINER} for ${Util.describe(context)}`)\n }\n return container\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseLayout\n\n})(jQuery)\n\nexport default BaseLayout\n","import BaseLayout from './baseLayout'\n\nconst Drawer = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'drawer'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Keycodes = {\n ESCAPE: 27\n //ENTER: 13,\n //SPACE: 32\n }\n\n const ClassName = {\n IN: 'in',\n DRAWER_IN: `bmd-drawer-in`,\n DRAWER_OUT: `bmd-drawer-out`,\n DRAWER: 'bmd-layout-drawer',\n CONTAINER: 'bmd-layout-container'\n }\n\n const Default = {\n focusSelector: `a, button, input`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Drawer extends BaseLayout {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"drawer\" data-target=\"#my-side-nav-drawer\" aria-expanded=\"false\" aria-controls=\"my-side-nav-drawer\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this.$toggles = $(`[data-toggle=\"drawer\"][href=\"#${this.$element[0].id}\"], [data-toggle=\"drawer\"][data-target=\"#${this.$element[0].id}\"]`)\n\n this._addAria()\n\n // click or escape on the backdrop closes the drawer\n this.$backdrop.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n }).click(() => {\n this.hide()\n })\n\n // escape on the drawer closes it\n this.$element.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n })\n\n // any toggle button clicks\n this.$toggles.click(() => {\n this.toggle()\n })\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$toggles = null\n }\n\n toggle() {\n if (this._isOpen()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isForcedClosed() || this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', true)\n this.$element.attr('aria-expanded', true)\n this.$element.attr('aria-hidden', false)\n\n // focus on the first focusable item\n let $focusOn = this.$element.find(this.config.focusSelector)\n if ($focusOn.length > 0) {\n $focusOn.first().focus()\n }\n\n this.$container.addClass(ClassName.DRAWER_IN)\n // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.\n this.$backdrop.addClass(ClassName.IN)\n }\n\n hide() {\n if (!this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', false)\n this.$element.attr('aria-expanded', false)\n this.$element.attr('aria-hidden', true)\n\n this.$container.removeClass(ClassName.DRAWER_IN)\n this.$backdrop.removeClass(ClassName.IN)\n }\n\n\n // ------------------------------------------------------------------------\n // private\n\n _isOpen() {\n return this.$container.hasClass(ClassName.DRAWER_IN)\n }\n\n _isForcedClosed() {\n return this.$container.hasClass(ClassName.DRAWER_OUT)\n }\n\n _addAria() {\n let isOpen = this._isOpen()\n this.$element.attr('aria-expanded', isOpen)\n this.$element.attr('aria-hidden', isOpen)\n\n if (this.$toggles.length) {\n this.$toggles.attr('aria-expanded', isOpen)\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Drawer($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Drawer._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Drawer\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Drawer._jQueryInterface\n }\n\n return Drawer\n\n})(jQuery)\n\nexport default Drawer\n","import Util from './util'\n\nconst Ripples = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'ripples'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const ClassName = {\n CONTAINER: 'ripple-container',\n DECORATOR: 'ripple-decorator'\n }\n\n const Selector = {\n CONTAINER: `.${ClassName.CONTAINER}`,\n DECORATOR: `.${ClassName.DECORATOR}` //,\n }\n\n\n const Default = {\n container: {\n template: `<div class='${ClassName.CONTAINER}'></div>`\n },\n decorator: {\n template: `<div class='${ClassName.DECORATOR}'></div>`\n },\n trigger: {\n start: 'mousedown touchstart',\n end: 'mouseup mouseleave touchend'\n },\n touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,\n duration: 500\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Ripples {\n\n constructor($element, config) {\n this.$element = $element\n\n //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console\n this.config = $.extend(true, {}, Default, config)\n\n // attach initial listener\n this.$element.on(this.config.trigger.start, (event) => {\n this._onStartRipple(event)\n })\n }\n\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.$container = null\n this.$decorator = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _onStartRipple(event) {\n\n // Verify if the user is just touching on a device and return if so\n if (this._isTouch() && event.type === 'mousedown') {\n return\n }\n\n // Find or create the ripple container element\n this._findOrCreateContainer()\n\n // Get relY and relX positions of the container element\n let relY = this._getRelY(event)\n let relX = this._getRelX(event)\n\n // If relY and/or relX are false, return the event\n if (!relY && !relX) {\n return\n }\n\n // set the location and color each time (even if element is cached)\n this.$decorator.css({\n left: relX,\n top: relY,\n 'background-color': this._getRipplesColor()\n })\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n this._forceStyleApplication()\n\n // Turn on the ripple animation\n this.rippleOn()\n\n // Call the rippleEnd function when the transition 'on' ends\n setTimeout(() => {\n this.rippleEnd()\n }, this.config.duration)\n\n // Detect when the user leaves the element to cleanup if not already done?\n this.$element.on(this.config.trigger.end, () => {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('mousedown', 'off')\n\n if (this.$decorator.data('animating') === 'off') {\n this.rippleOut()\n }\n }\n })\n }\n\n _findOrCreateContainer() {\n if (!this.$container || !this.$container.length > 0) {\n this.$element.append(this.config.container.template)\n this.$container = this.$element.find(Selector.CONTAINER)\n }\n\n // always add the rippleElement, it is always removed\n this.$container.append(this.config.decorator.template)\n this.$decorator = this.$container.find(Selector.DECORATOR)\n }\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n _forceStyleApplication() {\n return window.getComputedStyle(this.$decorator[0]).opacity\n }\n\n\n /**\n * Get the relX\n */\n _getRelX(event) {\n let wrapperOffset = this.$container.offset()\n\n let result = null\n if (!this._isTouch()) {\n // Get the mouse position relative to the ripple wrapper\n result = event.pageX - wrapperOffset.left\n } else {\n // Make sure the user is using only one finger and then get the touch\n // position relative to the ripple wrapper\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageX - wrapperOffset.left\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the relY\n */\n _getRelY(event) {\n let containerOffset = this.$container.offset()\n let result = null\n\n if (!this._isTouch()) {\n /**\n * Get the mouse position relative to the ripple wrapper\n */\n result = event.pageY - containerOffset.top\n } else {\n /**\n * Make sure the user is using only one finger and then get the touch\n * position relative to the ripple wrapper\n */\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageY - containerOffset.top\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the ripple color\n */\n _getRipplesColor() {\n let color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color\n return color\n }\n\n /**\n * Verify if the client is using a mobile device\n */\n _isTouch() {\n return this.config.touchUserAgentRegex.test(navigator.userAgent)\n }\n\n /**\n * End the animation of the ripple\n */\n rippleEnd() {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('animating', 'off')\n\n if (this.$decorator.data('mousedown') === 'off') {\n this.rippleOut(this.$decorator)\n }\n }\n }\n\n /**\n * Turn off the ripple effect\n */\n rippleOut() {\n this.$decorator.off()\n\n if (Util.transitionEndSupported()) {\n this.$decorator.addClass('ripple-out')\n } else {\n this.$decorator.animate({opacity: 0}, 100, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n\n this.$decorator.on(Util.transitionEndSelector(), () => {\n if (this.$decorator) {\n this.$decorator.remove()\n this.$decorator = null\n }\n })\n }\n\n /**\n * Turn on the ripple effect\n */\n rippleOn() {\n let size = this._getNewSize()\n\n if (Util.transitionEndSupported()) {\n this.$decorator\n .css({\n '-ms-transform': `scale(${size})`,\n '-moz-transform': `scale(${size})`,\n '-webkit-transform': `scale(${size})`,\n transform: `scale(${size})`\n })\n .addClass('ripple-on')\n .data('animating', 'on')\n .data('mousedown', 'on')\n } else {\n this.$decorator.animate({\n width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n opacity: 0.2\n }, this.config.duration, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n }\n\n /**\n * Get the new size based on the element height/width and the ripple width\n */\n _getNewSize() {\n return (Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth()) * 2.5\n }\n\n // ------------------------------------------------------------------------\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Ripples($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Ripples._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Ripples\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Ripples._jQueryInterface\n }\n\n return Ripples\n\n})(jQuery)\n\nexport default Ripples\n","import Base from './base'\n\nconst Autofill = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'autofill'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Autofill extends Base {\n\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this._watchLoading()\n this._attachEventHandlers()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _watchLoading() {\n // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them\n setTimeout(() => {\n clearInterval(this._onLoading)\n }, 10000)\n }\n\n // This part of code will detect autofill when the page is loading (username and password inputs for example)\n _onLoading() {\n setInterval(() => {\n $('input[type!=checkbox]').each((index, element) => {\n let $element = $(element)\n if ($element.val() && $element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n }\n\n _attachEventHandlers() {\n // Listen on inputs of the focused form\n // (because user can select from the autofill dropdown only when the input has focus)\n let focused = null\n $(document)\n .on('focus', 'input', (event) => {\n let $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]')\n focused = setInterval(() => {\n $inputs.each((index, element) => {\n let $element = $(element)\n if ($element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n })\n .on('blur', '.form-group input', () => {\n clearInterval(focused)\n })\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Autofill($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Autofill._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Autofill\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Autofill._jQueryInterface\n }\n\n return Autofill\n\n})(jQuery)\n\nexport default Autofill\n","/**\n * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally\n * used in Bootstrap Material Design. You may pass overrides to the configurations\n * which will be passed into each component, or you may omit use of this class and\n * configure each component separately.\n */\nconst BootstrapMaterialDesign = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'bootstrapMaterialDesign'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = NAME // retain this full name since it is long enough not to conflict\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n /**\n * Global configuration:\n * The global configuration hash will be mixed in to each components' config.\n * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component\n *\n *\n * Component configuration:\n * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector\n * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })\n *\n * @see each individual component for more configuration settings.\n */\n const Default = {\n global: {\n validate: false,\n label: {\n className: 'bmd-label-static' // default style of label to be used if not specified in the html markup\n }\n },\n autofill: {\n selector: 'body'\n },\n checkbox: {\n selector: '.checkbox > label > input[type=checkbox]'\n },\n checkboxInline: {\n selector: 'label.checkbox-inline > input[type=checkbox]'\n },\n collapseInline: {\n selector: '.bmd-collapse-inline [data-toggle=\"collapse\"]'\n },\n drawer: {\n selector: '.bmd-layout-drawer'\n },\n file: {\n selector: 'input[type=file]'\n },\n radio: {\n selector: '.radio > label > input[type=radio]'\n },\n radioInline: {\n selector: 'label.radio-inline > input[type=radio]'\n },\n ripples: {\n //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only\n selector: [\n '.btn:not(.btn-link):not(.ripple-none)',\n '.card-image:not(.ripple-none)',\n '.navbar a:not(.ripple-none)',\n '.dropdown-menu a:not(.ripple-none)',\n '.nav-tabs a:not(.ripple-none)',\n '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)',\n '.ripple' // generic marker class to add ripple to elements\n ]\n },\n select: {\n selector: ['select']\n },\n switch: {\n selector: '.switch > label > input[type=checkbox]'\n },\n text: {\n // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.\n selector: [`input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])`]\n },\n textarea: {\n selector: ['textarea']\n },\n arrive: true,\n // create an ordered component list for instantiation\n instantiation: [\n 'ripples',\n 'checkbox',\n 'checkboxInline',\n 'collapseInline',\n 'drawer',\n //'file',\n 'radio',\n 'radioInline',\n 'switch',\n 'text',\n 'textarea',\n 'select',\n 'autofill'\n ]\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BootstrapMaterialDesign {\n\n constructor($element, config) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n let $document = $(document)\n\n for (let component of this.config.instantiation) {\n\n // the component's config fragment is passed in directly, allowing users to override\n let componentConfig = this.config[component]\n\n // check to make sure component config is enabled (not `false`)\n if (componentConfig) {\n\n // assemble the selector as it may be an array\n let selector = this._resolveSelector(componentConfig)\n\n // mix in global options\n componentConfig = $.extend(true, {}, this.config.global, componentConfig)\n\n // create the jquery fn name e.g. 'bmdText' for 'text'\n let componentName = `${component.charAt(0).toUpperCase() + component.slice(1)}`\n let jqueryFn = `bmd${componentName}`\n\n try {\n // safely instantiate component on selector elements with config, report errors and move on.\n // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console\n $(selector)[jqueryFn](componentConfig)\n\n // add to arrive if present and enabled\n if (document.arrive && this.config.arrive) {\n $document.arrive(selector, function(){ // eslint-disable-line no-loop-func\n $(this)[jqueryFn](componentConfig)\n })\n }\n } catch (e) {\n let message = `Failed to instantiate component: $('${selector}')[${jqueryFn}](${componentConfig})`\n console.error(message, e, `\\nSelected elements: `, $(selector)) // eslint-disable-line no-console\n throw e\n }\n }\n }\n }\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _resolveSelector(componentConfig) {\n let selector = componentConfig.selector\n if (Array.isArray(selector)) {\n selector = selector.join(', ')\n }\n\n return selector\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new BootstrapMaterialDesign($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return BootstrapMaterialDesign._jQueryInterface\n }\n\n return BootstrapMaterialDesign\n\n})(jQuery)\n\nexport default BootstrapMaterialDesign\n"],"names":["commonjsHelpers.interopDefault","babelHelpers.typeof","commonjsHelpers.commonjsGlobal","this"],"mappings":"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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,"&quot;")+'"'),p1+">"+S+"</"+tag+">"};module.exports=function(NAME,exec){var O={};O[NAME]=exec(createHTML),$export($export.P+$export.F*fails(function(){var test=""[NAME]('"');return test!==test.toLowerCase()||test.split('"').length>3}),"String",O)}}),_stringHtml$1=interopDefault(_stringHtml),require$$0$28=Object.freeze({"default":_stringHtml$1}),es6_string_anchor=createCommonjsModule(function(module){interopDefault(require$$0$28)("anchor",function(createHTML){return function(name){return createHTML(this,"a","name",name)}})});interopDefault(es6_string_anchor);var es6_string_big=createCommonjsModule(function(module){interopDefault(require$$0$28)("big",function(createHTML){return function(){return createHTML(this,"big","","")}})});interopDefault(es6_string_big);var es6_string_blink=createCommonjsModule(function(module){interopDefault(require$$0$28)("blink",function(createHTML){return function(){return createHTML(this,"blink","","")}})});interopDefault(es6_string_blink);var es6_string_bold=createCommonjsModule(function(module){interopDefault(require$$0$28)("bold",function(createHTML){return function(){return createHTML(this,"b","","")}})});interopDefault(es6_string_bold);var es6_string_fixed=createCommonjsModule(function(module){interopDefault(require$$0$28)("fixed",function(createHTML){return function(){return createHTML(this,"tt","","")}})});interopDefault(es6_string_fixed);var es6_string_fontcolor=createCommonjsModule(function(module){interopDefault(require$$0$28)("fontcolor",function(createHTML){return function(color){return createHTML(this,"font","color",color)}})});interopDefault(es6_string_fontcolor);var es6_string_fontsize=createCommonjsModule(function(module){interopDefault(require$$0$28)("fontsize",function(createHTML){return function(size){return createHTML(this,"font","size",size)}})});interopDefault(es6_string_fontsize);var es6_string_italics=createCommonjsModule(function(module){interopDefault(require$$0$28)("italics",function(createHTML){return function(){return createHTML(this,"i","","")}})});interopDefault(es6_string_italics);var es6_string_link=createCommonjsModule(function(module){interopDefault(require$$0$28)("link",function(createHTML){return function(url){return createHTML(this,"a","href",url)}})});interopDefault(es6_string_link);var es6_string_small=createCommonjsModule(function(module){interopDefault(require$$0$28)("small",function(createHTML){return function(){return createHTML(this,"small","","")}})});interopDefault(es6_string_small);var es6_string_strike=createCommonjsModule(function(module){interopDefault(require$$0$28)("strike",function(createHTML){return function(){return createHTML(this,"strike","","")}})});interopDefault(es6_string_strike);var es6_string_sub=createCommonjsModule(function(module){interopDefault(require$$0$28)("sub",function(createHTML){return function(){return createHTML(this,"sub","","")}})});interopDefault(es6_string_sub);var es6_string_sup=createCommonjsModule(function(module){interopDefault(require$$0$28)("sup",function(createHTML){return function(){return createHTML(this,"sup","","")}})});interopDefault(es6_string_sup);var es6_date_now=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Date",{now:function(){return(new Date).getTime()}})});interopDefault(es6_date_now);var es6_date_toJson=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),toPrimitive=interopDefault(require$$4$1);$export($export.P+$export.F*interopDefault(require$$1$1)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(key){var O=toObject(this),pv=toPrimitive(O);return"number"!=typeof pv||isFinite(pv)?O.toISOString():null}})});interopDefault(es6_date_toJson);var es6_date_toIsoString=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),fails=interopDefault(require$$1$1),getTime=Date.prototype.getTime,lz=function(num){return num>9?num:"0"+num};$export($export.P+$export.F*(fails(function(){return"0385-07-25T07:06:39.999Z"!=new Date(-5e13-1).toISOString()})||!fails(function(){new Date(NaN).toISOString()})),"Date",{toISOString:function(){if(!isFinite(getTime.call(this)))throw RangeError("Invalid time value");var d=this,y=d.getUTCFullYear(),m=d.getUTCMilliseconds(),s=y<0?"-":y>9999?"+":"";return s+("00000"+Math.abs(y)).slice(s?-6:-4)+"-"+lz(d.getUTCMonth()+1)+"-"+lz(d.getUTCDate())+"T"+lz(d.getUTCHours())+":"+lz(d.getUTCMinutes())+":"+lz(d.getUTCSeconds())+"."+(m>99?m:"0"+lz(m))+"Z"}})});interopDefault(es6_date_toIsoString);var es6_date_toString=createCommonjsModule(function(module){var DateProto=Date.prototype,INVALID_DATE="Invalid Date",TO_STRING="toString",$toString=DateProto[TO_STRING],getTime=DateProto.getTime;new Date(NaN)+""!=INVALID_DATE&&interopDefault(require$$4$2)(DateProto,TO_STRING,function(){var value=getTime.call(this);return value===value?$toString.call(this):INVALID_DATE})});interopDefault(es6_date_toString);var _dateToPrimitive=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),toPrimitive=interopDefault(require$$4$1),NUMBER="number";module.exports=function(hint){if("string"!==hint&&hint!==NUMBER&&"default"!==hint)throw TypeError("Incorrect hint");return toPrimitive(anObject(this),hint!=NUMBER)}}),_dateToPrimitive$1=interopDefault(_dateToPrimitive),require$$0$29=Object.freeze({"default":_dateToPrimitive$1}),es6_date_toPrimitive=createCommonjsModule(function(module){var TO_PRIMITIVE=interopDefault(require$$0$4)("toPrimitive"),proto=Date.prototype;TO_PRIMITIVE in proto||interopDefault(require$$2)(proto,TO_PRIMITIVE,interopDefault(require$$0$29))});interopDefault(es6_date_toPrimitive);var es6_array_isArray=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Array",{isArray:interopDefault(require$$1$10)})});interopDefault(es6_array_isArray);var _iterCall=createCommonjsModule(function(module){var anObject=interopDefault(require$$5);module.exports=function(iterator,fn,value,entries){try{return entries?fn(anObject(value)[0],value[1]):fn(value)}catch(e){var ret=iterator["return"];throw void 0!==ret&&anObject(ret.call(iterator)),e}}}),_iterCall$1=interopDefault(_iterCall),require$$4$5=Object.freeze({"default":_iterCall$1}),_isArrayIter=createCommonjsModule(function(module){var Iterators=interopDefault(require$$1$15),ITERATOR=interopDefault(require$$0$4)("iterator"),ArrayProto=Array.prototype;module.exports=function(it){return void 0!==it&&(Iterators.Array===it||ArrayProto[ITERATOR]===it)}}),_isArrayIter$1=interopDefault(_isArrayIter),require$$17=Object.freeze({"default":_isArrayIter$1}),_createProperty=createCommonjsModule(function(module){var $defineProperty=interopDefault(require$$2$1),createDesc=interopDefault(require$$2$3);module.exports=function(object,index,value){index in object?$defineProperty.f(object,index,createDesc(0,value)):object[index]=value}}),_createProperty$1=interopDefault(_createProperty),require$$0$30=Object.freeze({"default":_createProperty$1}),core_getIteratorMethod=createCommonjsModule(function(module){var classof=interopDefault(require$$1$11),ITERATOR=interopDefault(require$$0$4)("iterator"),Iterators=interopDefault(require$$1$15);module.exports=interopDefault(require$$0).getIteratorMethod=function(it){if(void 0!=it)return it[ITERATOR]||it["@@iterator"]||Iterators[classof(it)]}}),core_getIteratorMethod$1=interopDefault(core_getIteratorMethod),require$$13=Object.freeze({"default":core_getIteratorMethod$1}),_iterDetect=createCommonjsModule(function(module){var ITERATOR=interopDefault(require$$0$4)("iterator"),SAFE_CLOSING=!1;try{var riter=[7][ITERATOR]();riter["return"]=function(){SAFE_CLOSING=!0},Array.from(riter,function(){throw 2})}catch(e){}module.exports=function(exec,skipClosing){if(!skipClosing&&!SAFE_CLOSING)return!1;var safe=!1;try{var arr=[7],iter=arr[ITERATOR]();iter.next=function(){return{done:safe=!0}},arr[ITERATOR]=function(){return iter},exec(arr)}catch(e){}return safe}}),_iterDetect$1=interopDefault(_iterDetect),require$$5$2=Object.freeze({"default":_iterDetect$1}),es6_array_from=createCommonjsModule(function(module){var ctx=interopDefault(require$$31),$export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),call=interopDefault(require$$4$5),isArrayIter=interopDefault(require$$17),toLength=interopDefault(require$$3$1),createProperty=interopDefault(require$$0$30),getIterFn=interopDefault(require$$13);$export($export.S+$export.F*!interopDefault(require$$5$2)(function(iter){Array.from(iter)}),"Array",{from:function(arrayLike){var length,result,step,iterator,O=toObject(arrayLike),C="function"==typeof this?this:Array,aLen=arguments.length,mapfn=aLen>1?arguments[1]:void 0,mapping=void 0!==mapfn,index=0,iterFn=getIterFn(O);if(mapping&&(mapfn=ctx(mapfn,aLen>2?arguments[2]:void 0,2)),void 0==iterFn||C==Array&&isArrayIter(iterFn))for(length=toLength(O.length),result=new C(length);length>index;index++)createProperty(result,index,mapping?mapfn(O[index],index):O[index]);else for(iterator=iterFn.call(O),result=new C;!(step=iterator.next()).done;index++)createProperty(result,index,mapping?call(iterator,mapfn,[step.value,index],!0):step.value);return result.length=index,result}})});interopDefault(es6_array_from);var es6_array_of=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),createProperty=interopDefault(require$$0$30);$export($export.S+$export.F*interopDefault(require$$1$1)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function(){for(var index=0,aLen=arguments.length,result=new("function"==typeof this?this:Array)(aLen);aLen>index;)createProperty(result,index,arguments[index++]);return result.length=aLen,result}})});interopDefault(es6_array_of);var _strictMethod=createCommonjsModule(function(module){var fails=interopDefault(require$$1$1);module.exports=function(method,arg){return!!method&&fails(function(){arg?method.call(null,function(){},1):method.call(null)})}}),_strictMethod$1=interopDefault(_strictMethod),require$$0$31=Object.freeze({"default":_strictMethod$1}),es6_array_join=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toIObject=interopDefault(require$$1$7),arrayJoin=[].join;$export($export.P+$export.F*(interopDefault(require$$1$8)!=Object||!interopDefault(require$$0$31)(arrayJoin)),"Array",{join:function(separator){return arrayJoin.call(toIObject(this),void 0===separator?",":separator)}})});interopDefault(es6_array_join);var es6_array_slice=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),html=interopDefault(require$$3$2),cof=interopDefault(require$$0$6),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1),arraySlice=[].slice;$export($export.P+$export.F*interopDefault(require$$1$1)(function(){html&&arraySlice.call(html)}),"Array",{slice:function(begin,end){var len=toLength(this.length),klass=cof(this);if(end=void 0===end?len:end,"Array"==klass)return arraySlice.call(this,begin,end);for(var start=toIndex(begin,len),upTo=toIndex(end,len),size=toLength(upTo-start),cloned=Array(size),i=0;i<size;i++)cloned[i]="String"==klass?this.charAt(start+i):this[start+i];return cloned}})});interopDefault(es6_array_slice);var es6_array_sort=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),aFunction=interopDefault(require$$0$2),toObject=interopDefault(require$$5$1),fails=interopDefault(require$$1$1),$sort=[].sort,test=[1,2,3];$export($export.P+$export.F*(fails(function(){test.sort(void 0)})||!fails(function(){test.sort(null)})||!interopDefault(require$$0$31)($sort)),"Array",{sort:function(comparefn){return void 0===comparefn?$sort.call(toObject(this)):$sort.call(toObject(this),aFunction(comparefn))}})});interopDefault(es6_array_sort);var _arraySpeciesConstructor=createCommonjsModule(function(module){var isObject=interopDefault(require$$0$1),isArray=interopDefault(require$$1$10),SPECIES=interopDefault(require$$0$4)("species");module.exports=function(original){var C;return isArray(original)&&(C=original.constructor,"function"!=typeof C||C!==Array&&!isArray(C.prototype)||(C=void 0),isObject(C)&&(C=C[SPECIES],null===C&&(C=void 0))),void 0===C?Array:C}}),_arraySpeciesConstructor$1=interopDefault(_arraySpeciesConstructor),require$$0$33=Object.freeze({"default":_arraySpeciesConstructor$1}),_arraySpeciesCreate=createCommonjsModule(function(module){var speciesConstructor=interopDefault(require$$0$33);module.exports=function(original,length){return new(speciesConstructor(original))(length)}}),_arraySpeciesCreate$1=interopDefault(_arraySpeciesCreate),require$$0$32=Object.freeze({"default":_arraySpeciesCreate$1}),_arrayMethods=createCommonjsModule(function(module){var ctx=interopDefault(require$$31),IObject=interopDefault(require$$1$8),toObject=interopDefault(require$$5$1),toLength=interopDefault(require$$3$1),asc=interopDefault(require$$0$32);module.exports=function(TYPE,$create){var IS_MAP=1==TYPE,IS_FILTER=2==TYPE,IS_SOME=3==TYPE,IS_EVERY=4==TYPE,IS_FIND_INDEX=6==TYPE,NO_HOLES=5==TYPE||IS_FIND_INDEX,create=$create||asc;return function($this,callbackfn,that){for(var val,res,O=toObject($this),self=IObject(O),f=ctx(callbackfn,that,3),length=toLength(self.length),index=0,result=IS_MAP?create($this,length):IS_FILTER?create($this,0):void 0;length>index;index++)if((NO_HOLES||index in self)&&(val=self[index],res=f(val,index,O),TYPE))if(IS_MAP)result[index]=res;else if(res)switch(TYPE){case 3:return!0;case 5:return val;case 6:return index;case 2:result.push(val)}else if(IS_EVERY)return!1;return IS_FIND_INDEX?-1:IS_SOME||IS_EVERY?IS_EVERY:result}}}),_arrayMethods$1=interopDefault(_arrayMethods),require$$10=Object.freeze({"default":_arrayMethods$1}),es6_array_forEach=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$forEach=interopDefault(require$$10)(0),STRICT=interopDefault(require$$0$31)([].forEach,!0);$export($export.P+$export.F*!STRICT,"Array",{forEach:function(callbackfn){return $forEach(this,callbackfn,arguments[1])}})});interopDefault(es6_array_forEach);var es6_array_map=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$map=interopDefault(require$$10)(1);$export($export.P+$export.F*!interopDefault(require$$0$31)([].map,!0),"Array",{map:function(callbackfn){return $map(this,callbackfn,arguments[1])}})});interopDefault(es6_array_map);var es6_array_filter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$filter=interopDefault(require$$10)(2);$export($export.P+$export.F*!interopDefault(require$$0$31)([].filter,!0),"Array",{filter:function(callbackfn){return $filter(this,callbackfn,arguments[1])}})});interopDefault(es6_array_filter);var es6_array_some=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$some=interopDefault(require$$10)(3);$export($export.P+$export.F*!interopDefault(require$$0$31)([].some,!0),"Array",{some:function(callbackfn){return $some(this,callbackfn,arguments[1])}})});interopDefault(es6_array_some);var es6_array_every=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$every=interopDefault(require$$10)(4);$export($export.P+$export.F*!interopDefault(require$$0$31)([].every,!0),"Array",{every:function(callbackfn){return $every(this,callbackfn,arguments[1])}})});interopDefault(es6_array_every);var _arrayReduce=createCommonjsModule(function(module){var aFunction=interopDefault(require$$0$2),toObject=interopDefault(require$$5$1),IObject=interopDefault(require$$1$8),toLength=interopDefault(require$$3$1);module.exports=function(that,callbackfn,aLen,memo,isRight){aFunction(callbackfn);var O=toObject(that),self=IObject(O),length=toLength(O.length),index=isRight?length-1:0,i=isRight?-1:1;if(aLen<2)for(;;){if(index in self){memo=self[index],index+=i;break}if(index+=i,isRight?index<0:length<=index)throw TypeError("Reduce of empty array with no initial value")}for(;isRight?index>=0:length>index;index+=i)index in self&&(memo=callbackfn(memo,self[index],index,O));return memo}}),_arrayReduce$1=interopDefault(_arrayReduce),require$$1$17=Object.freeze({"default":_arrayReduce$1}),es6_array_reduce=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$reduce=interopDefault(require$$1$17);$export($export.P+$export.F*!interopDefault(require$$0$31)([].reduce,!0),"Array",{reduce:function(callbackfn){return $reduce(this,callbackfn,arguments.length,arguments[1],!1)}})});interopDefault(es6_array_reduce);var es6_array_reduceRight=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$reduce=interopDefault(require$$1$17);$export($export.P+$export.F*!interopDefault(require$$0$31)([].reduceRight,!0),"Array",{reduceRight:function(callbackfn){return $reduce(this,callbackfn,arguments.length,arguments[1],!0)}})});interopDefault(es6_array_reduceRight);var es6_array_indexOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$indexOf=interopDefault(require$$1$9)(!1),$native=[].indexOf,NEGATIVE_ZERO=!!$native&&1/[1].indexOf(1,-0)<0;$export($export.P+$export.F*(NEGATIVE_ZERO||!interopDefault(require$$0$31)($native)),"Array",{indexOf:function(searchElement){return NEGATIVE_ZERO?$native.apply(this,arguments)||0:$indexOf(this,searchElement,arguments[1])}})});interopDefault(es6_array_indexOf);var es6_array_lastIndexOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toIObject=interopDefault(require$$1$7),toInteger=interopDefault(require$$26),toLength=interopDefault(require$$3$1),$native=[].lastIndexOf,NEGATIVE_ZERO=!!$native&&1/[1].lastIndexOf(1,-0)<0;$export($export.P+$export.F*(NEGATIVE_ZERO||!interopDefault(require$$0$31)($native)),"Array",{lastIndexOf:function(searchElement){if(NEGATIVE_ZERO)return $native.apply(this,arguments)||0;var O=toIObject(this),length=toLength(O.length),index=length-1;for(arguments.length>1&&(index=Math.min(index,toInteger(arguments[1]))),index<0&&(index=length+index);index>=0;index--)if(index in O&&O[index]===searchElement)return index||0;return-1}})});interopDefault(es6_array_lastIndexOf);var _arrayCopyWithin=createCommonjsModule(function(module){var toObject=interopDefault(require$$5$1),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1);module.exports=[].copyWithin||function(target,start){var O=toObject(this),len=toLength(O.length),to=toIndex(target,len),from=toIndex(start,len),end=arguments.length>2?arguments[2]:void 0,count=Math.min((void 0===end?len:toIndex(end,len))-from,len-to),inc=1;for(from<to&&to<from+count&&(inc=-1,from+=count-1,to+=count-1);count-- >0;)from in O?O[to]=O[from]:delete O[to],to+=inc,from+=inc;return O}}),_arrayCopyWithin$1=interopDefault(_arrayCopyWithin),require$$2$9=Object.freeze({"default":_arrayCopyWithin$1}),_addToUnscopables=createCommonjsModule(function(module){var UNSCOPABLES=interopDefault(require$$0$4)("unscopables"),ArrayProto=Array.prototype;void 0==ArrayProto[UNSCOPABLES]&&interopDefault(require$$2)(ArrayProto,UNSCOPABLES,{}),module.exports=function(key){ArrayProto[UNSCOPABLES][key]=!0}}),_addToUnscopables$1=interopDefault(_addToUnscopables),require$$0$34=Object.freeze({"default":_addToUnscopables$1}),es6_array_copyWithin=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P,"Array",{copyWithin:interopDefault(require$$2$9)}),interopDefault(require$$0$34)("copyWithin")});interopDefault(es6_array_copyWithin);var _arrayFill=createCommonjsModule(function(module){var toObject=interopDefault(require$$5$1),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1);module.exports=function(value){for(var O=toObject(this),length=toLength(O.length),aLen=arguments.length,index=toIndex(aLen>1?arguments[1]:void 0,length),end=aLen>2?arguments[2]:void 0,endPos=void 0===end?length:toIndex(end,length);endPos>index;)O[index++]=value;return O}}),_arrayFill$1=interopDefault(_arrayFill),require$$3$5=Object.freeze({"default":_arrayFill$1}),es6_array_fill=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P,"Array",{fill:interopDefault(require$$3$5)}),interopDefault(require$$0$34)("fill")});interopDefault(es6_array_fill);var es6_array_find=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$find=interopDefault(require$$10)(5),KEY="find",forced=!0;KEY in[]&&Array(1)[KEY](function(){forced=!1}),$export($export.P+$export.F*forced,"Array",{find:function(callbackfn){return $find(this,callbackfn,arguments.length>1?arguments[1]:void 0)}}),interopDefault(require$$0$34)(KEY)});interopDefault(es6_array_find);var es6_array_findIndex=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$find=interopDefault(require$$10)(6),KEY="findIndex",forced=!0;KEY in[]&&Array(1)[KEY](function(){forced=!1}),$export($export.P+$export.F*forced,"Array",{findIndex:function(callbackfn){return $find(this,callbackfn,arguments.length>1?arguments[1]:void 0)}}),interopDefault(require$$0$34)(KEY)});interopDefault(es6_array_findIndex);var _setSpecies=createCommonjsModule(function(module){var global=interopDefault(require$$3),dP=interopDefault(require$$2$1),DESCRIPTORS=interopDefault(require$$1),SPECIES=interopDefault(require$$0$4)("species");module.exports=function(KEY){var C=global[KEY];DESCRIPTORS&&C&&!C[SPECIES]&&dP.f(C,SPECIES,{configurable:!0,get:function(){return this}})}}),_setSpecies$1=interopDefault(_setSpecies),require$$0$35=Object.freeze({"default":_setSpecies$1}),es6_array_species=createCommonjsModule(function(module){interopDefault(require$$0$35)("Array")});interopDefault(es6_array_species);var _iterStep=createCommonjsModule(function(module){module.exports=function(done,value){return{value:value,done:!!done}}}),_iterStep$1=interopDefault(_iterStep),require$$3$6=Object.freeze({"default":_iterStep$1}),es6_array_iterator=createCommonjsModule(function(module){var addToUnscopables=interopDefault(require$$0$34),step=interopDefault(require$$3$6),Iterators=interopDefault(require$$1$15),toIObject=interopDefault(require$$1$7);module.exports=interopDefault(require$$4$4)(Array,"Array",function(iterated,kind){this._t=toIObject(iterated),this._i=0,this._k=kind},function(){var O=this._t,kind=this._k,index=this._i++;return!O||index>=O.length?(this._t=void 0,step(1)):"keys"==kind?step(0,index):"values"==kind?step(0,O[index]):step(0,[index,O[index]])},"values"),Iterators.Arguments=Iterators.Array,addToUnscopables("keys"),addToUnscopables("values"),addToUnscopables("entries")}),es6_array_iterator$1=interopDefault(es6_array_iterator),require$$5$3=Object.freeze({"default":es6_array_iterator$1}),_flags=createCommonjsModule(function(module){var anObject=interopDefault(require$$5);module.exports=function(){var that=anObject(this),result="";return that.global&&(result+="g"),that.ignoreCase&&(result+="i"),that.multiline&&(result+="m"),that.unicode&&(result+="u"),that.sticky&&(result+="y"),result}}),_flags$1=interopDefault(_flags),require$$1$18=Object.freeze({"default":_flags$1}),es6_regexp_constructor=createCommonjsModule(function(module){var global=interopDefault(require$$3),inheritIfRequired=interopDefault(require$$0$19),dP=interopDefault(require$$2$1).f,gOPN=interopDefault(require$$3$3).f,isRegExp=interopDefault(require$$2$8),$flags=interopDefault(require$$1$18),$RegExp=global.RegExp,Base=$RegExp,proto=$RegExp.prototype,re1=/a/g,re2=/a/g,CORRECT_NEW=new $RegExp(re1)!==re1;if(interopDefault(require$$1)&&(!CORRECT_NEW||interopDefault(require$$1$1)(function(){return re2[interopDefault(require$$0$4)("match")]=!1,$RegExp(re1)!=re1||$RegExp(re2)==re2||"/a/i"!=$RegExp(re1,"i")}))){$RegExp=function(p,f){var tiRE=this instanceof $RegExp,piRE=isRegExp(p),fiU=void 0===f;return!tiRE&&piRE&&p.constructor===$RegExp&&fiU?p:inheritIfRequired(CORRECT_NEW?new Base(piRE&&!fiU?p.source:p,f):Base((piRE=p instanceof $RegExp)?p.source:p,piRE&&fiU?$flags.call(p):f),tiRE?this:proto,$RegExp)};for(var proxy=(function(key){key in $RegExp||dP($RegExp,key,{configurable:!0,get:function(){return Base[key]},set:function(it){Base[key]=it}})}),keys=gOPN(Base),i=0;keys.length>i;)proxy(keys[i++]);proto.constructor=$RegExp,$RegExp.prototype=proto,interopDefault(require$$4$2)(global,"RegExp",$RegExp)}interopDefault(require$$0$35)("RegExp")});interopDefault(es6_regexp_constructor);var es6_regexp_flags=createCommonjsModule(function(module){interopDefault(require$$1)&&"g"!=/./g.flags&&interopDefault(require$$2$1).f(RegExp.prototype,"flags",{configurable:!0,get:interopDefault(require$$1$18)})});interopDefault(es6_regexp_flags);var es6_regexp_toString=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),$flags=interopDefault(require$$1$18),DESCRIPTORS=interopDefault(require$$1),TO_STRING="toString",$toString=/./[TO_STRING],define=function(fn){interopDefault(require$$4$2)(RegExp.prototype,TO_STRING,fn,!0)};interopDefault(require$$1$1)(function(){return"/a/b"!=$toString.call({source:"a",flags:"b"})})?define(function(){var R=anObject(this);return"/".concat(R.source,"/","flags"in R?R.flags:!DESCRIPTORS&&R instanceof RegExp?$flags.call(R):void 0)}):$toString.name!=TO_STRING&&define(function(){return $toString.call(this)})});interopDefault(es6_regexp_toString);var _fixReWks=createCommonjsModule(function(module){var hide=interopDefault(require$$2),redefine=interopDefault(require$$4$2),fails=interopDefault(require$$1$1),defined=interopDefault(require$$4$3),wks=interopDefault(require$$0$4);module.exports=function(KEY,length,exec){var SYMBOL=wks(KEY),fns=exec(defined,SYMBOL,""[KEY]),strfn=fns[0],rxfn=fns[1];fails(function(){var O={};return O[SYMBOL]=function(){return 7},7!=""[KEY](O)})&&(redefine(String.prototype,KEY,strfn),hide(RegExp.prototype,SYMBOL,2==length?function(string,arg){return rxfn.call(string,this,arg)}:function(string){return rxfn.call(string,this)}))}}),_fixReWks$1=interopDefault(_fixReWks),require$$1$19=Object.freeze({"default":_fixReWks$1}),es6_regexp_match=createCommonjsModule(function(module){interopDefault(require$$1$19)("match",1,function(defined,MATCH,$match){return[function(regexp){var O=defined(this),fn=void 0==regexp?void 0:regexp[MATCH];return void 0!==fn?fn.call(regexp,O):new RegExp(regexp)[MATCH](String(O))},$match]})});interopDefault(es6_regexp_match);var es6_regexp_replace=createCommonjsModule(function(module){interopDefault(require$$1$19)("replace",2,function(defined,REPLACE,$replace){return[function(searchValue,replaceValue){var O=defined(this),fn=void 0==searchValue?void 0:searchValue[REPLACE];return void 0!==fn?fn.call(searchValue,O,replaceValue):$replace.call(String(O),searchValue,replaceValue)},$replace]})});interopDefault(es6_regexp_replace);var es6_regexp_search=createCommonjsModule(function(module){interopDefault(require$$1$19)("search",1,function(defined,SEARCH,$search){return[function(regexp){var O=defined(this),fn=void 0==regexp?void 0:regexp[SEARCH];return void 0!==fn?fn.call(regexp,O):new RegExp(regexp)[SEARCH](String(O))},$search]})});interopDefault(es6_regexp_search);var es6_regexp_split=createCommonjsModule(function(module){interopDefault(require$$1$19)("split",2,function(defined,SPLIT,$split){var isRegExp=interopDefault(require$$2$8),_split=$split,$push=[].push,$SPLIT="split",LENGTH="length",LAST_INDEX="lastIndex";if("c"=="abbc"[$SPLIT](/(b)*/)[1]||4!="test"[$SPLIT](/(?:)/,-1)[LENGTH]||2!="ab"[$SPLIT](/(?:ab)*/)[LENGTH]||4!="."[$SPLIT](/(.?)(.?)/)[LENGTH]||"."[$SPLIT](/()()/)[LENGTH]>1||""[$SPLIT](/.?/)[LENGTH]){var NPCG=void 0===/()??/.exec("")[1];$split=function(separator,limit){var string=String(this);if(void 0===separator&&0===limit)return[];if(!isRegExp(separator))return _split.call(string,separator,limit);var separator2,match,lastIndex,lastLength,i,output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.unicode?"u":"")+(separator.sticky?"y":""),lastLastIndex=0,splitLimit=void 0===limit?4294967295:limit>>>0,separatorCopy=new RegExp(separator.source,flags+"g");for(NPCG||(separator2=new RegExp("^"+separatorCopy.source+"$(?!\\s)",flags));(match=separatorCopy.exec(string))&&(lastIndex=match.index+match[0][LENGTH],!(lastIndex>lastLastIndex&&(output.push(string.slice(lastLastIndex,match.index)),!NPCG&&match[LENGTH]>1&&match[0].replace(separator2,function(){for(i=1;i<arguments[LENGTH]-2;i++)void 0===arguments[i]&&(match[i]=void 0)}),match[LENGTH]>1&&match.index<string[LENGTH]&&$push.apply(output,match.slice(1)),lastLength=match[0][LENGTH],lastLastIndex=lastIndex,output[LENGTH]>=splitLimit)));)separatorCopy[LAST_INDEX]===match.index&&separatorCopy[LAST_INDEX]++;return lastLastIndex===string[LENGTH]?!lastLength&&separatorCopy.test("")||output.push(""):output.push(string.slice(lastLastIndex)),output[LENGTH]>splitLimit?output.slice(0,splitLimit):output}}else"0"[$SPLIT](void 0,0)[LENGTH]&&($split=function(separator,limit){return void 0===separator&&0===limit?[]:_split.call(this,separator,limit)});return[function(separator,limit){var O=defined(this),fn=void 0==separator?void 0:separator[SPLIT];return void 0!==fn?fn.call(separator,O,limit):$split.call(String(O),separator,limit)},$split]})});interopDefault(es6_regexp_split);var _anInstance=createCommonjsModule(function(module){module.exports=function(it,Constructor,name,forbiddenField){if(!(it instanceof Constructor)||void 0!==forbiddenField&&forbiddenField in it)throw TypeError(name+": incorrect invocation!");return it}}),_anInstance$1=interopDefault(_anInstance),require$$4$6=Object.freeze({"default":_anInstance$1}),_forOf=createCommonjsModule(function(module){var ctx=interopDefault(require$$31),call=interopDefault(require$$4$5),isArrayIter=interopDefault(require$$17),anObject=interopDefault(require$$5),toLength=interopDefault(require$$3$1),getIterFn=interopDefault(require$$13),BREAK={},RETURN={},exports=module.exports=function(iterable,entries,fn,that,ITERATOR){var length,step,iterator,result,iterFn=ITERATOR?function(){return iterable}:getIterFn(iterable),f=ctx(fn,that,entries?2:1),index=0;if("function"!=typeof iterFn)throw TypeError(iterable+" is not iterable!");if(isArrayIter(iterFn)){for(length=toLength(iterable.length);length>index;index++)if(result=entries?f(anObject(step=iterable[index])[0],step[1]):f(iterable[index]),result===BREAK||result===RETURN)return result}else for(iterator=iterFn.call(iterable);!(step=iterator.next()).done;)if(result=call(iterator,f,step.value,entries),result===BREAK||result===RETURN)return result};exports.BREAK=BREAK,exports.RETURN=RETURN}),_forOf$1=interopDefault(_forOf),require$$1$20=Object.freeze({"default":_forOf$1}),_speciesConstructor=createCommonjsModule(function(module){var anObject=interopDefault(require$$5),aFunction=interopDefault(require$$0$2),SPECIES=interopDefault(require$$0$4)("species");module.exports=function(O,D){var S,C=anObject(O).constructor;return void 0===C||void 0==(S=anObject(C)[SPECIES])?D:aFunction(S)}}),_speciesConstructor$1=interopDefault(_speciesConstructor),require$$8=Object.freeze({"default":_speciesConstructor$1}),_task=createCommonjsModule(function(module){var defer,channel,port,ctx=interopDefault(require$$31),invoke=interopDefault(require$$1$13),html=interopDefault(require$$3$2),cel=interopDefault(require$$2$2),global=interopDefault(require$$3),process=global.process,setTask=global.setImmediate,clearTask=global.clearImmediate,MessageChannel=global.MessageChannel,counter=0,queue={},ONREADYSTATECHANGE="onreadystatechange",run=function(){var id=+this;if(queue.hasOwnProperty(id)){var fn=queue[id];delete queue[id],fn()}},listener=function(event){run.call(event.data)};setTask&&clearTask||(setTask=function(fn){for(var args=[],i=1;arguments.length>i;)args.push(arguments[i++]);return queue[++counter]=function(){invoke("function"==typeof fn?fn:Function(fn),args)},defer(counter),counter},clearTask=function(id){delete queue[id];
+},"process"==interopDefault(require$$0$6)(process)?defer=function(id){process.nextTick(ctx(run,id,1))}:MessageChannel?(channel=new MessageChannel,port=channel.port2,channel.port1.onmessage=listener,defer=ctx(port.postMessage,port,1)):global.addEventListener&&"function"==typeof postMessage&&!global.importScripts?(defer=function(id){global.postMessage(id+"","*")},global.addEventListener("message",listener,!1)):defer=ONREADYSTATECHANGE in cel("script")?function(id){html.appendChild(cel("script"))[ONREADYSTATECHANGE]=function(){html.removeChild(this),run.call(id)}}:function(id){setTimeout(ctx(run,id,1),0)}),module.exports={set:setTask,clear:clearTask}}),_task$1=interopDefault(_task),set$2=_task.set,clear=_task.clear,require$$0$36=Object.freeze({"default":_task$1,set:set$2,clear:clear}),_microtask=createCommonjsModule(function(module){var global=interopDefault(require$$3),macrotask=interopDefault(require$$0$36).set,Observer=global.MutationObserver||global.WebKitMutationObserver,process=global.process,Promise=global.Promise,isNode="process"==interopDefault(require$$0$6)(process);module.exports=function(){var head,last,notify,flush=function(){var parent,fn;for(isNode&&(parent=process.domain)&&parent.exit();head;){fn=head.fn,head=head.next;try{fn()}catch(e){throw head?notify():last=void 0,e}}last=void 0,parent&&parent.enter()};if(isNode)notify=function(){process.nextTick(flush)};else if(Observer){var toggle=!0,node=document.createTextNode("");new Observer(flush).observe(node,{characterData:!0}),notify=function(){node.data=toggle=!toggle}}else if(Promise&&Promise.resolve){var promise=Promise.resolve();notify=function(){promise.then(flush)}}else notify=function(){macrotask.call(global,flush)};return function(fn){var task={fn:fn,next:void 0};last&&(last.next=task),head||(head=task,notify()),last=task}}}),_microtask$1=interopDefault(_microtask),require$$8$1=Object.freeze({"default":_microtask$1}),_redefineAll=createCommonjsModule(function(module){var redefine=interopDefault(require$$4$2);module.exports=function(target,src,safe){for(var key in src)redefine(target,key,src[key],safe);return target}}),_redefineAll$1=interopDefault(_redefineAll),require$$3$7=Object.freeze({"default":_redefineAll$1}),es6_promise=createCommonjsModule(function(module){var Internal,GenericPromiseCapability,Wrapper,LIBRARY=interopDefault(require$$2$4),global=interopDefault(require$$3),ctx=interopDefault(require$$31),classof=interopDefault(require$$1$11),$export=interopDefault(require$$1$2),isObject=interopDefault(require$$0$1),aFunction=interopDefault(require$$0$2),anInstance=interopDefault(require$$4$6),forOf=interopDefault(require$$1$20),speciesConstructor=interopDefault(require$$8),task=interopDefault(require$$0$36).set,microtask=interopDefault(require$$8$1)(),PROMISE="Promise",TypeError=global.TypeError,process=global.process,$Promise=global[PROMISE],process=global.process,isNode="process"==classof(process),empty=function(){},USE_NATIVE=!!function(){try{var promise=$Promise.resolve(1),FakePromise=(promise.constructor={})[interopDefault(require$$0$4)("species")]=function(exec){exec(empty,empty)};return(isNode||"function"==typeof PromiseRejectionEvent)&&promise.then(empty)instanceof FakePromise}catch(e){}}(),sameConstructor=function(a,b){return a===b||a===$Promise&&b===Wrapper},isThenable=function(it){var then;return!(!isObject(it)||"function"!=typeof(then=it.then))&&then},newPromiseCapability=function(C){return sameConstructor($Promise,C)?new PromiseCapability(C):new GenericPromiseCapability(C)},PromiseCapability=GenericPromiseCapability=function(C){var resolve,reject;this.promise=new C(function($$resolve,$$reject){if(void 0!==resolve||void 0!==reject)throw TypeError("Bad Promise constructor");resolve=$$resolve,reject=$$reject}),this.resolve=aFunction(resolve),this.reject=aFunction(reject)},perform=function(exec){try{exec()}catch(e){return{error:e}}},notify=function(promise,isReject){if(!promise._n){promise._n=!0;var chain=promise._c;microtask(function(){for(var value=promise._v,ok=1==promise._s,i=0,run=function(reaction){var result,then,handler=ok?reaction.ok:reaction.fail,resolve=reaction.resolve,reject=reaction.reject,domain=reaction.domain;try{handler?(ok||(2==promise._h&&onHandleUnhandled(promise),promise._h=1),handler===!0?result=value:(domain&&domain.enter(),result=handler(value),domain&&domain.exit()),result===reaction.promise?reject(TypeError("Promise-chain cycle")):(then=isThenable(result))?then.call(result,resolve,reject):resolve(result)):reject(value)}catch(e){reject(e)}};chain.length>i;)run(chain[i++]);promise._c=[],promise._n=!1,isReject&&!promise._h&&onUnhandled(promise)})}},onUnhandled=function(promise){task.call(global,function(){var abrupt,handler,console,value=promise._v;if(isUnhandled(promise)&&(abrupt=perform(function(){isNode?process.emit("unhandledRejection",value,promise):(handler=global.onunhandledrejection)?handler({promise:promise,reason:value}):(console=global.console)&&console.error&&console.error("Unhandled promise rejection",value)}),promise._h=isNode||isUnhandled(promise)?2:1),promise._a=void 0,abrupt)throw abrupt.error})},isUnhandled=function isUnhandled(promise){if(1==promise._h)return!1;for(var reaction,chain=promise._a||promise._c,i=0;chain.length>i;)if(reaction=chain[i++],reaction.fail||!isUnhandled(reaction.promise))return!1;return!0},onHandleUnhandled=function(promise){task.call(global,function(){var handler;isNode?process.emit("rejectionHandled",promise):(handler=global.onrejectionhandled)&&handler({promise:promise,reason:promise._v})})},$reject=function(value){var promise=this;promise._d||(promise._d=!0,promise=promise._w||promise,promise._v=value,promise._s=2,promise._a||(promise._a=promise._c.slice()),notify(promise,!0))},$resolve=function $resolve(value){var then,promise=this;if(!promise._d){promise._d=!0,promise=promise._w||promise;try{if(promise===value)throw TypeError("Promise can't be resolved itself");(then=isThenable(value))?microtask(function(){var wrapper={_w:promise,_d:!1};try{then.call(value,ctx($resolve,wrapper,1),ctx($reject,wrapper,1))}catch(e){$reject.call(wrapper,e)}}):(promise._v=value,promise._s=1,notify(promise,!1))}catch(e){$reject.call({_w:promise,_d:!1},e)}}};USE_NATIVE||($Promise=function(executor){anInstance(this,$Promise,PROMISE,"_h"),aFunction(executor),Internal.call(this);try{executor(ctx($resolve,this,1),ctx($reject,this,1))}catch(err){$reject.call(this,err)}},Internal=function(executor){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},Internal.prototype=interopDefault(require$$3$7)($Promise.prototype,{then:function(onFulfilled,onRejected){var reaction=newPromiseCapability(speciesConstructor(this,$Promise));return reaction.ok="function"!=typeof onFulfilled||onFulfilled,reaction.fail="function"==typeof onRejected&&onRejected,reaction.domain=isNode?process.domain:void 0,this._c.push(reaction),this._a&&this._a.push(reaction),this._s&&notify(this,!1),reaction.promise},"catch":function(onRejected){return this.then(void 0,onRejected)}}),PromiseCapability=function(){var promise=new Internal;this.promise=promise,this.resolve=ctx($resolve,promise,1),this.reject=ctx($reject,promise,1)}),$export($export.G+$export.W+$export.F*!USE_NATIVE,{Promise:$Promise}),interopDefault(require$$0$3)($Promise,PROMISE),interopDefault(require$$0$35)(PROMISE),Wrapper=interopDefault(require$$0)[PROMISE],$export($export.S+$export.F*!USE_NATIVE,PROMISE,{reject:function(r){var capability=newPromiseCapability(this),$$reject=capability.reject;return $$reject(r),capability.promise}}),$export($export.S+$export.F*(LIBRARY||!USE_NATIVE),PROMISE,{resolve:function(x){if(x instanceof $Promise&&sameConstructor(x.constructor,this))return x;var capability=newPromiseCapability(this),$$resolve=capability.resolve;return $$resolve(x),capability.promise}}),$export($export.S+$export.F*!(USE_NATIVE&&interopDefault(require$$5$2)(function(iter){$Promise.all(iter)["catch"](empty)})),PROMISE,{all:function(iterable){var C=this,capability=newPromiseCapability(C),resolve=capability.resolve,reject=capability.reject,abrupt=perform(function(){var values=[],index=0,remaining=1;forOf(iterable,!1,function(promise){var $index=index++,alreadyCalled=!1;values.push(void 0),remaining++,C.resolve(promise).then(function(value){alreadyCalled||(alreadyCalled=!0,values[$index]=value,--remaining||resolve(values))},reject)}),--remaining||resolve(values)});return abrupt&&reject(abrupt.error),capability.promise},race:function(iterable){var C=this,capability=newPromiseCapability(C),reject=capability.reject,abrupt=perform(function(){forOf(iterable,!1,function(promise){C.resolve(promise).then(capability.resolve,reject)})});return abrupt&&reject(abrupt.error),capability.promise}})});interopDefault(es6_promise);var _collectionStrong=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1).f,create=interopDefault(require$$6$1),redefineAll=interopDefault(require$$3$7),ctx=interopDefault(require$$31),anInstance=interopDefault(require$$4$6),defined=interopDefault(require$$4$3),forOf=interopDefault(require$$1$20),$iterDefine=interopDefault(require$$4$4),step=interopDefault(require$$3$6),setSpecies=interopDefault(require$$0$35),DESCRIPTORS=interopDefault(require$$1),fastKey=interopDefault(require$$6).fastKey,SIZE=DESCRIPTORS?"_s":"size",getEntry=function(that,key){var entry,index=fastKey(key);if("F"!==index)return that._i[index];for(entry=that._f;entry;entry=entry.n)if(entry.k==key)return entry};module.exports={getConstructor:function(wrapper,NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){anInstance(that,C,NAME,"_i"),that._i=create(null),that._f=void 0,that._l=void 0,that[SIZE]=0,void 0!=iterable&&forOf(iterable,IS_MAP,that[ADDER],that)});return redefineAll(C.prototype,{clear:function(){for(var that=this,data=that._i,entry=that._f;entry;entry=entry.n)entry.r=!0,entry.p&&(entry.p=entry.p.n=void 0),delete data[entry.i];that._f=that._l=void 0,that[SIZE]=0},"delete":function(key){var that=this,entry=getEntry(that,key);if(entry){var next=entry.n,prev=entry.p;delete that._i[entry.i],entry.r=!0,prev&&(prev.n=next),next&&(next.p=prev),that._f==entry&&(that._f=next),that._l==entry&&(that._l=prev),that[SIZE]--}return!!entry},forEach:function(callbackfn){anInstance(this,C,"forEach");for(var entry,f=ctx(callbackfn,arguments.length>1?arguments[1]:void 0,3);entry=entry?entry.n:this._f;)for(f(entry.v,entry.k,this);entry&&entry.r;)entry=entry.p},has:function(key){return!!getEntry(this,key)}}),DESCRIPTORS&&dP(C.prototype,"size",{get:function(){return defined(this[SIZE])}}),C},def:function(that,key,value){var prev,index,entry=getEntry(that,key);return entry?entry.v=value:(that._l=entry={i:index=fastKey(key,!0),k:key,v:value,p:prev=that._l,n:void 0,r:!1},that._f||(that._f=entry),prev&&(prev.n=entry),that[SIZE]++,"F"!==index&&(that._i[index]=entry)),that},getEntry:getEntry,setStrong:function(C,NAME,IS_MAP){$iterDefine(C,NAME,function(iterated,kind){this._t=iterated,this._k=kind,this._l=void 0},function(){for(var that=this,kind=that._k,entry=that._l;entry&&entry.r;)entry=entry.p;return that._t&&(that._l=entry=entry?entry.n:that._t._f)?"keys"==kind?step(0,entry.k):"values"==kind?step(0,entry.v):step(0,[entry.k,entry.v]):(that._t=void 0,step(1))},IS_MAP?"entries":"values",!IS_MAP,!0),setSpecies(NAME)}}}),_collectionStrong$1=interopDefault(_collectionStrong),getConstructor=_collectionStrong.getConstructor,def=_collectionStrong.def,getEntry=_collectionStrong.getEntry,setStrong=_collectionStrong.setStrong,require$$1$21=Object.freeze({"default":_collectionStrong$1,getConstructor:getConstructor,def:def,getEntry:getEntry,setStrong:setStrong}),_collection=createCommonjsModule(function(module){var global=interopDefault(require$$3),$export=interopDefault(require$$1$2),redefine=interopDefault(require$$4$2),redefineAll=interopDefault(require$$3$7),meta=interopDefault(require$$6),forOf=interopDefault(require$$1$20),anInstance=interopDefault(require$$4$6),isObject=interopDefault(require$$0$1),fails=interopDefault(require$$1$1),$iterDetect=interopDefault(require$$5$2),setToStringTag=interopDefault(require$$0$3),inheritIfRequired=interopDefault(require$$0$19);module.exports=function(NAME,wrapper,methods,common,IS_MAP,IS_WEAK){var Base=global[NAME],C=Base,ADDER=IS_MAP?"set":"add",proto=C&&C.prototype,O={},fixMethod=function(KEY){var fn=proto[KEY];redefine(proto,KEY,"delete"==KEY?function(a){return!(IS_WEAK&&!isObject(a))&&fn.call(this,0===a?0:a)}:"has"==KEY?function(a){return!(IS_WEAK&&!isObject(a))&&fn.call(this,0===a?0:a)}:"get"==KEY?function(a){return IS_WEAK&&!isObject(a)?void 0:fn.call(this,0===a?0:a)}:"add"==KEY?function(a){return fn.call(this,0===a?0:a),this}:function(a,b){return fn.call(this,0===a?0:a,b),this})};if("function"==typeof C&&(IS_WEAK||proto.forEach&&!fails(function(){(new C).entries().next()}))){var instance=new C,HASNT_CHAINING=instance[ADDER](IS_WEAK?{}:-0,1)!=instance,THROWS_ON_PRIMITIVES=fails(function(){instance.has(1)}),ACCEPT_ITERABLES=$iterDetect(function(iter){new C(iter)}),BUGGY_ZERO=!IS_WEAK&&fails(function(){for(var $instance=new C,index=5;index--;)$instance[ADDER](index,index);return!$instance.has(-0)});ACCEPT_ITERABLES||(C=wrapper(function(target,iterable){anInstance(target,C,NAME);var that=inheritIfRequired(new Base,target,C);return void 0!=iterable&&forOf(iterable,IS_MAP,that[ADDER],that),that}),C.prototype=proto,proto.constructor=C),(THROWS_ON_PRIMITIVES||BUGGY_ZERO)&&(fixMethod("delete"),fixMethod("has"),IS_MAP&&fixMethod("get")),(BUGGY_ZERO||HASNT_CHAINING)&&fixMethod(ADDER),IS_WEAK&&proto.clear&&delete proto.clear}else C=common.getConstructor(wrapper,NAME,IS_MAP,ADDER),redefineAll(C.prototype,methods),meta.NEED=!0;return setToStringTag(C,NAME),O[NAME]=C,$export($export.G+$export.W+$export.F*(C!=Base),O),IS_WEAK||common.setStrong(C,NAME,IS_MAP),C}}),_collection$1=interopDefault(_collection),require$$0$37=Object.freeze({"default":_collection$1}),es6_map=createCommonjsModule(function(module){var strong=interopDefault(require$$1$21);module.exports=interopDefault(require$$0$37)("Map",function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},{get:function(key){var entry=strong.getEntry(this,key);return entry&&entry.v},set:function(key,value){return strong.def(this,0===key?0:key,value)}},strong,!0)}),es6_map$1=interopDefault(es6_map),require$$3$8=Object.freeze({"default":es6_map$1}),es6_set=createCommonjsModule(function(module){var strong=interopDefault(require$$1$21);module.exports=interopDefault(require$$0$37)("Set",function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},{add:function(value){return strong.def(this,value=0===value?0:value,value)}},strong)}),es6_set$1=interopDefault(es6_set),require$$4$7=Object.freeze({"default":es6_set$1}),_collectionWeak=createCommonjsModule(function(module){var redefineAll=interopDefault(require$$3$7),getWeak=interopDefault(require$$6).getWeak,anObject=interopDefault(require$$5),isObject=interopDefault(require$$0$1),anInstance=interopDefault(require$$4$6),forOf=interopDefault(require$$1$20),createArrayMethod=interopDefault(require$$10),$has=interopDefault(require$$4),arrayFind=createArrayMethod(5),arrayFindIndex=createArrayMethod(6),id=0,uncaughtFrozenStore=function(that){return that._l||(that._l=new UncaughtFrozenStore)},UncaughtFrozenStore=function(){this.a=[]},findUncaughtFrozen=function(store,key){return arrayFind(store.a,function(it){return it[0]===key})};UncaughtFrozenStore.prototype={get:function(key){var entry=findUncaughtFrozen(this,key);if(entry)return entry[1]},has:function(key){return!!findUncaughtFrozen(this,key)},set:function(key,value){var entry=findUncaughtFrozen(this,key);entry?entry[1]=value:this.a.push([key,value])},"delete":function(key){var index=arrayFindIndex(this.a,function(it){return it[0]===key});return~index&&this.a.splice(index,1),!!~index}},module.exports={getConstructor:function(wrapper,NAME,IS_MAP,ADDER){var C=wrapper(function(that,iterable){anInstance(that,C,NAME,"_i"),that._i=id++,that._l=void 0,void 0!=iterable&&forOf(iterable,IS_MAP,that[ADDER],that)});return redefineAll(C.prototype,{"delete":function(key){if(!isObject(key))return!1;var data=getWeak(key);return data===!0?uncaughtFrozenStore(this)["delete"](key):data&&$has(data,this._i)&&delete data[this._i]},has:function(key){if(!isObject(key))return!1;var data=getWeak(key);return data===!0?uncaughtFrozenStore(this).has(key):data&&$has(data,this._i)}}),C},def:function(that,key,value){var data=getWeak(anObject(key),!0);return data===!0?uncaughtFrozenStore(that).set(key,value):data[that._i]=value,that},ufstore:uncaughtFrozenStore}}),_collectionWeak$1=interopDefault(_collectionWeak),getConstructor$1=_collectionWeak.getConstructor,def$1=_collectionWeak.def,ufstore=_collectionWeak.ufstore,require$$1$22=Object.freeze({"default":_collectionWeak$1,getConstructor:getConstructor$1,def:def$1,ufstore:ufstore}),es6_weakMap=createCommonjsModule(function(module){var InternalMap,each=interopDefault(require$$10)(0),redefine=interopDefault(require$$4$2),meta=interopDefault(require$$6),assign=interopDefault(require$$3$4),weak=interopDefault(require$$1$22),isObject=interopDefault(require$$0$1),getWeak=meta.getWeak,isExtensible=Object.isExtensible,uncaughtFrozenStore=weak.ufstore,tmp={},wrapper=function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},methods={get:function(key){if(isObject(key)){var data=getWeak(key);return data===!0?uncaughtFrozenStore(this).get(key):data?data[this._i]:void 0}},set:function(key,value){return weak.def(this,key,value)}},$WeakMap=module.exports=interopDefault(require$$0$37)("WeakMap",wrapper,methods,weak,!0,!0);7!=(new $WeakMap).set((Object.freeze||Object)(tmp),7).get(tmp)&&(InternalMap=weak.getConstructor(wrapper),assign(InternalMap.prototype,methods),meta.NEED=!0,each(["delete","has","get","set"],function(key){var proto=$WeakMap.prototype,method=proto[key];redefine(proto,key,function(a,b){if(isObject(a)&&!isExtensible(a)){this._f||(this._f=new InternalMap);var result=this._f[key](a,b);return"set"==key?this:result}return method.call(this,a,b)})}))}),es6_weakMap$1=interopDefault(es6_weakMap),require$$0$38=Object.freeze({"default":es6_weakMap$1}),es6_weakSet=createCommonjsModule(function(module){var weak=interopDefault(require$$1$22);interopDefault(require$$0$37)("WeakSet",function(get){return function(){return get(this,arguments.length>0?arguments[0]:void 0)}},{add:function(value){return weak.def(this,value,!0)}},weak,!1,!0)});interopDefault(es6_weakSet);var _typed=createCommonjsModule(function(module){for(var Typed,global=interopDefault(require$$3),hide=interopDefault(require$$2),uid=interopDefault(require$$12),TYPED=uid("typed_array"),VIEW=uid("view"),ABV=!(!global.ArrayBuffer||!global.DataView),CONSTR=ABV,i=0,l=9,TypedArrayConstructors="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");i<l;)(Typed=global[TypedArrayConstructors[i++]])?(hide(Typed.prototype,TYPED,!0),hide(Typed.prototype,VIEW,!0)):CONSTR=!1;module.exports={ABV:ABV,CONSTR:CONSTR,TYPED:TYPED,VIEW:VIEW}}),_typed$1=interopDefault(_typed),ABV=_typed.ABV,CONSTR=_typed.CONSTR,TYPED=_typed.TYPED,VIEW=_typed.VIEW,require$$33=Object.freeze({"default":_typed$1,ABV:ABV,CONSTR:CONSTR,TYPED:TYPED,VIEW:VIEW}),_typedBuffer=createCommonjsModule(function(module,exports){var global=interopDefault(require$$3),DESCRIPTORS=interopDefault(require$$1),LIBRARY=interopDefault(require$$2$4),$typed=interopDefault(require$$33),hide=interopDefault(require$$2),redefineAll=interopDefault(require$$3$7),fails=interopDefault(require$$1$1),anInstance=interopDefault(require$$4$6),toInteger=interopDefault(require$$26),toLength=interopDefault(require$$3$1),gOPN=interopDefault(require$$3$3).f,dP=interopDefault(require$$2$1).f,arrayFill=interopDefault(require$$3$5),setToStringTag=interopDefault(require$$0$3),ARRAY_BUFFER="ArrayBuffer",DATA_VIEW="DataView",PROTOTYPE="prototype",WRONG_LENGTH="Wrong length!",WRONG_INDEX="Wrong index!",$ArrayBuffer=global[ARRAY_BUFFER],$DataView=global[DATA_VIEW],Math=global.Math,RangeError=global.RangeError,Infinity=global.Infinity,BaseBuffer=$ArrayBuffer,abs=Math.abs,pow=Math.pow,floor=Math.floor,log=Math.log,LN2=Math.LN2,BUFFER="buffer",BYTE_LENGTH="byteLength",BYTE_OFFSET="byteOffset",$BUFFER=DESCRIPTORS?"_b":BUFFER,$LENGTH=DESCRIPTORS?"_l":BYTE_LENGTH,$OFFSET=DESCRIPTORS?"_o":BYTE_OFFSET,packIEEE754=function(value,mLen,nBytes){var e,m,c,buffer=Array(nBytes),eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?pow(2,-24)-pow(2,-77):0,i=0,s=value<0||0===value&&1/value<0?1:0;for(value=abs(value),value!=value||value===Infinity?(m=value!=value?1:0,e=eMax):(e=floor(log(value)/LN2),value*(c=pow(2,-e))<1&&(e--,c*=2),value+=e+eBias>=1?rt/c:rt*pow(2,1-eBias),value*c>=2&&(e++,c/=2),e+eBias>=eMax?(m=0,e=eMax):e+eBias>=1?(m=(value*c-1)*pow(2,mLen),e+=eBias):(m=value*pow(2,eBias-1)*pow(2,mLen),e=0));mLen>=8;buffer[i++]=255&m,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;eLen>0;buffer[i++]=255&e,e/=256,eLen-=8);return buffer[--i]|=128*s,buffer},unpackIEEE754=function(buffer,mLen,nBytes){var m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=eLen-7,i=nBytes-1,s=buffer[i--],e=127&s;for(s>>=7;nBits>0;e=256*e+buffer[i],i--,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;nBits>0;m=256*m+buffer[i],i--,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:s?-Infinity:Infinity;m+=pow(2,mLen),e-=eBias}return(s?-1:1)*m*pow(2,e-mLen)},unpackI32=function(bytes){return bytes[3]<<24|bytes[2]<<16|bytes[1]<<8|bytes[0]},packI8=function(it){return[255&it]},packI16=function(it){return[255&it,it>>8&255]},packI32=function(it){return[255&it,it>>8&255,it>>16&255,it>>24&255]},packF64=function(it){return packIEEE754(it,52,8)},packF32=function(it){return packIEEE754(it,23,4)},addGetter=function(C,key,internal){dP(C[PROTOTYPE],key,{get:function(){return this[internal]}})},get=function(view,bytes,index,isLittleEndian){var numIndex=+index,intIndex=toInteger(numIndex);if(numIndex!=intIndex||intIndex<0||intIndex+bytes>view[$LENGTH])throw RangeError(WRONG_INDEX);var store=view[$BUFFER]._b,start=intIndex+view[$OFFSET],pack=store.slice(start,start+bytes);return isLittleEndian?pack:pack.reverse()},set=function(view,bytes,index,conversion,value,isLittleEndian){var numIndex=+index,intIndex=toInteger(numIndex);if(numIndex!=intIndex||intIndex<0||intIndex+bytes>view[$LENGTH])throw RangeError(WRONG_INDEX);for(var store=view[$BUFFER]._b,start=intIndex+view[$OFFSET],pack=conversion(+value),i=0;i<bytes;i++)store[start+i]=pack[isLittleEndian?i:bytes-i-1]},validateArrayBufferArguments=function(that,length){anInstance(that,$ArrayBuffer,ARRAY_BUFFER);var numberLength=+length,byteLength=toLength(numberLength);if(numberLength!=byteLength)throw RangeError(WRONG_LENGTH);return byteLength};if($typed.ABV){if(!fails(function(){new $ArrayBuffer})||!fails(function(){new $ArrayBuffer(.5)})){$ArrayBuffer=function(length){return new BaseBuffer(validateArrayBufferArguments(this,length))};for(var key,ArrayBufferProto=$ArrayBuffer[PROTOTYPE]=BaseBuffer[PROTOTYPE],keys=gOPN(BaseBuffer),j=0;keys.length>j;)(key=keys[j++])in $ArrayBuffer||hide($ArrayBuffer,key,BaseBuffer[key]);LIBRARY||(ArrayBufferProto.constructor=$ArrayBuffer)}var view=new $DataView(new $ArrayBuffer(2)),$setInt8=$DataView[PROTOTYPE].setInt8;view.setInt8(0,2147483648),view.setInt8(1,2147483649),!view.getInt8(0)&&view.getInt8(1)||redefineAll($DataView[PROTOTYPE],{setInt8:function(byteOffset,value){$setInt8.call(this,byteOffset,value<<24>>24)},setUint8:function(byteOffset,value){$setInt8.call(this,byteOffset,value<<24>>24)}},!0)}else $ArrayBuffer=function(length){var byteLength=validateArrayBufferArguments(this,length);this._b=arrayFill.call(Array(byteLength),0),this[$LENGTH]=byteLength},$DataView=function(buffer,byteOffset,byteLength){anInstance(this,$DataView,DATA_VIEW),anInstance(buffer,$ArrayBuffer,DATA_VIEW);var bufferLength=buffer[$LENGTH],offset=toInteger(byteOffset);if(offset<0||offset>bufferLength)throw RangeError("Wrong offset!");if(byteLength=void 0===byteLength?bufferLength-offset:toLength(byteLength),offset+byteLength>bufferLength)throw RangeError(WRONG_LENGTH);this[$BUFFER]=buffer,this[$OFFSET]=offset,this[$LENGTH]=byteLength},DESCRIPTORS&&(addGetter($ArrayBuffer,BYTE_LENGTH,"_l"),addGetter($DataView,BUFFER,"_b"),addGetter($DataView,BYTE_LENGTH,"_l"),addGetter($DataView,BYTE_OFFSET,"_o")),redefineAll($DataView[PROTOTYPE],{getInt8:function(byteOffset){return get(this,1,byteOffset)[0]<<24>>24},getUint8:function(byteOffset){return get(this,1,byteOffset)[0]},getInt16:function(byteOffset){var bytes=get(this,2,byteOffset,arguments[1]);return(bytes[1]<<8|bytes[0])<<16>>16},getUint16:function(byteOffset){var bytes=get(this,2,byteOffset,arguments[1]);return bytes[1]<<8|bytes[0]},getInt32:function(byteOffset){return unpackI32(get(this,4,byteOffset,arguments[1]))},getUint32:function(byteOffset){return unpackI32(get(this,4,byteOffset,arguments[1]))>>>0},getFloat32:function(byteOffset){return unpackIEEE754(get(this,4,byteOffset,arguments[1]),23,4)},getFloat64:function(byteOffset){return unpackIEEE754(get(this,8,byteOffset,arguments[1]),52,8)},setInt8:function(byteOffset,value){set(this,1,byteOffset,packI8,value)},setUint8:function(byteOffset,value){set(this,1,byteOffset,packI8,value)},setInt16:function(byteOffset,value){set(this,2,byteOffset,packI16,value,arguments[2])},setUint16:function(byteOffset,value){set(this,2,byteOffset,packI16,value,arguments[2])},setInt32:function(byteOffset,value){set(this,4,byteOffset,packI32,value,arguments[2])},setUint32:function(byteOffset,value){set(this,4,byteOffset,packI32,value,arguments[2])},setFloat32:function(byteOffset,value){set(this,4,byteOffset,packF32,value,arguments[2])},setFloat64:function(byteOffset,value){set(this,8,byteOffset,packF64,value,arguments[2])}});setToStringTag($ArrayBuffer,ARRAY_BUFFER),setToStringTag($DataView,DATA_VIEW),hide($DataView[PROTOTYPE],$typed.VIEW,!0),exports[ARRAY_BUFFER]=$ArrayBuffer,exports[DATA_VIEW]=$DataView}),_typedBuffer$1=interopDefault(_typedBuffer),require$$32=Object.freeze({"default":_typedBuffer$1}),es6_typed_arrayBuffer=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$typed=interopDefault(require$$33),buffer=interopDefault(require$$32),anObject=interopDefault(require$$5),toIndex=interopDefault(require$$24),toLength=interopDefault(require$$3$1),isObject=interopDefault(require$$0$1),ArrayBuffer=interopDefault(require$$3).ArrayBuffer,speciesConstructor=interopDefault(require$$8),$ArrayBuffer=buffer.ArrayBuffer,$DataView=buffer.DataView,$isView=$typed.ABV&&ArrayBuffer.isView,$slice=$ArrayBuffer.prototype.slice,VIEW=$typed.VIEW,ARRAY_BUFFER="ArrayBuffer";$export($export.G+$export.W+$export.F*(ArrayBuffer!==$ArrayBuffer),{ArrayBuffer:$ArrayBuffer}),$export($export.S+$export.F*!$typed.CONSTR,ARRAY_BUFFER,{isView:function(it){return $isView&&$isView(it)||isObject(it)&&VIEW in it}}),$export($export.P+$export.U+$export.F*interopDefault(require$$1$1)(function(){return!new $ArrayBuffer(2).slice(1,void 0).byteLength}),ARRAY_BUFFER,{slice:function(start,end){if(void 0!==$slice&&void 0===end)return $slice.call(anObject(this),start);for(var len=anObject(this).byteLength,first=toIndex(start,len),final=toIndex(void 0===end?len:end,len),result=new(speciesConstructor(this,$ArrayBuffer))(toLength(final-first)),viewS=new $DataView(this),viewT=new $DataView(result),index=0;first<final;)viewT.setUint8(index++,viewS.getUint8(first++));return result}}),interopDefault(require$$0$35)(ARRAY_BUFFER)});interopDefault(es6_typed_arrayBuffer);var es6_typed_dataView=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.G+$export.W+$export.F*!interopDefault(require$$33).ABV,{DataView:interopDefault(require$$32).DataView})});interopDefault(es6_typed_dataView);var _typedArray=createCommonjsModule(function(module){if(interopDefault(require$$1)){var LIBRARY=interopDefault(require$$2$4),global=interopDefault(require$$3),fails=interopDefault(require$$1$1),$export=interopDefault(require$$1$2),$typed=interopDefault(require$$33),$buffer=interopDefault(require$$32),ctx=interopDefault(require$$31),anInstance=interopDefault(require$$4$6),propertyDesc=interopDefault(require$$2$3),hide=interopDefault(require$$2),redefineAll=interopDefault(require$$3$7),toInteger=interopDefault(require$$26),toLength=interopDefault(require$$3$1),toIndex=interopDefault(require$$24),toPrimitive=interopDefault(require$$4$1),has=interopDefault(require$$4),same=interopDefault(require$$21),classof=interopDefault(require$$1$11),isObject=interopDefault(require$$0$1),toObject=interopDefault(require$$5$1),isArrayIter=interopDefault(require$$17),create=interopDefault(require$$6$1),getPrototypeOf=interopDefault(require$$0$13),gOPN=interopDefault(require$$3$3).f,getIterFn=interopDefault(require$$13),uid=interopDefault(require$$12),wks=interopDefault(require$$0$4),createArrayMethod=interopDefault(require$$10),createArrayIncludes=interopDefault(require$$1$9),speciesConstructor=interopDefault(require$$8),ArrayIterators=interopDefault(require$$5$3),Iterators=interopDefault(require$$1$15),$iterDetect=interopDefault(require$$5$2),setSpecies=interopDefault(require$$0$35),arrayFill=interopDefault(require$$3$5),arrayCopyWithin=interopDefault(require$$2$9),$DP=interopDefault(require$$2$1),$GOPD=interopDefault(require$$2$7),dP=$DP.f,gOPD=$GOPD.f,RangeError=global.RangeError,TypeError=global.TypeError,Uint8Array=global.Uint8Array,ARRAY_BUFFER="ArrayBuffer",SHARED_BUFFER="Shared"+ARRAY_BUFFER,BYTES_PER_ELEMENT="BYTES_PER_ELEMENT",PROTOTYPE="prototype",ArrayProto=Array[PROTOTYPE],$ArrayBuffer=$buffer.ArrayBuffer,$DataView=$buffer.DataView,arrayForEach=createArrayMethod(0),arrayFilter=createArrayMethod(2),arraySome=createArrayMethod(3),arrayEvery=createArrayMethod(4),arrayFind=createArrayMethod(5),arrayFindIndex=createArrayMethod(6),arrayIncludes=createArrayIncludes(!0),arrayIndexOf=createArrayIncludes(!1),arrayValues=ArrayIterators.values,arrayKeys=ArrayIterators.keys,arrayEntries=ArrayIterators.entries,arrayLastIndexOf=ArrayProto.lastIndexOf,arrayReduce=ArrayProto.reduce,arrayReduceRight=ArrayProto.reduceRight,arrayJoin=ArrayProto.join,arraySort=ArrayProto.sort,arraySlice=ArrayProto.slice,arrayToString=ArrayProto.toString,arrayToLocaleString=ArrayProto.toLocaleString,ITERATOR=wks("iterator"),TAG=wks("toStringTag"),TYPED_CONSTRUCTOR=uid("typed_constructor"),DEF_CONSTRUCTOR=uid("def_constructor"),ALL_CONSTRUCTORS=$typed.CONSTR,TYPED_ARRAY=$typed.TYPED,VIEW=$typed.VIEW,WRONG_LENGTH="Wrong length!",$map=createArrayMethod(1,function(O,length){return allocate(speciesConstructor(O,O[DEF_CONSTRUCTOR]),length)}),LITTLE_ENDIAN=fails(function(){return 1===new Uint8Array(new Uint16Array([1]).buffer)[0]}),FORCED_SET=!!Uint8Array&&!!Uint8Array[PROTOTYPE].set&&fails(function(){new Uint8Array(1).set({})}),strictToLength=function(it,SAME){if(void 0===it)throw TypeError(WRONG_LENGTH);var number=+it,length=toLength(it);if(SAME&&!same(number,length))throw RangeError(WRONG_LENGTH);return length},toOffset=function(it,BYTES){var offset=toInteger(it);if(offset<0||offset%BYTES)throw RangeError("Wrong offset!");return offset},validate=function(it){if(isObject(it)&&TYPED_ARRAY in it)return it;throw TypeError(it+" is not a typed array!")},allocate=function(C,length){if(!(isObject(C)&&TYPED_CONSTRUCTOR in C))throw TypeError("It is not a typed array constructor!");return new C(length)},speciesFromList=function(O,list){return fromList(speciesConstructor(O,O[DEF_CONSTRUCTOR]),list)},fromList=function(C,list){for(var index=0,length=list.length,result=allocate(C,length);length>index;)result[index]=list[index++];return result},addGetter=function(it,key,internal){dP(it,key,{get:function(){return this._d[internal]}})},$from=function(source){var i,length,values,result,step,iterator,O=toObject(source),aLen=arguments.length,mapfn=aLen>1?arguments[1]:void 0,mapping=void 0!==mapfn,iterFn=getIterFn(O);
+if(void 0!=iterFn&&!isArrayIter(iterFn)){for(iterator=iterFn.call(O),values=[],i=0;!(step=iterator.next()).done;i++)values.push(step.value);O=values}for(mapping&&aLen>2&&(mapfn=ctx(mapfn,arguments[2],2)),i=0,length=toLength(O.length),result=allocate(this,length);length>i;i++)result[i]=mapping?mapfn(O[i],i):O[i];return result},$of=function(){for(var index=0,length=arguments.length,result=allocate(this,length);length>index;)result[index]=arguments[index++];return result},TO_LOCALE_BUG=!!Uint8Array&&fails(function(){arrayToLocaleString.call(new Uint8Array(1))}),$toLocaleString=function(){return arrayToLocaleString.apply(TO_LOCALE_BUG?arraySlice.call(validate(this)):validate(this),arguments)},proto={copyWithin:function(target,start){return arrayCopyWithin.call(validate(this),target,start,arguments.length>2?arguments[2]:void 0)},every:function(callbackfn){return arrayEvery(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0)},fill:function(value){return arrayFill.apply(validate(this),arguments)},filter:function(callbackfn){return speciesFromList(this,arrayFilter(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0))},find:function(predicate){return arrayFind(validate(this),predicate,arguments.length>1?arguments[1]:void 0)},findIndex:function(predicate){return arrayFindIndex(validate(this),predicate,arguments.length>1?arguments[1]:void 0)},forEach:function(callbackfn){arrayForEach(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0)},indexOf:function(searchElement){return arrayIndexOf(validate(this),searchElement,arguments.length>1?arguments[1]:void 0)},includes:function(searchElement){return arrayIncludes(validate(this),searchElement,arguments.length>1?arguments[1]:void 0)},join:function(separator){return arrayJoin.apply(validate(this),arguments)},lastIndexOf:function(searchElement){return arrayLastIndexOf.apply(validate(this),arguments)},map:function(mapfn){return $map(validate(this),mapfn,arguments.length>1?arguments[1]:void 0)},reduce:function(callbackfn){return arrayReduce.apply(validate(this),arguments)},reduceRight:function(callbackfn){return arrayReduceRight.apply(validate(this),arguments)},reverse:function(){for(var value,that=this,length=validate(that).length,middle=Math.floor(length/2),index=0;index<middle;)value=that[index],that[index++]=that[--length],that[length]=value;return that},some:function(callbackfn){return arraySome(validate(this),callbackfn,arguments.length>1?arguments[1]:void 0)},sort:function(comparefn){return arraySort.call(validate(this),comparefn)},subarray:function(begin,end){var O=validate(this),length=O.length,$begin=toIndex(begin,length);return new(speciesConstructor(O,O[DEF_CONSTRUCTOR]))(O.buffer,O.byteOffset+$begin*O.BYTES_PER_ELEMENT,toLength((void 0===end?length:toIndex(end,length))-$begin))}},$slice=function(start,end){return speciesFromList(this,arraySlice.call(validate(this),start,end))},$set=function(arrayLike){validate(this);var offset=toOffset(arguments[1],1),length=this.length,src=toObject(arrayLike),len=toLength(src.length),index=0;if(len+offset>length)throw RangeError(WRONG_LENGTH);for(;index<len;)this[offset+index]=src[index++]},$iterators={entries:function(){return arrayEntries.call(validate(this))},keys:function(){return arrayKeys.call(validate(this))},values:function(){return arrayValues.call(validate(this))}},isTAIndex=function(target,key){return isObject(target)&&target[TYPED_ARRAY]&&"symbol"!=("undefined"==typeof key?"undefined":_typeof(key))&&key in target&&String(+key)==String(key)},$getDesc=function(target,key){return isTAIndex(target,key=toPrimitive(key,!0))?propertyDesc(2,target[key]):gOPD(target,key)},$setDesc=function(target,key,desc){return!(isTAIndex(target,key=toPrimitive(key,!0))&&isObject(desc)&&has(desc,"value"))||has(desc,"get")||has(desc,"set")||desc.configurable||has(desc,"writable")&&!desc.writable||has(desc,"enumerable")&&!desc.enumerable?dP(target,key,desc):(target[key]=desc.value,target)};ALL_CONSTRUCTORS||($GOPD.f=$getDesc,$DP.f=$setDesc),$export($export.S+$export.F*!ALL_CONSTRUCTORS,"Object",{getOwnPropertyDescriptor:$getDesc,defineProperty:$setDesc}),fails(function(){arrayToString.call({})})&&(arrayToString=arrayToLocaleString=function(){return arrayJoin.call(this)});var $TypedArrayPrototype$=redefineAll({},proto);redefineAll($TypedArrayPrototype$,$iterators),hide($TypedArrayPrototype$,ITERATOR,$iterators.values),redefineAll($TypedArrayPrototype$,{slice:$slice,set:$set,constructor:function(){},toString:arrayToString,toLocaleString:$toLocaleString}),addGetter($TypedArrayPrototype$,"buffer","b"),addGetter($TypedArrayPrototype$,"byteOffset","o"),addGetter($TypedArrayPrototype$,"byteLength","l"),addGetter($TypedArrayPrototype$,"length","e"),dP($TypedArrayPrototype$,TAG,{get:function(){return this[TYPED_ARRAY]}}),module.exports=function(KEY,BYTES,wrapper,CLAMPED){CLAMPED=!!CLAMPED;var NAME=KEY+(CLAMPED?"Clamped":"")+"Array",ISNT_UINT8="Uint8Array"!=NAME,GETTER="get"+KEY,SETTER="set"+KEY,TypedArray=global[NAME],Base=TypedArray||{},TAC=TypedArray&&getPrototypeOf(TypedArray),FORCED=!TypedArray||!$typed.ABV,O={},TypedArrayPrototype=TypedArray&&TypedArray[PROTOTYPE],getter=function(that,index){var data=that._d;return data.v[GETTER](index*BYTES+data.o,LITTLE_ENDIAN)},setter=function(that,index,value){var data=that._d;CLAMPED&&(value=(value=Math.round(value))<0?0:value>255?255:255&value),data.v[SETTER](index*BYTES+data.o,value,LITTLE_ENDIAN)},addElement=function(that,index){dP(that,index,{get:function(){return getter(this,index)},set:function(value){return setter(this,index,value)},enumerable:!0})};FORCED?(TypedArray=wrapper(function(that,data,$offset,$length){anInstance(that,TypedArray,NAME,"_d");var buffer,byteLength,length,klass,index=0,offset=0;if(isObject(data)){if(!(data instanceof $ArrayBuffer||(klass=classof(data))==ARRAY_BUFFER||klass==SHARED_BUFFER))return TYPED_ARRAY in data?fromList(TypedArray,data):$from.call(TypedArray,data);buffer=data,offset=toOffset($offset,BYTES);var $len=data.byteLength;if(void 0===$length){if($len%BYTES)throw RangeError(WRONG_LENGTH);if(byteLength=$len-offset,byteLength<0)throw RangeError(WRONG_LENGTH)}else if(byteLength=toLength($length)*BYTES,byteLength+offset>$len)throw RangeError(WRONG_LENGTH);length=byteLength/BYTES}else length=strictToLength(data,!0),byteLength=length*BYTES,buffer=new $ArrayBuffer(byteLength);for(hide(that,"_d",{b:buffer,o:offset,l:byteLength,e:length,v:new $DataView(buffer)});index<length;)addElement(that,index++)}),TypedArrayPrototype=TypedArray[PROTOTYPE]=create($TypedArrayPrototype$),hide(TypedArrayPrototype,"constructor",TypedArray)):$iterDetect(function(iter){new TypedArray(null),new TypedArray(iter)},!0)||(TypedArray=wrapper(function(that,data,$offset,$length){anInstance(that,TypedArray,NAME);var klass;return isObject(data)?data instanceof $ArrayBuffer||(klass=classof(data))==ARRAY_BUFFER||klass==SHARED_BUFFER?void 0!==$length?new Base(data,toOffset($offset,BYTES),$length):void 0!==$offset?new Base(data,toOffset($offset,BYTES)):new Base(data):TYPED_ARRAY in data?fromList(TypedArray,data):$from.call(TypedArray,data):new Base(strictToLength(data,ISNT_UINT8))}),arrayForEach(TAC!==Function.prototype?gOPN(Base).concat(gOPN(TAC)):gOPN(Base),function(key){key in TypedArray||hide(TypedArray,key,Base[key])}),TypedArray[PROTOTYPE]=TypedArrayPrototype,LIBRARY||(TypedArrayPrototype.constructor=TypedArray));var $nativeIterator=TypedArrayPrototype[ITERATOR],CORRECT_ITER_NAME=!!$nativeIterator&&("values"==$nativeIterator.name||void 0==$nativeIterator.name),$iterator=$iterators.values;hide(TypedArray,TYPED_CONSTRUCTOR,!0),hide(TypedArrayPrototype,TYPED_ARRAY,NAME),hide(TypedArrayPrototype,VIEW,!0),hide(TypedArrayPrototype,DEF_CONSTRUCTOR,TypedArray),(CLAMPED?new TypedArray(1)[TAG]==NAME:TAG in TypedArrayPrototype)||dP(TypedArrayPrototype,TAG,{get:function(){return NAME}}),O[NAME]=TypedArray,$export($export.G+$export.W+$export.F*(TypedArray!=Base),O),$export($export.S,NAME,{BYTES_PER_ELEMENT:BYTES,from:$from,of:$of}),BYTES_PER_ELEMENT in TypedArrayPrototype||hide(TypedArrayPrototype,BYTES_PER_ELEMENT,BYTES),$export($export.P,NAME,proto),setSpecies(NAME),$export($export.P+$export.F*FORCED_SET,NAME,{set:$set}),$export($export.P+$export.F*!CORRECT_ITER_NAME,NAME,$iterators),$export($export.P+$export.F*(TypedArrayPrototype.toString!=arrayToString),NAME,{toString:arrayToString}),$export($export.P+$export.F*fails(function(){new TypedArray(1).slice()}),NAME,{slice:$slice}),$export($export.P+$export.F*(fails(function(){return[1,2].toLocaleString()!=new TypedArray([1,2]).toLocaleString()})||!fails(function(){TypedArrayPrototype.toLocaleString.call([1,2])})),NAME,{toLocaleString:$toLocaleString}),Iterators[NAME]=CORRECT_ITER_NAME?$nativeIterator:$iterator,LIBRARY||CORRECT_ITER_NAME||hide(TypedArrayPrototype,ITERATOR,$iterator)}}else module.exports=function(){}}),_typedArray$1=interopDefault(_typedArray),require$$0$39=Object.freeze({"default":_typedArray$1}),es6_typed_int8Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Int8",1,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_int8Array);var es6_typed_uint8Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint8",1,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_uint8Array);var es6_typed_uint8ClampedArray=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint8",1,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}},!0)});interopDefault(es6_typed_uint8ClampedArray);var es6_typed_int16Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Int16",2,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_int16Array);var es6_typed_uint16Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint16",2,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_uint16Array);var es6_typed_int32Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Int32",4,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_int32Array);var es6_typed_uint32Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Uint32",4,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_uint32Array);var es6_typed_float32Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Float32",4,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_float32Array);var es6_typed_float64Array=createCommonjsModule(function(module){interopDefault(require$$0$39)("Float64",8,function(init){return function(data,byteOffset,length){return init(this,data,byteOffset,length)}})});interopDefault(es6_typed_float64Array);var es6_reflect_apply=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),aFunction=interopDefault(require$$0$2),anObject=interopDefault(require$$5),rApply=(interopDefault(require$$3).Reflect||{}).apply,fApply=Function.apply;$export($export.S+$export.F*!interopDefault(require$$1$1)(function(){rApply(function(){})}),"Reflect",{apply:function(target,thisArgument,argumentsList){var T=aFunction(target),L=anObject(argumentsList);return rApply?rApply(T,thisArgument,L):fApply.call(T,thisArgument,L)}})});interopDefault(es6_reflect_apply);var es6_reflect_construct=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),create=interopDefault(require$$6$1),aFunction=interopDefault(require$$0$2),anObject=interopDefault(require$$5),isObject=interopDefault(require$$0$1),fails=interopDefault(require$$1$1),bind=interopDefault(require$$1$12),rConstruct=(interopDefault(require$$3).Reflect||{}).construct,NEW_TARGET_BUG=fails(function(){function F(){}return!(rConstruct(function(){},[],F)instanceof F)}),ARGS_BUG=!fails(function(){rConstruct(function(){})});$export($export.S+$export.F*(NEW_TARGET_BUG||ARGS_BUG),"Reflect",{construct:function(Target,args){aFunction(Target),anObject(args);var newTarget=arguments.length<3?Target:aFunction(arguments[2]);if(ARGS_BUG&&!NEW_TARGET_BUG)return rConstruct(Target,args,newTarget);if(Target==newTarget){switch(args.length){case 0:return new Target;case 1:return new Target(args[0]);case 2:return new Target(args[0],args[1]);case 3:return new Target(args[0],args[1],args[2]);case 4:return new Target(args[0],args[1],args[2],args[3])}var $args=[null];return $args.push.apply($args,args),new(bind.apply(Target,$args))}var proto=newTarget.prototype,instance=create(isObject(proto)?proto:Object.prototype),result=Function.apply.call(Target,instance,args);return isObject(result)?result:instance}})});interopDefault(es6_reflect_construct);var es6_reflect_defineProperty=createCommonjsModule(function(module){var dP=interopDefault(require$$2$1),$export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),toPrimitive=interopDefault(require$$4$1);$export($export.S+$export.F*interopDefault(require$$1$1)(function(){Reflect.defineProperty(dP.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(target,propertyKey,attributes){anObject(target),propertyKey=toPrimitive(propertyKey,!0),anObject(attributes);try{return dP.f(target,propertyKey,attributes),!0}catch(e){return!1}}})});interopDefault(es6_reflect_defineProperty);var es6_reflect_deleteProperty=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),gOPD=interopDefault(require$$2$7).f,anObject=interopDefault(require$$5);$export($export.S,"Reflect",{deleteProperty:function(target,propertyKey){var desc=gOPD(anObject(target),propertyKey);return!(desc&&!desc.configurable)&&delete target[propertyKey]}})});interopDefault(es6_reflect_deleteProperty);var es6_reflect_enumerate=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),Enumerate=function(iterated){this._t=anObject(iterated),this._i=0;var key,keys=this._k=[];for(key in iterated)keys.push(key)};interopDefault(require$$0$26)(Enumerate,"Object",function(){var key,that=this,keys=that._k;do if(that._i>=keys.length)return{value:void 0,done:!0};while(!((key=keys[that._i++])in that._t));return{value:key,done:!1}}),$export($export.S,"Reflect",{enumerate:function(target){return new Enumerate(target)}})});interopDefault(es6_reflect_enumerate);var es6_reflect_get=createCommonjsModule(function(module){function get(target,propertyKey){var desc,proto,receiver=arguments.length<3?target:arguments[2];return anObject(target)===receiver?target[propertyKey]:(desc=gOPD.f(target,propertyKey))?has(desc,"value")?desc.value:void 0!==desc.get?desc.get.call(receiver):void 0:isObject(proto=getPrototypeOf(target))?get(proto,propertyKey,receiver):void 0}var gOPD=interopDefault(require$$2$7),getPrototypeOf=interopDefault(require$$0$13),has=interopDefault(require$$4),$export=interopDefault(require$$1$2),isObject=interopDefault(require$$0$1),anObject=interopDefault(require$$5);$export($export.S,"Reflect",{get:get})});interopDefault(es6_reflect_get);var es6_reflect_getOwnPropertyDescriptor=createCommonjsModule(function(module){var gOPD=interopDefault(require$$2$7),$export=interopDefault(require$$1$2),anObject=interopDefault(require$$5);$export($export.S,"Reflect",{getOwnPropertyDescriptor:function(target,propertyKey){return gOPD.f(anObject(target),propertyKey)}})});interopDefault(es6_reflect_getOwnPropertyDescriptor);var es6_reflect_getPrototypeOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),getProto=interopDefault(require$$0$13),anObject=interopDefault(require$$5);$export($export.S,"Reflect",{getPrototypeOf:function(target){return getProto(anObject(target))}})});interopDefault(es6_reflect_getPrototypeOf);var es6_reflect_has=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Reflect",{has:function(target,propertyKey){return propertyKey in target}})});interopDefault(es6_reflect_has);var es6_reflect_isExtensible=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),$isExtensible=Object.isExtensible;$export($export.S,"Reflect",{isExtensible:function(target){return anObject(target),!$isExtensible||$isExtensible(target)}})});interopDefault(es6_reflect_isExtensible);var _ownKeys=createCommonjsModule(function(module){var gOPN=interopDefault(require$$3$3),gOPS=interopDefault(require$$2$6),anObject=interopDefault(require$$5),Reflect=interopDefault(require$$3).Reflect;module.exports=Reflect&&Reflect.ownKeys||function(it){var keys=gOPN.f(anObject(it)),getSymbols=gOPS.f;return getSymbols?keys.concat(getSymbols(it)):keys}}),_ownKeys$1=interopDefault(_ownKeys),require$$3$9=Object.freeze({"default":_ownKeys$1}),es6_reflect_ownKeys=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Reflect",{ownKeys:interopDefault(require$$3$9)})});interopDefault(es6_reflect_ownKeys);var es6_reflect_preventExtensions=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),anObject=interopDefault(require$$5),$preventExtensions=Object.preventExtensions;$export($export.S,"Reflect",{preventExtensions:function(target){anObject(target);try{return $preventExtensions&&$preventExtensions(target),!0}catch(e){return!1}}})});interopDefault(es6_reflect_preventExtensions);var es6_reflect_set=createCommonjsModule(function(module){function set(target,propertyKey,V){var existingDescriptor,proto,receiver=arguments.length<4?target:arguments[3],ownDesc=gOPD.f(anObject(target),propertyKey);if(!ownDesc){if(isObject(proto=getPrototypeOf(target)))return set(proto,propertyKey,V,receiver);ownDesc=createDesc(0)}return has(ownDesc,"value")?!(ownDesc.writable===!1||!isObject(receiver))&&(existingDescriptor=gOPD.f(receiver,propertyKey)||createDesc(0),existingDescriptor.value=V,dP.f(receiver,propertyKey,existingDescriptor),!0):void 0!==ownDesc.set&&(ownDesc.set.call(receiver,V),!0)}var dP=interopDefault(require$$2$1),gOPD=interopDefault(require$$2$7),getPrototypeOf=interopDefault(require$$0$13),has=interopDefault(require$$4),$export=interopDefault(require$$1$2),createDesc=interopDefault(require$$2$3),anObject=interopDefault(require$$5),isObject=interopDefault(require$$0$1);$export($export.S,"Reflect",{set:set})});interopDefault(es6_reflect_set);var es6_reflect_setPrototypeOf=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),setProto=interopDefault(require$$0$14);setProto&&$export($export.S,"Reflect",{setPrototypeOf:function(target,proto){setProto.check(target,proto);try{return setProto.set(target,proto),!0}catch(e){return!1}}})});interopDefault(es6_reflect_setPrototypeOf);var es7_array_includes=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$includes=interopDefault(require$$1$9)(!0);$export($export.P,"Array",{includes:function(el){return $includes(this,el,arguments.length>1?arguments[1]:void 0)}}),interopDefault(require$$0$34)("includes")});interopDefault(es7_array_includes);var es7_string_at=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$at=interopDefault(require$$0$25)(!0);$export($export.P,"String",{at:function(pos){return $at(this,pos)}})});interopDefault(es7_string_at);var _stringPad=createCommonjsModule(function(module){var toLength=interopDefault(require$$3$1),repeat=interopDefault(require$$1$14),defined=interopDefault(require$$4$3);module.exports=function(that,maxLength,fillString,left){var S=String(defined(that)),stringLength=S.length,fillStr=void 0===fillString?" ":String(fillString),intMaxLength=toLength(maxLength);if(intMaxLength<=stringLength||""==fillStr)return S;var fillLen=intMaxLength-stringLength,stringFiller=repeat.call(fillStr,Math.ceil(fillLen/fillStr.length));return stringFiller.length>fillLen&&(stringFiller=stringFiller.slice(0,fillLen)),left?stringFiller+S:S+stringFiller}}),_stringPad$1=interopDefault(_stringPad),require$$0$40=Object.freeze({"default":_stringPad$1}),es7_string_padStart=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$pad=interopDefault(require$$0$40);$export($export.P,"String",{padStart:function(maxLength){return $pad(this,maxLength,arguments.length>1?arguments[1]:void 0,!0)}})});interopDefault(es7_string_padStart);var es7_string_padEnd=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$pad=interopDefault(require$$0$40);$export($export.P,"String",{padEnd:function(maxLength){return $pad(this,maxLength,arguments.length>1?arguments[1]:void 0,!1)}})});interopDefault(es7_string_padEnd);var es7_string_trimLeft=createCommonjsModule(function(module){interopDefault(require$$0$16)("trimLeft",function($trim){return function(){return $trim(this,1)}},"trimStart")});interopDefault(es7_string_trimLeft);var es7_string_trimRight=createCommonjsModule(function(module){interopDefault(require$$0$16)("trimRight",function($trim){return function(){return $trim(this,2)}},"trimEnd")});interopDefault(es7_string_trimRight);var es7_string_matchAll=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),defined=interopDefault(require$$4$3),toLength=interopDefault(require$$3$1),isRegExp=interopDefault(require$$2$8),getFlags=interopDefault(require$$1$18),RegExpProto=RegExp.prototype,$RegExpStringIterator=function(regexp,string){this._r=regexp,this._s=string};interopDefault(require$$0$26)($RegExpStringIterator,"RegExp String",function(){var match=this._r.exec(this._s);return{value:match,done:null===match}}),$export($export.P,"String",{matchAll:function(regexp){if(defined(this),!isRegExp(regexp))throw TypeError(regexp+" is not a regexp!");var S=String(this),flags="flags"in RegExpProto?String(regexp.flags):getFlags.call(regexp),rx=new RegExp(regexp.source,~flags.indexOf("g")?flags:"g"+flags);return rx.lastIndex=toLength(regexp.lastIndex),new $RegExpStringIterator(rx,S)}})});interopDefault(es7_string_matchAll);var es7_symbol_asyncIterator=createCommonjsModule(function(module){interopDefault(require$$0$5)("asyncIterator")});interopDefault(es7_symbol_asyncIterator);var es7_symbol_observable=createCommonjsModule(function(module){interopDefault(require$$0$5)("observable")});interopDefault(es7_symbol_observable);var es7_object_getOwnPropertyDescriptors=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),ownKeys=interopDefault(require$$3$9),toIObject=interopDefault(require$$1$7),gOPD=interopDefault(require$$2$7),createProperty=interopDefault(require$$0$30);$export($export.S,"Object",{getOwnPropertyDescriptors:function(object){for(var key,O=toIObject(object),getDesc=gOPD.f,keys=ownKeys(O),result={},i=0;keys.length>i;)createProperty(result,key=keys[i++],getDesc(O,key));return result}})});interopDefault(es7_object_getOwnPropertyDescriptors);var _objectToArray=createCommonjsModule(function(module){var getKeys=interopDefault(require$$2$5),toIObject=interopDefault(require$$1$7),isEnum=interopDefault(require$$0$9).f;module.exports=function(isEntries){return function(it){for(var key,O=toIObject(it),keys=getKeys(O),length=keys.length,i=0,result=[];length>i;)isEnum.call(O,key=keys[i++])&&result.push(isEntries?[key,O[key]]:O[key]);return result}}}),_objectToArray$1=interopDefault(_objectToArray),require$$0$41=Object.freeze({"default":_objectToArray$1}),es7_object_values=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$values=interopDefault(require$$0$41)(!1);$export($export.S,"Object",{values:function(it){return $values(it)}})});interopDefault(es7_object_values);var es7_object_entries=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$entries=interopDefault(require$$0$41)(!0);$export($export.S,"Object",{entries:function(it){return $entries(it)}})});interopDefault(es7_object_entries);var _objectForcedPam=createCommonjsModule(function(module){module.exports=interopDefault(require$$2$4)||!interopDefault(require$$1$1)(function(){var K=Math.random();__defineSetter__.call(null,K,function(){}),delete interopDefault(require$$3)[K]})}),_objectForcedPam$1=interopDefault(_objectForcedPam),require$$0$42=Object.freeze({"default":_objectForcedPam$1}),es7_object_defineGetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),aFunction=interopDefault(require$$0$2),$defineProperty=interopDefault(require$$2$1);interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__defineGetter__:function(P,getter){$defineProperty.f(toObject(this),P,{get:aFunction(getter),enumerable:!0,configurable:!0})}})});interopDefault(es7_object_defineGetter);var es7_object_defineSetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),aFunction=interopDefault(require$$0$2),$defineProperty=interopDefault(require$$2$1);interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__defineSetter__:function(P,setter){$defineProperty.f(toObject(this),P,{set:aFunction(setter),enumerable:!0,configurable:!0})}})});interopDefault(es7_object_defineSetter);var es7_object_lookupGetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),toPrimitive=interopDefault(require$$4$1),getPrototypeOf=interopDefault(require$$0$13),getOwnPropertyDescriptor=interopDefault(require$$2$7).f;interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__lookupGetter__:function(P){var D,O=toObject(this),K=toPrimitive(P,!0);do if(D=getOwnPropertyDescriptor(O,K))return D.get;while(O=getPrototypeOf(O))}})});interopDefault(es7_object_lookupGetter);var es7_object_lookupSetter=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),toObject=interopDefault(require$$5$1),toPrimitive=interopDefault(require$$4$1),getPrototypeOf=interopDefault(require$$0$13),getOwnPropertyDescriptor=interopDefault(require$$2$7).f;interopDefault(require$$1)&&$export($export.P+interopDefault(require$$0$42),"Object",{__lookupSetter__:function(P){var D,O=toObject(this),K=toPrimitive(P,!0);do if(D=getOwnPropertyDescriptor(O,K))return D.set;while(O=getPrototypeOf(O))}})});interopDefault(es7_object_lookupSetter);var _arrayFromIterable=createCommonjsModule(function(module){var forOf=interopDefault(require$$1$20);module.exports=function(iter,ITERATOR){var result=[];return forOf(iter,!1,result.push,result,ITERATOR),result}}),_arrayFromIterable$1=interopDefault(_arrayFromIterable),require$$3$10=Object.freeze({"default":_arrayFromIterable$1}),_collectionToJson=createCommonjsModule(function(module){var classof=interopDefault(require$$1$11),from=interopDefault(require$$3$10);module.exports=function(NAME){return function(){if(classof(this)!=NAME)throw TypeError(NAME+"#toJSON isn't generic");return from(this)}}}),_collectionToJson$1=interopDefault(_collectionToJson),require$$0$43=Object.freeze({"default":_collectionToJson$1}),es7_map_toJson=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P+$export.R,"Map",{toJSON:interopDefault(require$$0$43)("Map")})});interopDefault(es7_map_toJson);var es7_set_toJson=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.P+$export.R,"Set",{toJSON:interopDefault(require$$0$43)("Set")})});interopDefault(es7_set_toJson);var es7_system_global=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"System",{global:interopDefault(require$$3)})});interopDefault(es7_system_global);var es7_error_isError=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),cof=interopDefault(require$$0$6);$export($export.S,"Error",{isError:function(it){return"Error"===cof(it)}})});interopDefault(es7_error_isError);var es7_math_iaddh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{iaddh:function(x0,x1,y0,y1){var $x0=x0>>>0,$x1=x1>>>0,$y0=y0>>>0;return $x1+(y1>>>0)+(($x0&$y0|($x0|$y0)&~($x0+$y0>>>0))>>>31)|0}})});interopDefault(es7_math_iaddh);var es7_math_isubh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{isubh:function(x0,x1,y0,y1){var $x0=x0>>>0,$x1=x1>>>0,$y0=y0>>>0;return $x1-(y1>>>0)-((~$x0&$y0|~($x0^$y0)&$x0-$y0>>>0)>>>31)|0}})});interopDefault(es7_math_isubh);var es7_math_imulh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{imulh:function(u,v){var UINT16=65535,$u=+u,$v=+v,u0=$u&UINT16,v0=$v&UINT16,u1=$u>>16,v1=$v>>16,t=(u1*v0>>>0)+(u0*v0>>>16);return u1*v1+(t>>16)+((u0*v1>>>0)+(t&UINT16)>>16)}})});interopDefault(es7_math_imulh);var es7_math_umulh=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2);$export($export.S,"Math",{umulh:function(u,v){var UINT16=65535,$u=+u,$v=+v,u0=$u&UINT16,v0=$v&UINT16,u1=$u>>>16,v1=$v>>>16,t=(u1*v0>>>0)+(u0*v0>>>16);return u1*v1+(t>>>16)+((u0*v1>>>0)+(t&UINT16)>>>16)}})});interopDefault(es7_math_umulh);var _metadata=createCommonjsModule(function(module){var Map=interopDefault(require$$3$8),$export=interopDefault(require$$1$2),shared=interopDefault(require$$1$4)("metadata"),store=shared.store||(shared.store=new(interopDefault(require$$0$38))),getOrCreateMetadataMap=function(target,targetKey,create){var targetMetadata=store.get(target);if(!targetMetadata){if(!create)return;store.set(target,targetMetadata=new Map)}var keyMetadata=targetMetadata.get(targetKey);if(!keyMetadata){if(!create)return;targetMetadata.set(targetKey,keyMetadata=new Map)}return keyMetadata},ordinaryHasOwnMetadata=function(MetadataKey,O,P){var metadataMap=getOrCreateMetadataMap(O,P,!1);return void 0!==metadataMap&&metadataMap.has(MetadataKey)},ordinaryGetOwnMetadata=function(MetadataKey,O,P){var metadataMap=getOrCreateMetadataMap(O,P,!1);return void 0===metadataMap?void 0:metadataMap.get(MetadataKey)},ordinaryDefineOwnMetadata=function(MetadataKey,MetadataValue,O,P){getOrCreateMetadataMap(O,P,!0).set(MetadataKey,MetadataValue)},ordinaryOwnMetadataKeys=function(target,targetKey){var metadataMap=getOrCreateMetadataMap(target,targetKey,!1),keys=[];return metadataMap&&metadataMap.forEach(function(_,key){keys.push(key)}),keys},toMetaKey=function(it){return void 0===it||"symbol"==("undefined"==typeof it?"undefined":_typeof(it))?it:String(it)},exp=function(O){$export($export.S,"Reflect",O)};module.exports={store:store,map:getOrCreateMetadataMap,has:ordinaryHasOwnMetadata,get:ordinaryGetOwnMetadata,set:ordinaryDefineOwnMetadata,keys:ordinaryOwnMetadataKeys,key:toMetaKey,exp:exp}}),_metadata$1=interopDefault(_metadata),store=_metadata.store,map=_metadata.map,has=_metadata.has,get$1=_metadata.get,set$3=_metadata.set,keys=_metadata.keys,key=_metadata.key,exp=_metadata.exp,require$$2$10=Object.freeze({"default":_metadata$1,store:store,map:map,has:has,get:get$1,set:set$3,keys:keys,key:key,exp:exp}),es7_reflect_defineMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),toMetaKey=metadata.key,ordinaryDefineOwnMetadata=metadata.set;metadata.exp({defineMetadata:function(metadataKey,metadataValue,target,targetKey){ordinaryDefineOwnMetadata(metadataKey,metadataValue,anObject(target),toMetaKey(targetKey))}})});interopDefault(es7_reflect_defineMetadata);var es7_reflect_deleteMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),toMetaKey=metadata.key,getOrCreateMetadataMap=metadata.map,store=metadata.store;
+metadata.exp({deleteMetadata:function(metadataKey,target){var targetKey=arguments.length<3?void 0:toMetaKey(arguments[2]),metadataMap=getOrCreateMetadataMap(anObject(target),targetKey,!1);if(void 0===metadataMap||!metadataMap["delete"](metadataKey))return!1;if(metadataMap.size)return!0;var targetMetadata=store.get(target);return targetMetadata["delete"](targetKey),!!targetMetadata.size||store["delete"](target)}})});interopDefault(es7_reflect_deleteMetadata);var es7_reflect_getMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),getPrototypeOf=interopDefault(require$$0$13),ordinaryHasOwnMetadata=metadata.has,ordinaryGetOwnMetadata=metadata.get,toMetaKey=metadata.key,ordinaryGetMetadata=function ordinaryGetMetadata(MetadataKey,O,P){var hasOwn=ordinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey,O,P);var parent=getPrototypeOf(O);return null!==parent?ordinaryGetMetadata(MetadataKey,parent,P):void 0};metadata.exp({getMetadata:function(metadataKey,target){return ordinaryGetMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_getMetadata);var es7_reflect_getMetadataKeys=createCommonjsModule(function(module){var Set=interopDefault(require$$4$7),from=interopDefault(require$$3$10),metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),getPrototypeOf=interopDefault(require$$0$13),ordinaryOwnMetadataKeys=metadata.keys,toMetaKey=metadata.key,ordinaryMetadataKeys=function ordinaryMetadataKeys(O,P){var oKeys=ordinaryOwnMetadataKeys(O,P),parent=getPrototypeOf(O);if(null===parent)return oKeys;var pKeys=ordinaryMetadataKeys(parent,P);return pKeys.length?oKeys.length?from(new Set(oKeys.concat(pKeys))):pKeys:oKeys};metadata.exp({getMetadataKeys:function(target){return ordinaryMetadataKeys(anObject(target),arguments.length<2?void 0:toMetaKey(arguments[1]))}})});interopDefault(es7_reflect_getMetadataKeys);var es7_reflect_getOwnMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),ordinaryGetOwnMetadata=metadata.get,toMetaKey=metadata.key;metadata.exp({getOwnMetadata:function(metadataKey,target){return ordinaryGetOwnMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_getOwnMetadata);var es7_reflect_getOwnMetadataKeys=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),ordinaryOwnMetadataKeys=metadata.keys,toMetaKey=metadata.key;metadata.exp({getOwnMetadataKeys:function(target){return ordinaryOwnMetadataKeys(anObject(target),arguments.length<2?void 0:toMetaKey(arguments[1]))}})});interopDefault(es7_reflect_getOwnMetadataKeys);var es7_reflect_hasMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),getPrototypeOf=interopDefault(require$$0$13),ordinaryHasOwnMetadata=metadata.has,toMetaKey=metadata.key,ordinaryHasMetadata=function ordinaryHasMetadata(MetadataKey,O,P){var hasOwn=ordinaryHasOwnMetadata(MetadataKey,O,P);if(hasOwn)return!0;var parent=getPrototypeOf(O);return null!==parent&&ordinaryHasMetadata(MetadataKey,parent,P)};metadata.exp({hasMetadata:function(metadataKey,target){return ordinaryHasMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_hasMetadata);var es7_reflect_hasOwnMetadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),ordinaryHasOwnMetadata=metadata.has,toMetaKey=metadata.key;metadata.exp({hasOwnMetadata:function(metadataKey,target){return ordinaryHasOwnMetadata(metadataKey,anObject(target),arguments.length<3?void 0:toMetaKey(arguments[2]))}})});interopDefault(es7_reflect_hasOwnMetadata);var es7_reflect_metadata=createCommonjsModule(function(module){var metadata=interopDefault(require$$2$10),anObject=interopDefault(require$$5),aFunction=interopDefault(require$$0$2),toMetaKey=metadata.key,ordinaryDefineOwnMetadata=metadata.set;metadata.exp({metadata:function(metadataKey,metadataValue){return function(target,targetKey){ordinaryDefineOwnMetadata(metadataKey,metadataValue,(void 0!==targetKey?anObject:aFunction)(target),toMetaKey(targetKey))}}})});interopDefault(es7_reflect_metadata);var es7_asap=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),microtask=interopDefault(require$$8$1)(),process=interopDefault(require$$3).process,isNode="process"==interopDefault(require$$0$6)(process);$export($export.G,{asap:function(fn){var domain=isNode&&process.domain;microtask(domain?domain.bind(fn):fn)}})});interopDefault(es7_asap);var es7_observable=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),global=interopDefault(require$$3),core=interopDefault(require$$0),microtask=interopDefault(require$$8$1)(),OBSERVABLE=interopDefault(require$$0$4)("observable"),aFunction=interopDefault(require$$0$2),anObject=interopDefault(require$$5),anInstance=interopDefault(require$$4$6),redefineAll=interopDefault(require$$3$7),hide=interopDefault(require$$2),forOf=interopDefault(require$$1$20),RETURN=forOf.RETURN,getMethod=function(fn){return null==fn?void 0:aFunction(fn)},cleanupSubscription=function(subscription){var cleanup=subscription._c;cleanup&&(subscription._c=void 0,cleanup())},subscriptionClosed=function(subscription){return void 0===subscription._o},closeSubscription=function(subscription){subscriptionClosed(subscription)||(subscription._o=void 0,cleanupSubscription(subscription))},Subscription=function(observer,subscriber){anObject(observer),this._c=void 0,this._o=observer,observer=new SubscriptionObserver(this);try{var cleanup=subscriber(observer),subscription=cleanup;null!=cleanup&&("function"==typeof cleanup.unsubscribe?cleanup=function(){subscription.unsubscribe()}:aFunction(cleanup),this._c=cleanup)}catch(e){return void observer.error(e)}subscriptionClosed(this)&&cleanupSubscription(this)};Subscription.prototype=redefineAll({},{unsubscribe:function(){closeSubscription(this)}});var SubscriptionObserver=function(subscription){this._s=subscription};SubscriptionObserver.prototype=redefineAll({},{next:function(value){var subscription=this._s;if(!subscriptionClosed(subscription)){var observer=subscription._o;try{var m=getMethod(observer.next);if(m)return m.call(observer,value)}catch(e){try{closeSubscription(subscription)}finally{throw e}}}},error:function(value){var subscription=this._s;if(subscriptionClosed(subscription))throw value;var observer=subscription._o;subscription._o=void 0;try{var m=getMethod(observer.error);if(!m)throw value;value=m.call(observer,value)}catch(e){try{cleanupSubscription(subscription)}finally{throw e}}return cleanupSubscription(subscription),value},complete:function(value){var subscription=this._s;if(!subscriptionClosed(subscription)){var observer=subscription._o;subscription._o=void 0;try{var m=getMethod(observer.complete);value=m?m.call(observer,value):void 0}catch(e){try{cleanupSubscription(subscription)}finally{throw e}}return cleanupSubscription(subscription),value}}});var $Observable=function(subscriber){anInstance(this,$Observable,"Observable","_f")._f=aFunction(subscriber)};redefineAll($Observable.prototype,{subscribe:function(observer){return new Subscription(observer,this._f)},forEach:function(fn){var that=this;return new(core.Promise||global.Promise)(function(resolve,reject){aFunction(fn);var subscription=that.subscribe({next:function(value){try{return fn(value)}catch(e){reject(e),subscription.unsubscribe()}},error:reject,complete:resolve})})}}),redefineAll($Observable,{from:function(x){var C="function"==typeof this?this:$Observable,method=getMethod(anObject(x)[OBSERVABLE]);if(method){var observable=anObject(method.call(x));return observable.constructor===C?observable:new C(function(observer){return observable.subscribe(observer)})}return new C(function(observer){var done=!1;return microtask(function(){if(!done){try{if(forOf(x,!1,function(it){if(observer.next(it),done)return RETURN})===RETURN)return}catch(e){if(done)throw e;return void observer.error(e)}observer.complete()}}),function(){done=!0}})},of:function(){for(var i=0,l=arguments.length,items=Array(l);i<l;)items[i]=arguments[i++];return new("function"==typeof this?this:$Observable)(function(observer){var done=!1;return microtask(function(){if(!done){for(var i=0;i<items.length;++i)if(observer.next(items[i]),done)return;observer.complete()}}),function(){done=!0}})}}),hide($Observable.prototype,OBSERVABLE,function(){return this}),$export($export.G,{Observable:$Observable}),interopDefault(require$$0$35)("Observable")});interopDefault(es7_observable);var _path=createCommonjsModule(function(module){module.exports=interopDefault(require$$3)}),_path$1=interopDefault(_path),require$$2$11=Object.freeze({"default":_path$1}),_partial=createCommonjsModule(function(module){var path=interopDefault(require$$2$11),invoke=interopDefault(require$$1$13),aFunction=interopDefault(require$$0$2);module.exports=function(){for(var fn=aFunction(this),length=arguments.length,pargs=Array(length),i=0,_=path._,holder=!1;length>i;)(pargs[i]=arguments[i++])===_&&(holder=!0);return function(){var args,that=this,aLen=arguments.length,j=0,k=0;if(!holder&&!aLen)return invoke(fn,pargs,that);if(args=pargs.slice(),holder)for(;length>j;j++)args[j]===_&&(args[j]=arguments[k++]);for(;aLen>k;)args.push(arguments[k++]);return invoke(fn,args,that)}}}),_partial$1=interopDefault(_partial),require$$0$44=Object.freeze({"default":_partial$1}),web_timers=createCommonjsModule(function(module){var global=interopDefault(require$$3),$export=interopDefault(require$$1$2),invoke=interopDefault(require$$1$13),partial=interopDefault(require$$0$44),navigator=global.navigator,MSIE=!!navigator&&/MSIE .\./.test(navigator.userAgent),wrap=function(set){return MSIE?function(fn,time){return set(invoke(partial,[].slice.call(arguments,2),"function"==typeof fn?fn:Function(fn)),time)}:set};$export($export.G+$export.B+$export.F*MSIE,{setTimeout:wrap(global.setTimeout),setInterval:wrap(global.setInterval)})});interopDefault(web_timers);var web_immediate=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$task=interopDefault(require$$0$36);$export($export.G+$export.B,{setImmediate:$task.set,clearImmediate:$task.clear})});interopDefault(web_immediate);var web_dom_iterable=createCommonjsModule(function(module){for(var $iterators=interopDefault(require$$5$3),redefine=interopDefault(require$$4$2),global=interopDefault(require$$3),hide=interopDefault(require$$2),Iterators=interopDefault(require$$1$15),wks=interopDefault(require$$0$4),ITERATOR=wks("iterator"),TO_STRING_TAG=wks("toStringTag"),ArrayValues=Iterators.Array,collections=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var key,NAME=collections[i],Collection=global[NAME],proto=Collection&&Collection.prototype;if(proto){proto[ITERATOR]||hide(proto,ITERATOR,ArrayValues),proto[TO_STRING_TAG]||hide(proto,TO_STRING_TAG,NAME),Iterators[NAME]=ArrayValues;for(key in $iterators)proto[key]||redefine(proto,key,$iterators[key],!0)}}});interopDefault(web_dom_iterable);var shim=createCommonjsModule(function(module){module.exports=interopDefault(require$$0)});interopDefault(shim);var runtime=createCommonjsModule(function(module){!function(global){function wrap(innerFn,outerFn,self,tryLocsList){var generator=Object.create((outerFn||Generator).prototype),context=new Context(tryLocsList||[]);return generator._invoke=makeInvokeMethod(innerFn,self,context),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){prototype[method]=function(arg){return this._invoke(method,arg)}})}function AwaitArgument(arg){this.arg=arg}function AsyncIterator(generator){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value instanceof AwaitArgument?Promise.resolve(value.arg).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):Promise.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},reject)}reject(record.arg)}function enqueue(method,arg){function callInvokeWithMethodAndArg(){return new Promise(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}"object"===("undefined"==typeof process?"undefined":_typeof(process))&&process.domain&&(invoke=process.domain.bind(invoke));var previousPromise;this._invoke=enqueue}function makeInvokeMethod(innerFn,self,context){var state=GenStateSuspendedStart;return function(method,arg){if(state===GenStateExecuting)throw new Error("Generator is already running");if(state===GenStateCompleted){if("throw"===method)throw arg;return doneResult()}for(;;){var delegate=context.delegate;if(delegate){if("return"===method||"throw"===method&&delegate.iterator[method]===undefined){context.delegate=null;var returnMethod=delegate.iterator["return"];if(returnMethod){var record=tryCatch(returnMethod,delegate.iterator,arg);if("throw"===record.type){method="throw",arg=record.arg;continue}}if("return"===method)continue}var record=tryCatch(delegate.iterator[method],delegate.iterator,arg);if("throw"===record.type){context.delegate=null,method="throw",arg=record.arg;continue}method="next",arg=undefined;var info=record.arg;if(!info.done)return state=GenStateSuspendedYield,info;context[delegate.resultName]=info.value,context.next=delegate.nextLoc,context.delegate=null}if("next"===method)context.sent=context._sent=arg;else if("throw"===method){if(state===GenStateSuspendedStart)throw state=GenStateCompleted,arg;context.dispatchException(arg)&&(method="next",arg=undefined)}else"return"===method&&context.abrupt("return",arg);state=GenStateExecuting;var record=tryCatch(innerFn,self,context);if("normal"===record.type){state=context.done?GenStateCompleted:GenStateSuspendedYield;var info={value:record.arg,done:context.done};if(record.arg!==ContinueSentinel)return info;context.delegate&&"next"===method&&(arg=undefined)}else"throw"===record.type&&(state=GenStateCompleted,method="throw",arg=record.arg)}}}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;)if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;return next.value=undefined,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:undefined,done:!0}}var undefined,hasOwn=Object.prototype.hasOwnProperty,$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag",inModule="object"===("undefined"==typeof module?"undefined":_typeof(module)),runtime=global.regeneratorRuntime;if(runtime)return void(inModule&&(module.exports=runtime));runtime=global.regeneratorRuntime=inModule?module.exports:{},runtime.wrap=wrap;var GenStateSuspendedStart="suspendedStart",GenStateSuspendedYield="suspendedYield",GenStateExecuting="executing",GenStateCompleted="completed",ContinueSentinel={},Gp=GeneratorFunctionPrototype.prototype=Generator.prototype;GeneratorFunction.prototype=Gp.constructor=GeneratorFunctionPrototype,GeneratorFunctionPrototype.constructor=GeneratorFunction,GeneratorFunctionPrototype[toStringTagSymbol]=GeneratorFunction.displayName="GeneratorFunction",runtime.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name))},runtime.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,toStringTagSymbol in genFun||(genFun[toStringTagSymbol]="GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun},runtime.awrap=function(arg){return new AwaitArgument(arg)},defineIteratorMethods(AsyncIterator.prototype),runtime.async=function(innerFn,outerFn,self,tryLocsList){var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList));return runtime.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})},defineIteratorMethods(Gp),Gp[iteratorSymbol]=function(){return this},Gp[toStringTagSymbol]="Generator",Gp.toString=function(){return"[object Generator]"},runtime.keys=function(object){var keys=[];for(var key in object)keys.push(key);return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},runtime.values=values,Context.prototype={constructor:Context,reset:function(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this)"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined)},stop:function(){this.done=!0;var rootEntry=this.tryEntries[0],rootRecord=rootEntry.completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function(exception){function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,!!caught}if(this.done)throw exception;for(var context=this,i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}}}},abrupt:function(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?this.next=finallyEntry.finallyLoc:this.complete(record),ContinueSentinel},complete:function(record,afterLoc){if("throw"===record.type)throw record.arg;"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=record.arg,this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc)},finish:function(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel}},"catch":function(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}}throw new Error("illegal catch attempt")},delegateYield:function(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},ContinueSentinel}}}("object"===_typeof(commonjsGlobal)?commonjsGlobal:"object"===("undefined"==typeof window?"undefined":_typeof(window))?window:"object"===("undefined"==typeof self?"undefined":_typeof(self))?self:commonjsGlobal)});interopDefault(runtime);var _replacer=createCommonjsModule(function(module){module.exports=function(regExp,replace){var replacer=replace===Object(replace)?function(part){return replace[part]}:replace;return function(it){return String(it).replace(regExp,replacer)}}}),_replacer$1=interopDefault(_replacer),require$$0$45=Object.freeze({"default":_replacer$1}),core_regexp_escape=createCommonjsModule(function(module){var $export=interopDefault(require$$1$2),$re=interopDefault(require$$0$45)(/[\\^$*+?.()|[\]{}]/g,"\\$&");$export($export.S,"RegExp",{escape:function(it){return $re(it)}})});interopDefault(core_regexp_escape);var _escape=createCommonjsModule(function(module){module.exports=interopDefault(require$$0).RegExp.escape});interopDefault(_escape);var index=createCommonjsModule(function(module){function define(O,key,value){O[key]||Object[DEFINE_PROPERTY](O,key,{writable:!0,configurable:!0,value:value})}if(commonjsGlobal._babelPolyfill)throw new Error("only one instance of babel-polyfill is allowed");commonjsGlobal._babelPolyfill=!0;var DEFINE_PROPERTY="defineProperty";define(String.prototype,"padLeft","".padStart),define(String.prototype,"padRight","".padEnd),"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function(key){[][key]&&define(Array,key,Function.call.bind([][key]))})});if(interopDefault(index),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function($){var version=$.fn.jquery.split(" ")[0].split(".");if(version[0]<2&&version[1]<9||1==version[0]&&9==version[1]&&version[2]<1||version[0]>=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(jQuery),+function($){function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function, not "+("undefined"==typeof superClass?"undefined":_typeof(superClass)));subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:!1,writable:!0,configurable:!0}}),superClass&&(Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _get=function(_x,_x2,_x3){for(var _again=!0;_again;){var object=_x,property=_x2,receiver=_x3;_again=!1,null===object&&(object=Function.prototype);var desc=Object.getOwnPropertyDescriptor(object,property);if(void 0!==desc){if("value"in desc)return desc.value;var getter=desc.get;if(void 0===getter)return;return getter.call(receiver)}var parent=Object.getPrototypeOf(object);if(null===parent)return;_x=parent,_x2=property,_x3=receiver,_again=!0,desc=parent=void 0}},_createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}(),Util=function($){function toType(obj){return{}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function isElement(obj){return(obj[0]||obj).nodeType}function getSpecialTransitionEndEvent(){return{bindType:transition.end,delegateType:transition.end,handle:function(event){if($(event.target).is(this))return event.handleObj.handler.apply(this,arguments)}}}function transitionEndTest(){if(window.QUnit)return!1;var el=document.createElement("bootstrap");for(var _name in TransitionEndEvent)if(void 0!==el.style[_name])return{end:TransitionEndEvent[_name]};return!1}function transitionEndEmulator(duration){var _this=this,called=!1;return $(this).one(Util.TRANSITION_END,function(){called=!0}),setTimeout(function(){called||Util.triggerTransitionEnd(_this)},duration),this}function setTransitionEndSupport(){transition=transitionEndTest(),$.fn.emulateTransitionEnd=transitionEndEmulator,Util.supportsTransitionEnd()&&($.event.special[Util.TRANSITION_END]=getSpecialTransitionEndEvent())}var transition=!1,MAX_UID=1e6,TransitionEndEvent={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},Util={TRANSITION_END:"bsTransitionEnd",getUID:function(prefix){do prefix+=~~(Math.random()*MAX_UID);while(document.getElementById(prefix));return prefix},getSelectorFromElement:function(element){var selector=element.getAttribute("data-target");return selector||(selector=element.getAttribute("href")||"",selector=/^#[a-z]/i.test(selector)?selector:null),selector},reflow:function(element){new Function("bs","return bs")(element.offsetHeight)},triggerTransitionEnd:function(element){$(element).trigger(transition.end)},supportsTransitionEnd:function(){return Boolean(transition)},typeCheckConfig:function(componentName,config,configTypes){for(var property in configTypes)if(configTypes.hasOwnProperty(property)){var expectedTypes=configTypes[property],value=config[property],valueType=void 0;if(valueType=value&&isElement(value)?"element":toType(value),!new RegExp(expectedTypes).test(valueType))throw new Error(componentName.toUpperCase()+": "+('Option "'+property+'" provided type "'+valueType+'" ')+('but expected type "'+expectedTypes+'".'))}}};return setTransitionEndSupport(),Util}(jQuery),Tooltip=(function($){var NAME="alert",VERSION="4.0.0-alpha.3",DATA_KEY="bs.alert",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=150,Selector={DISMISS:'[data-dismiss="alert"]'},Event={CLOSE:"close"+EVENT_KEY,CLOSED:"closed"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={ALERT:"alert",FADE:"fade",IN:"in"},Alert=function(){function Alert(element){_classCallCheck(this,Alert),this._element=element}return _createClass(Alert,[{key:"close",value:function(element){element=element||this._element;var rootElement=this._getRootElement(element),customEvent=this._triggerCloseEvent(rootElement);customEvent.isDefaultPrevented()||this._removeElement(rootElement)}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),this._element=null}},{key:"_getRootElement",value:function(element){var selector=Util.getSelectorFromElement(element),parent=!1;return selector&&(parent=$(selector)[0]),parent||(parent=$(element).closest("."+ClassName.ALERT)[0]),parent}},{key:"_triggerCloseEvent",value:function(element){var closeEvent=$.Event(Event.CLOSE);return $(element).trigger(closeEvent),closeEvent}},{key:"_removeElement",value:function(element){return $(element).removeClass(ClassName.IN),Util.supportsTransitionEnd()&&$(element).hasClass(ClassName.FADE)?void $(element).one(Util.TRANSITION_END,$.proxy(this._destroyElement,this,element)).emulateTransitionEnd(TRANSITION_DURATION):void this._destroyElement(element)}},{key:"_destroyElement",value:function(element){$(element).detach().trigger(Event.CLOSED).remove()}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Alert(this),$element.data(DATA_KEY,data)),"close"===config&&data[config](this)})}},{key:"_handleDismiss",value:function(alertInstance){return function(event){event&&event.preventDefault(),alertInstance.close(this)}}},{key:"VERSION",get:function(){return VERSION}}]),Alert}();return $(document).on(Event.CLICK_DATA_API,Selector.DISMISS,Alert._handleDismiss(new Alert)),$.fn[NAME]=Alert._jQueryInterface,$.fn[NAME].Constructor=Alert,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Alert._jQueryInterface},Alert}(jQuery),function($){var NAME="button",VERSION="4.0.0-alpha.3",DATA_KEY="bs.button",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],ClassName={ACTIVE:"active",BUTTON:"btn",FOCUS:"focus"},Selector={DATA_TOGGLE_CARROT:'[data-toggle^="button"]',DATA_TOGGLE:'[data-toggle="buttons"]',INPUT:"input",ACTIVE:".active",BUTTON:".btn"},Event={CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY,FOCUS_BLUR_DATA_API:"focus"+EVENT_KEY+DATA_API_KEY+" "+("blur"+EVENT_KEY+DATA_API_KEY)},Button=function(){function Button(element){_classCallCheck(this,Button),this._element=element}return _createClass(Button,[{key:"toggle",value:function(){var triggerChangeEvent=!0,rootElement=$(this._element).closest(Selector.DATA_TOGGLE)[0];if(rootElement){var input=$(this._element).find(Selector.INPUT)[0];if(input){if("radio"===input.type)if(input.checked&&$(this._element).hasClass(ClassName.ACTIVE))triggerChangeEvent=!1;else{var activeElement=$(rootElement).find(Selector.ACTIVE)[0];activeElement&&$(activeElement).removeClass(ClassName.ACTIVE)}triggerChangeEvent&&(input.checked=!$(this._element).hasClass(ClassName.ACTIVE),$(this._element).trigger("change")),input.focus()}}else this._element.setAttribute("aria-pressed",!$(this._element).hasClass(ClassName.ACTIVE));triggerChangeEvent&&$(this._element).toggleClass(ClassName.ACTIVE)}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),this._element=null}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY);data||(data=new Button(this),$(this).data(DATA_KEY,data)),"toggle"===config&&data[config]()})}},{key:"VERSION",get:function(){return VERSION}}]),Button}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){event.preventDefault();var button=event.target;$(button).hasClass(ClassName.BUTTON)||(button=$(button).closest(Selector.BUTTON)),Button._jQueryInterface.call($(button),"toggle")}).on(Event.FOCUS_BLUR_DATA_API,Selector.DATA_TOGGLE_CARROT,function(event){var button=$(event.target).closest(Selector.BUTTON)[0];$(button).toggleClass(ClassName.FOCUS,/^focus(in)?$/.test(event.type))}),$.fn[NAME]=Button._jQueryInterface,$.fn[NAME].Constructor=Button,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Button._jQueryInterface},Button}(jQuery),function($){var NAME="carousel",VERSION="4.0.0-alpha.3",DATA_KEY="bs.carousel",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=600,ARROW_LEFT_KEYCODE=37,ARROW_RIGHT_KEYCODE=39,Default={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0},DefaultType={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean"},Direction={NEXT:"next",PREVIOUS:"prev"},Event={SLIDE:"slide"+EVENT_KEY,SLID:"slid"+EVENT_KEY,KEYDOWN:"keydown"+EVENT_KEY,MOUSEENTER:"mouseenter"+EVENT_KEY,MOUSELEAVE:"mouseleave"+EVENT_KEY,LOAD_DATA_API:"load"+EVENT_KEY+DATA_API_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={CAROUSEL:"carousel",ACTIVE:"active",SLIDE:"slide",RIGHT:"right",LEFT:"left",ITEM:"carousel-item"},Selector={ACTIVE:".active",ACTIVE_ITEM:".active.carousel-item",ITEM:".carousel-item",NEXT_PREV:".next, .prev",INDICATORS:".carousel-indicators",
+DATA_SLIDE:"[data-slide], [data-slide-to]",DATA_RIDE:'[data-ride="carousel"]'},Carousel=function(){function Carousel(element,config){_classCallCheck(this,Carousel),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this._config=this._getConfig(config),this._element=$(element)[0],this._indicatorsElement=$(this._element).find(Selector.INDICATORS)[0],this._addEventListeners()}return _createClass(Carousel,[{key:"next",value:function(){this._isSliding||this._slide(Direction.NEXT)}},{key:"nextWhenVisible",value:function(){document.hidden||this.next()}},{key:"prev",value:function(){this._isSliding||this._slide(Direction.PREVIOUS)}},{key:"pause",value:function(event){event||(this._isPaused=!0),$(this._element).find(Selector.NEXT_PREV)[0]&&Util.supportsTransitionEnd()&&(Util.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}},{key:"cycle",value:function(event){event||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval($.proxy(document.visibilityState?this.nextWhenVisible:this.next,this),this._config.interval))}},{key:"to",value:function(index){var _this2=this;this._activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0];var activeIndex=this._getItemIndex(this._activeElement);if(!(index>this._items.length-1||index<0)){if(this._isSliding)return void $(this._element).one(Event.SLID,function(){return _this2.to(index)});if(activeIndex===index)return this.pause(),void this.cycle();var direction=index>activeIndex?Direction.NEXT:Direction.PREVIOUS;this._slide(direction,this._items[index])}}},{key:"dispose",value:function(){$(this._element).off(EVENT_KEY),$.removeData(this._element,DATA_KEY),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null}},{key:"_getConfig",value:function(config){return config=$.extend({},Default,config),Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_addEventListeners",value:function(){this._config.keyboard&&$(this._element).on(Event.KEYDOWN,$.proxy(this._keydown,this)),"hover"!==this._config.pause||"ontouchstart"in document.documentElement||$(this._element).on(Event.MOUSEENTER,$.proxy(this.pause,this)).on(Event.MOUSELEAVE,$.proxy(this.cycle,this))}},{key:"_keydown",value:function(event){if(event.preventDefault(),!/input|textarea/i.test(event.target.tagName))switch(event.which){case ARROW_LEFT_KEYCODE:this.prev();break;case ARROW_RIGHT_KEYCODE:this.next();break;default:return}}},{key:"_getItemIndex",value:function(element){return this._items=$.makeArray($(element).parent().find(Selector.ITEM)),this._items.indexOf(element)}},{key:"_getItemByDirection",value:function(direction,activeElement){var isNextDirection=direction===Direction.NEXT,isPrevDirection=direction===Direction.PREVIOUS,activeIndex=this._getItemIndex(activeElement),lastItemIndex=this._items.length-1,isGoingToWrap=isPrevDirection&&0===activeIndex||isNextDirection&&activeIndex===lastItemIndex;if(isGoingToWrap&&!this._config.wrap)return activeElement;var delta=direction===Direction.PREVIOUS?-1:1,itemIndex=(activeIndex+delta)%this._items.length;return itemIndex===-1?this._items[this._items.length-1]:this._items[itemIndex]}},{key:"_triggerSlideEvent",value:function(relatedTarget,directionalClassname){var slideEvent=$.Event(Event.SLIDE,{relatedTarget:relatedTarget,direction:directionalClassname});return $(this._element).trigger(slideEvent),slideEvent}},{key:"_setActiveIndicatorElement",value:function(element){if(this._indicatorsElement){$(this._indicatorsElement).find(Selector.ACTIVE).removeClass(ClassName.ACTIVE);var nextIndicator=this._indicatorsElement.children[this._getItemIndex(element)];nextIndicator&&$(nextIndicator).addClass(ClassName.ACTIVE)}}},{key:"_slide",value:function(direction,element){var _this3=this,activeElement=$(this._element).find(Selector.ACTIVE_ITEM)[0],nextElement=element||activeElement&&this._getItemByDirection(direction,activeElement),isCycling=Boolean(this._interval),directionalClassName=direction===Direction.NEXT?ClassName.LEFT:ClassName.RIGHT;if(nextElement&&$(nextElement).hasClass(ClassName.ACTIVE))return void(this._isSliding=!1);var slideEvent=this._triggerSlideEvent(nextElement,directionalClassName);if(!slideEvent.isDefaultPrevented()&&activeElement&&nextElement){this._isSliding=!0,isCycling&&this.pause(),this._setActiveIndicatorElement(nextElement);var slidEvent=$.Event(Event.SLID,{relatedTarget:nextElement,direction:directionalClassName});Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.SLIDE)?($(nextElement).addClass(direction),Util.reflow(nextElement),$(activeElement).addClass(directionalClassName),$(nextElement).addClass(directionalClassName),$(activeElement).one(Util.TRANSITION_END,function(){$(nextElement).removeClass(directionalClassName).removeClass(direction),$(nextElement).addClass(ClassName.ACTIVE),$(activeElement).removeClass(ClassName.ACTIVE).removeClass(direction).removeClass(directionalClassName),_this3._isSliding=!1,setTimeout(function(){return $(_this3._element).trigger(slidEvent)},0)}).emulateTransitionEnd(TRANSITION_DURATION)):($(activeElement).removeClass(ClassName.ACTIVE),$(nextElement).addClass(ClassName.ACTIVE),this._isSliding=!1,$(this._element).trigger(slidEvent)),isCycling&&this.cycle()}}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config=$.extend({},Default,$(this).data());"object"===("undefined"==typeof config?"undefined":_typeof(config))&&$.extend(_config,config);var action="string"==typeof config?config:_config.slide;if(data||(data=new Carousel(this,_config),$(this).data(DATA_KEY,data)),"number"==typeof config)data.to(config);else if("string"==typeof action){if(void 0===data[action])throw new Error('No method named "'+action+'"');data[action]()}else _config.interval&&(data.pause(),data.cycle())})}},{key:"_dataApiClickHandler",value:function(event){var selector=Util.getSelectorFromElement(this);if(selector){var target=$(selector)[0];if(target&&$(target).hasClass(ClassName.CAROUSEL)){var config=$.extend({},$(target).data(),$(this).data()),slideIndex=this.getAttribute("data-slide-to");slideIndex&&(config.interval=!1),Carousel._jQueryInterface.call($(target),config),slideIndex&&$(target).data(DATA_KEY).to(slideIndex),event.preventDefault()}}}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}}]),Carousel}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_SLIDE,Carousel._dataApiClickHandler),$(window).on(Event.LOAD_DATA_API,function(){$(Selector.DATA_RIDE).each(function(){var $carousel=$(this);Carousel._jQueryInterface.call($carousel,$carousel.data())})}),$.fn[NAME]=Carousel._jQueryInterface,$.fn[NAME].Constructor=Carousel,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Carousel._jQueryInterface},Carousel}(jQuery),function($){var NAME="collapse",VERSION="4.0.0-alpha.3",DATA_KEY="bs.collapse",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=600,Default={toggle:!0,parent:""},DefaultType={toggle:"boolean",parent:"string"},Event={SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={IN:"in",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed"},Dimension={WIDTH:"width",HEIGHT:"height"},Selector={ACTIVES:".panel > .in, .panel > .collapsing",DATA_TOGGLE:'[data-toggle="collapse"]'},Collapse=function(){function Collapse(element,config){_classCallCheck(this,Collapse),this._isTransitioning=!1,this._element=element,this._config=this._getConfig(config),this._triggerArray=$.makeArray($('[data-toggle="collapse"][href="#'+element.id+'"],'+('[data-toggle="collapse"][data-target="#'+element.id+'"]'))),this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}return _createClass(Collapse,[{key:"toggle",value:function(){$(this._element).hasClass(ClassName.IN)?this.hide():this.show()}},{key:"show",value:function(){var _this4=this;if(!this._isTransitioning&&!$(this._element).hasClass(ClassName.IN)){var actives=void 0,activesData=void 0;if(this._parent&&(actives=$.makeArray($(Selector.ACTIVES)),actives.length||(actives=null)),!(actives&&(activesData=$(actives).data(DATA_KEY),activesData&&activesData._isTransitioning))){var startEvent=$.Event(Event.SHOW);if($(this._element).trigger(startEvent),!startEvent.isDefaultPrevented()){actives&&(Collapse._jQueryInterface.call($(actives),"hide"),activesData||$(actives).data(DATA_KEY,null));var dimension=this._getDimension();$(this._element).removeClass(ClassName.COLLAPSE).addClass(ClassName.COLLAPSING),this._element.style[dimension]=0,this._element.setAttribute("aria-expanded",!0),this._triggerArray.length&&$(this._triggerArray).removeClass(ClassName.COLLAPSED).attr("aria-expanded",!0),this.setTransitioning(!0);var complete=function(){$(_this4._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).addClass(ClassName.IN),_this4._element.style[dimension]="",_this4.setTransitioning(!1),$(_this4._element).trigger(Event.SHOWN)};if(!Util.supportsTransitionEnd())return void complete();var capitalizedDimension=dimension[0].toUpperCase()+dimension.slice(1),scrollSize="scroll"+capitalizedDimension;$(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION),this._element.style[dimension]=this._element[scrollSize]+"px"}}}}},{key:"hide",value:function(){var _this5=this;if(!this._isTransitioning&&$(this._element).hasClass(ClassName.IN)){var startEvent=$.Event(Event.HIDE);if($(this._element).trigger(startEvent),!startEvent.isDefaultPrevented()){var dimension=this._getDimension(),offsetDimension=dimension===Dimension.WIDTH?"offsetWidth":"offsetHeight";this._element.style[dimension]=this._element[offsetDimension]+"px",Util.reflow(this._element),$(this._element).addClass(ClassName.COLLAPSING).removeClass(ClassName.COLLAPSE).removeClass(ClassName.IN),this._element.setAttribute("aria-expanded",!1),this._triggerArray.length&&$(this._triggerArray).addClass(ClassName.COLLAPSED).attr("aria-expanded",!1),this.setTransitioning(!0);var complete=function(){_this5.setTransitioning(!1),$(_this5._element).removeClass(ClassName.COLLAPSING).addClass(ClassName.COLLAPSE).trigger(Event.HIDDEN)};return this._element.style[dimension]=0,Util.supportsTransitionEnd()?void $(this._element).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION):void complete()}}}},{key:"setTransitioning",value:function(isTransitioning){this._isTransitioning=isTransitioning}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null}},{key:"_getConfig",value:function(config){return config=$.extend({},Default,config),config.toggle=Boolean(config.toggle),Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_getDimension",value:function(){var hasWidth=$(this._element).hasClass(Dimension.WIDTH);return hasWidth?Dimension.WIDTH:Dimension.HEIGHT}},{key:"_getParent",value:function(){var _this6=this,parent=$(this._config.parent)[0],selector='[data-toggle="collapse"][data-parent="'+this._config.parent+'"]';return $(parent).find(selector).each(function(i,element){_this6._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element),[element])}),parent}},{key:"_addAriaAndCollapsedClass",value:function(element,triggerArray){if(element){var isOpen=$(element).hasClass(ClassName.IN);element.setAttribute("aria-expanded",isOpen),triggerArray.length&&$(triggerArray).toggleClass(ClassName.COLLAPSED,!isOpen).attr("aria-expanded",isOpen)}}}],[{key:"_getTargetFromElement",value:function(element){var selector=Util.getSelectorFromElement(element);return selector?$(selector)[0]:null}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $this=$(this),data=$this.data(DATA_KEY),_config=$.extend({},Default,$this.data(),"object"===("undefined"==typeof config?"undefined":_typeof(config))&&config);if(!data&&_config.toggle&&/show|hide/.test(config)&&(_config.toggle=!1),data||(data=new Collapse(this,_config),$this.data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}}]),Collapse}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault();var target=Collapse._getTargetFromElement(this),data=$(target).data(DATA_KEY),config=data?"toggle":$(this).data();Collapse._jQueryInterface.call($(target),config)}),$.fn[NAME]=Collapse._jQueryInterface,$.fn[NAME].Constructor=Collapse,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Collapse._jQueryInterface},Collapse}(jQuery),function($){var NAME="dropdown",VERSION="4.0.0-alpha.3",DATA_KEY="bs.dropdown",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],ESCAPE_KEYCODE=27,ARROW_UP_KEYCODE=38,ARROW_DOWN_KEYCODE=40,RIGHT_MOUSE_BUTTON_WHICH=3,Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,CLICK:"click"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY,KEYDOWN_DATA_API:"keydown"+EVENT_KEY+DATA_API_KEY},ClassName={BACKDROP:"dropdown-backdrop",DISABLED:"disabled",OPEN:"open"},Selector={BACKDROP:".dropdown-backdrop",DATA_TOGGLE:'[data-toggle="dropdown"]',FORM_CHILD:".dropdown form",ROLE_MENU:'[role="menu"]',ROLE_LISTBOX:'[role="listbox"]',NAVBAR_NAV:".navbar-nav",VISIBLE_ITEMS:'[role="menu"] li:not(.disabled) a, [role="listbox"] li:not(.disabled) a'},Dropdown=function(){function Dropdown(element){_classCallCheck(this,Dropdown),this._element=element,this._addEventListeners()}return _createClass(Dropdown,[{key:"toggle",value:function(){if(this.disabled||$(this).hasClass(ClassName.DISABLED))return!1;var parent=Dropdown._getParentFromElement(this),isActive=$(parent).hasClass(ClassName.OPEN);if(Dropdown._clearMenus(),isActive)return!1;if("ontouchstart"in document.documentElement&&!$(parent).closest(Selector.NAVBAR_NAV).length){var dropdown=document.createElement("div");dropdown.className=ClassName.BACKDROP,$(dropdown).insertBefore(this),$(dropdown).on("click",Dropdown._clearMenus)}var relatedTarget={relatedTarget:this},showEvent=$.Event(Event.SHOW,relatedTarget);return $(parent).trigger(showEvent),!showEvent.isDefaultPrevented()&&(this.focus(),this.setAttribute("aria-expanded","true"),$(parent).toggleClass(ClassName.OPEN),$(parent).trigger($.Event(Event.SHOWN,relatedTarget)),!1)}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),$(this._element).off(EVENT_KEY),this._element=null}},{key:"_addEventListeners",value:function(){$(this._element).on(Event.CLICK,this.toggle)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY);if(data||$(this).data(DATA_KEY,data=new Dropdown(this)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config].call(this)}})}},{key:"_clearMenus",value:function(event){if(!event||event.which!==RIGHT_MOUSE_BUTTON_WHICH){var backdrop=$(Selector.BACKDROP)[0];backdrop&&backdrop.parentNode.removeChild(backdrop);for(var toggles=$.makeArray($(Selector.DATA_TOGGLE)),i=0;i<toggles.length;i++){var _parent=Dropdown._getParentFromElement(toggles[i]),relatedTarget={relatedTarget:toggles[i]};if($(_parent).hasClass(ClassName.OPEN)&&!(event&&"click"===event.type&&/input|textarea/i.test(event.target.tagName)&&$.contains(_parent,event.target))){var hideEvent=$.Event(Event.HIDE,relatedTarget);$(_parent).trigger(hideEvent),hideEvent.isDefaultPrevented()||(toggles[i].setAttribute("aria-expanded","false"),$(_parent).removeClass(ClassName.OPEN).trigger($.Event(Event.HIDDEN,relatedTarget)))}}}}},{key:"_getParentFromElement",value:function(element){var parent=void 0,selector=Util.getSelectorFromElement(element);return selector&&(parent=$(selector)[0]),parent||element.parentNode}},{key:"_dataApiKeydownHandler",value:function(event){if(/(38|40|27|32)/.test(event.which)&&!/input|textarea/i.test(event.target.tagName)&&(event.preventDefault(),event.stopPropagation(),!this.disabled&&!$(this).hasClass(ClassName.DISABLED))){var parent=Dropdown._getParentFromElement(this),isActive=$(parent).hasClass(ClassName.OPEN);if(!isActive&&event.which!==ESCAPE_KEYCODE||isActive&&event.which===ESCAPE_KEYCODE){if(event.which===ESCAPE_KEYCODE){var toggle=$(parent).find(Selector.DATA_TOGGLE)[0];$(toggle).trigger("focus")}return void $(this).trigger("click")}var items=$.makeArray($(Selector.VISIBLE_ITEMS));if(items=items.filter(function(item){return item.offsetWidth||item.offsetHeight}),items.length){var index=items.indexOf(event.target);event.which===ARROW_UP_KEYCODE&&index>0&&index--,event.which===ARROW_DOWN_KEYCODE&&index<items.length-1&&index++,index<0&&(index=0),items[index].focus()}}}},{key:"VERSION",get:function(){return VERSION}}]),Dropdown}();return $(document).on(Event.KEYDOWN_DATA_API,Selector.DATA_TOGGLE,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_MENU,Dropdown._dataApiKeydownHandler).on(Event.KEYDOWN_DATA_API,Selector.ROLE_LISTBOX,Dropdown._dataApiKeydownHandler).on(Event.CLICK_DATA_API,Dropdown._clearMenus).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,Dropdown.prototype.toggle).on(Event.CLICK_DATA_API,Selector.FORM_CHILD,function(e){e.stopPropagation()}),$.fn[NAME]=Dropdown._jQueryInterface,$.fn[NAME].Constructor=Dropdown,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Dropdown._jQueryInterface},Dropdown}(jQuery),function($){var NAME="modal",VERSION="4.0.0-alpha.3",DATA_KEY="bs.modal",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=300,BACKDROP_TRANSITION_DURATION=150,ESCAPE_KEYCODE=27,Default={backdrop:!0,keyboard:!0,focus:!0,show:!0},DefaultType={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,FOCUSIN:"focusin"+EVENT_KEY,RESIZE:"resize"+EVENT_KEY,CLICK_DISMISS:"click.dismiss"+EVENT_KEY,KEYDOWN_DISMISS:"keydown.dismiss"+EVENT_KEY,MOUSEUP_DISMISS:"mouseup.dismiss"+EVENT_KEY,MOUSEDOWN_DISMISS:"mousedown.dismiss"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",IN:"in"},Selector={DIALOG:".modal-dialog",DATA_TOGGLE:'[data-toggle="modal"]',DATA_DISMISS:'[data-dismiss="modal"]',FIXED_CONTENT:".navbar-fixed-top, .navbar-fixed-bottom, .is-fixed"},Modal=function(){function Modal(element,config){_classCallCheck(this,Modal),this._config=this._getConfig(config),this._element=element,this._dialog=$(element).find(Selector.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}return _createClass(Modal,[{key:"toggle",value:function(relatedTarget){return this._isShown?this.hide():this.show(relatedTarget)}},{key:"show",value:function(relatedTarget){var _this7=this,showEvent=$.Event(Event.SHOW,{relatedTarget:relatedTarget});$(this._element).trigger(showEvent),this._isShown||showEvent.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),$(document.body).addClass(ClassName.OPEN),this._setEscapeEvent(),this._setResizeEvent(),$(this._element).on(Event.CLICK_DISMISS,Selector.DATA_DISMISS,$.proxy(this.hide,this)),$(this._dialog).on(Event.MOUSEDOWN_DISMISS,function(){$(_this7._element).one(Event.MOUSEUP_DISMISS,function(event){$(event.target).is(_this7._element)&&(_this7._ignoreBackdropClick=!0)})}),this._showBackdrop($.proxy(this._showElement,this,relatedTarget)))}},{key:"hide",value:function(event){event&&event.preventDefault();var hideEvent=$.Event(Event.HIDE);$(this._element).trigger(hideEvent),this._isShown&&!hideEvent.isDefaultPrevented()&&(this._isShown=!1,this._setEscapeEvent(),this._setResizeEvent(),$(document).off(Event.FOCUSIN),$(this._element).removeClass(ClassName.IN),$(this._element).off(Event.CLICK_DISMISS),$(this._dialog).off(Event.MOUSEDOWN_DISMISS),Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)?$(this._element).one(Util.TRANSITION_END,$.proxy(this._hideModal,this)).emulateTransitionEnd(TRANSITION_DURATION):this._hideModal())}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),$(window).off(EVENT_KEY),$(document).off(EVENT_KEY),$(this._element).off(EVENT_KEY),$(this._backdrop).off(EVENT_KEY),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._originalBodyPadding=null,this._scrollbarWidth=null}},{key:"_getConfig",value:function(config){return config=$.extend({},Default,config),Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_showElement",value:function(relatedTarget){var _this8=this,transition=Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.scrollTop=0,transition&&Util.reflow(this._element),$(this._element).addClass(ClassName.IN),this._config.focus&&this._enforceFocus();var shownEvent=$.Event(Event.SHOWN,{relatedTarget:relatedTarget}),transitionComplete=function(){_this8._config.focus&&_this8._element.focus(),$(_this8._element).trigger(shownEvent)};transition?$(this._dialog).one(Util.TRANSITION_END,transitionComplete).emulateTransitionEnd(TRANSITION_DURATION):transitionComplete()}},{key:"_enforceFocus",value:function(){var _this9=this;$(document).off(Event.FOCUSIN).on(Event.FOCUSIN,function(event){document===event.target||_this9._element===event.target||$(_this9._element).has(event.target).length||_this9._element.focus()})}},{key:"_setEscapeEvent",value:function(){var _this10=this;this._isShown&&this._config.keyboard?$(this._element).on(Event.KEYDOWN_DISMISS,function(event){event.which===ESCAPE_KEYCODE&&_this10.hide()}):this._isShown||$(this._element).off(Event.KEYDOWN_DISMISS)}},{key:"_setResizeEvent",value:function(){this._isShown?$(window).on(Event.RESIZE,$.proxy(this._handleUpdate,this)):$(window).off(Event.RESIZE)}},{key:"_hideModal",value:function(){var _this11=this;this._element.style.display="none",this._element.setAttribute("aria-hidden","true"),this._showBackdrop(function(){$(document.body).removeClass(ClassName.OPEN),_this11._resetAdjustments(),_this11._resetScrollbar(),$(_this11._element).trigger(Event.HIDDEN)})}},{key:"_removeBackdrop",value:function(){this._backdrop&&($(this._backdrop).remove(),this._backdrop=null)}},{key:"_showBackdrop",value:function(callback){var _this12=this,animate=$(this._element).hasClass(ClassName.FADE)?ClassName.FADE:"";if(this._isShown&&this._config.backdrop){var doAnimate=Util.supportsTransitionEnd()&&animate;if(this._backdrop=document.createElement("div"),this._backdrop.className=ClassName.BACKDROP,animate&&$(this._backdrop).addClass(animate),$(this._backdrop).appendTo(document.body),$(this._element).on(Event.CLICK_DISMISS,function(event){return _this12._ignoreBackdropClick?void(_this12._ignoreBackdropClick=!1):void(event.target===event.currentTarget&&("static"===_this12._config.backdrop?_this12._element.focus():_this12.hide()))}),doAnimate&&Util.reflow(this._backdrop),$(this._backdrop).addClass(ClassName.IN),!callback)return;if(!doAnimate)return void callback();$(this._backdrop).one(Util.TRANSITION_END,callback).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION)}else if(!this._isShown&&this._backdrop){$(this._backdrop).removeClass(ClassName.IN);var callbackRemove=function(){_this12._removeBackdrop(),callback&&callback()};Util.supportsTransitionEnd()&&$(this._element).hasClass(ClassName.FADE)?$(this._backdrop).one(Util.TRANSITION_END,callbackRemove).emulateTransitionEnd(BACKDROP_TRANSITION_DURATION):callbackRemove()}else callback&&callback()}},{key:"_handleUpdate",value:function(){this._adjustDialog()}},{key:"_adjustDialog",value:function(){var isModalOverflowing=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&isModalOverflowing&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!isModalOverflowing&&(this._element.style.paddingRight=this._scrollbarWidth+"px")}},{key:"_resetAdjustments",value:function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}},{key:"_checkScrollbar",value:function(){this._isBodyOverflowing=document.body.clientWidth<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()}},{key:"_setScrollbar",value:function(){var bodyPadding=parseInt($(Selector.FIXED_CONTENT).css("padding-right")||0,10);this._originalBodyPadding=document.body.style.paddingRight||"",this._isBodyOverflowing&&(document.body.style.paddingRight=bodyPadding+this._scrollbarWidth+"px")}},{key:"_resetScrollbar",value:function(){document.body.style.paddingRight=this._originalBodyPadding}},{key:"_getScrollbarWidth",value:function(){var scrollDiv=document.createElement("div");scrollDiv.className=ClassName.SCROLLBAR_MEASURER,document.body.appendChild(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;return document.body.removeChild(scrollDiv),scrollbarWidth}}],[{key:"_jQueryInterface",value:function(config,relatedTarget){return this.each(function(){var data=$(this).data(DATA_KEY),_config=$.extend({},Modal.Default,$(this).data(),"object"===("undefined"==typeof config?"undefined":_typeof(config))&&config);if(data||(data=new Modal(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config](relatedTarget)}else _config.show&&data.show(relatedTarget)})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}}]),Modal}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){var _this13=this,target=void 0,selector=Util.getSelectorFromElement(this);selector&&(target=$(selector)[0]);var config=$(target).data(DATA_KEY)?"toggle":$.extend({},$(target).data(),$(this).data());"A"===this.tagName&&event.preventDefault();var $target=$(target).one(Event.SHOW,function(showEvent){showEvent.isDefaultPrevented()||$target.one(Event.HIDDEN,function(){$(_this13).is(":visible")&&_this13.focus()})});Modal._jQueryInterface.call($(target),config,this)}),$.fn[NAME]=Modal._jQueryInterface,$.fn[NAME].Constructor=Modal,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Modal._jQueryInterface},Modal}(jQuery),function($){var NAME="scrollspy",VERSION="4.0.0-alpha.3",DATA_KEY="bs.scrollspy",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],Default={offset:10,method:"auto",target:""},DefaultType={offset:"number",method:"string",target:"(string|element)"},Event={ACTIVATE:"activate"+EVENT_KEY,SCROLL:"scroll"+EVENT_KEY,LOAD_DATA_API:"load"+EVENT_KEY+DATA_API_KEY},ClassName={DROPDOWN_ITEM:"dropdown-item",DROPDOWN_MENU:"dropdown-menu",NAV_LINK:"nav-link",NAV:"nav",ACTIVE:"active"},Selector={DATA_SPY:'[data-spy="scroll"]',ACTIVE:".active",LIST_ITEM:".list-item",LI:"li",LI_DROPDOWN:"li.dropdown",NAV_LINKS:".nav-link",DROPDOWN:".dropdown",DROPDOWN_ITEMS:".dropdown-item",DROPDOWN_TOGGLE:".dropdown-toggle"},OffsetMethod={OFFSET:"offset",POSITION:"position"},ScrollSpy=function(){function ScrollSpy(element,config){_classCallCheck(this,ScrollSpy),this._element=element,this._scrollElement="BODY"===element.tagName?window:element,this._config=this._getConfig(config),this._selector=this._config.target+" "+Selector.NAV_LINKS+","+(this._config.target+" "+Selector.DROPDOWN_ITEMS),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,$(this._scrollElement).on(Event.SCROLL,$.proxy(this._process,this)),this.refresh(),this._process()}return _createClass(ScrollSpy,[{key:"refresh",value:function(){var _this14=this,autoMethod=this._scrollElement!==this._scrollElement.window?OffsetMethod.POSITION:OffsetMethod.OFFSET,offsetMethod="auto"===this._config.method?autoMethod:this._config.method,offsetBase=offsetMethod===OffsetMethod.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var targets=$.makeArray($(this._selector));targets.map(function(element){var target=void 0,targetSelector=Util.getSelectorFromElement(element);return targetSelector&&(target=$(targetSelector)[0]),target&&(target.offsetWidth||target.offsetHeight)?[$(target)[offsetMethod]().top+offsetBase,targetSelector]:null}).filter(function(item){return item}).sort(function(a,b){return a[0]-b[0]}).forEach(function(item){_this14._offsets.push(item[0]),_this14._targets.push(item[1])})}},{key:"dispose",value:function(){$.removeData(this._element,DATA_KEY),$(this._scrollElement).off(EVENT_KEY),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null}},{key:"_getConfig",value:function(config){if(config=$.extend({},Default,config),"string"!=typeof config.target){var id=$(config.target).attr("id");id||(id=Util.getUID(NAME),$(config.target).attr("id",id)),config.target="#"+id}return Util.typeCheckConfig(NAME,config,DefaultType),config}},{key:"_getScrollTop",value:function(){return this._scrollElement===window?this._scrollElement.scrollY:this._scrollElement.scrollTop}},{key:"_getScrollHeight",value:function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}},{key:"_process",value:function(){var scrollTop=this._getScrollTop()+this._config.offset,scrollHeight=this._getScrollHeight(),maxScroll=this._config.offset+scrollHeight-this._scrollElement.offsetHeight;if(this._scrollHeight!==scrollHeight&&this.refresh(),scrollTop>=maxScroll){var target=this._targets[this._targets.length-1];this._activeTarget!==target&&this._activate(target)}if(this._activeTarget&&scrollTop<this._offsets[0])return this._activeTarget=null,void this._clear();for(var i=this._offsets.length;i--;){var isActiveTarget=this._activeTarget!==this._targets[i]&&scrollTop>=this._offsets[i]&&(void 0===this._offsets[i+1]||scrollTop<this._offsets[i+1]);isActiveTarget&&this._activate(this._targets[i])}}},{key:"_activate",value:function(target){this._activeTarget=target,this._clear();var queries=this._selector.split(",");queries=queries.map(function(selector){return selector+'[data-target="'+target+'"],'+(selector+'[href="'+target+'"]')});var $link=$(queries.join(","));$link.hasClass(ClassName.DROPDOWN_ITEM)?($link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE),$link.addClass(ClassName.ACTIVE)):$link.parents(Selector.LI).find(Selector.NAV_LINKS).addClass(ClassName.ACTIVE),$(this._scrollElement).trigger(Event.ACTIVATE,{relatedTarget:target})}},{key:"_clear",value:function(){$(this._selector).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config="object"===("undefined"==typeof config?"undefined":_typeof(config))&&config||null;if(data||(data=new ScrollSpy(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){
+return VERSION}},{key:"Default",get:function(){return Default}}]),ScrollSpy}();return $(window).on(Event.LOAD_DATA_API,function(){for(var scrollSpys=$.makeArray($(Selector.DATA_SPY)),i=scrollSpys.length;i--;){var $spy=$(scrollSpys[i]);ScrollSpy._jQueryInterface.call($spy,$spy.data())}}),$.fn[NAME]=ScrollSpy._jQueryInterface,$.fn[NAME].Constructor=ScrollSpy,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,ScrollSpy._jQueryInterface},ScrollSpy}(jQuery),function($){var NAME="tab",VERSION="4.0.0-alpha.3",DATA_KEY="bs.tab",EVENT_KEY="."+DATA_KEY,DATA_API_KEY=".data-api",JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=150,Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,CLICK_DATA_API:"click"+EVENT_KEY+DATA_API_KEY},ClassName={DROPDOWN_MENU:"dropdown-menu",ACTIVE:"active",FADE:"fade",IN:"in"},Selector={A:"a",LI:"li",DROPDOWN:".dropdown",UL:"ul:not(.dropdown-menu)",FADE_CHILD:"> .nav-item .fade, > .fade",ACTIVE:".active",ACTIVE_CHILD:"> .nav-item > .active, > .active",DATA_TOGGLE:'[data-toggle="tab"], [data-toggle="pill"]',DROPDOWN_TOGGLE:".dropdown-toggle",DROPDOWN_ACTIVE_CHILD:"> .dropdown-menu .active"},Tab=function(){function Tab(element){_classCallCheck(this,Tab),this._element=element}return _createClass(Tab,[{key:"show",value:function(){var _this15=this;if(!this._element.parentNode||this._element.parentNode.nodeType!==Node.ELEMENT_NODE||!$(this._element).hasClass(ClassName.ACTIVE)){var target=void 0,previous=void 0,ulElement=$(this._element).closest(Selector.UL)[0],selector=Util.getSelectorFromElement(this._element);ulElement&&(previous=$.makeArray($(ulElement).find(Selector.ACTIVE)),previous=previous[previous.length-1]);var hideEvent=$.Event(Event.HIDE,{relatedTarget:this._element}),showEvent=$.Event(Event.SHOW,{relatedTarget:previous});if(previous&&$(previous).trigger(hideEvent),$(this._element).trigger(showEvent),!showEvent.isDefaultPrevented()&&!hideEvent.isDefaultPrevented()){selector&&(target=$(selector)[0]),this._activate(this._element,ulElement);var complete=function(){var hiddenEvent=$.Event(Event.HIDDEN,{relatedTarget:_this15._element}),shownEvent=$.Event(Event.SHOWN,{relatedTarget:previous});$(previous).trigger(hiddenEvent),$(_this15._element).trigger(shownEvent)};target?this._activate(target,target.parentNode,complete):complete()}}}},{key:"dispose",value:function(){$.removeClass(this._element,DATA_KEY),this._element=null}},{key:"_activate",value:function(element,container,callback){var active=$(container).find(Selector.ACTIVE_CHILD)[0],isTransitioning=callback&&Util.supportsTransitionEnd()&&(active&&$(active).hasClass(ClassName.FADE)||Boolean($(container).find(Selector.FADE_CHILD)[0])),complete=$.proxy(this._transitionComplete,this,element,active,isTransitioning,callback);active&&isTransitioning?$(active).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION):complete(),active&&$(active).removeClass(ClassName.IN)}},{key:"_transitionComplete",value:function(element,active,isTransitioning,callback){if(active){$(active).removeClass(ClassName.ACTIVE);var dropdownChild=$(active).find(Selector.DROPDOWN_ACTIVE_CHILD)[0];dropdownChild&&$(dropdownChild).removeClass(ClassName.ACTIVE),active.setAttribute("aria-expanded",!1)}if($(element).addClass(ClassName.ACTIVE),element.setAttribute("aria-expanded",!0),isTransitioning?(Util.reflow(element),$(element).addClass(ClassName.IN)):$(element).removeClass(ClassName.FADE),element.parentNode&&$(element.parentNode).hasClass(ClassName.DROPDOWN_MENU)){var dropdownElement=$(element).closest(Selector.DROPDOWN)[0];dropdownElement&&$(dropdownElement).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE),element.setAttribute("aria-expanded",!0)}callback&&callback()}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $this=$(this),data=$this.data(DATA_KEY);if(data||(data=data=new Tab(this),$this.data(DATA_KEY,data)),"string"==typeof config){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}}]),Tab}();return $(document).on(Event.CLICK_DATA_API,Selector.DATA_TOGGLE,function(event){event.preventDefault(),Tab._jQueryInterface.call($(this),"show")}),$.fn[NAME]=Tab._jQueryInterface,$.fn[NAME].Constructor=Tab,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Tab._jQueryInterface},Tab}(jQuery),function($){if(void 0===window.Tether)throw new Error("Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)");var NAME="tooltip",VERSION="4.0.0-alpha.3",DATA_KEY="bs.tooltip",EVENT_KEY="."+DATA_KEY,JQUERY_NO_CONFLICT=$.fn[NAME],TRANSITION_DURATION=150,CLASS_PREFIX="bs-tether",Default={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:"0 0",constraints:[]},DefaultType={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"string",constraints:"array"},AttachmentMap={TOP:"bottom center",RIGHT:"middle left",BOTTOM:"top center",LEFT:"middle right"},HoverState={IN:"in",OUT:"out"},Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,INSERTED:"inserted"+EVENT_KEY,CLICK:"click"+EVENT_KEY,FOCUSIN:"focusin"+EVENT_KEY,FOCUSOUT:"focusout"+EVENT_KEY,MOUSEENTER:"mouseenter"+EVENT_KEY,MOUSELEAVE:"mouseleave"+EVENT_KEY},ClassName={FADE:"fade",IN:"in"},Selector={TOOLTIP:".tooltip",TOOLTIP_INNER:".tooltip-inner"},TetherClass={element:!1,enabled:!1},Trigger={HOVER:"hover",FOCUS:"focus",CLICK:"click",MANUAL:"manual"},Tooltip=function(){function Tooltip(element,config){_classCallCheck(this,Tooltip),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._tether=null,this.element=element,this.config=this._getConfig(config),this.tip=null,this._setListeners()}return _createClass(Tooltip,[{key:"enable",value:function(){this._isEnabled=!0}},{key:"disable",value:function(){this._isEnabled=!1}},{key:"toggleEnabled",value:function(){this._isEnabled=!this._isEnabled}},{key:"toggle",value:function(event){if(event){var dataKey=this.constructor.DATA_KEY,context=$(event.currentTarget).data(dataKey);context||(context=new this.constructor(event.currentTarget,this._getDelegateConfig()),$(event.currentTarget).data(dataKey,context)),context._activeTrigger.click=!context._activeTrigger.click,context._isWithActiveTrigger()?context._enter(null,context):context._leave(null,context)}else{if($(this.getTipElement()).hasClass(ClassName.IN))return void this._leave(null,this);this._enter(null,this)}}},{key:"dispose",value:function(){clearTimeout(this._timeout),this.cleanupTether(),$.removeData(this.element,this.constructor.DATA_KEY),$(this.element).off(this.constructor.EVENT_KEY),this.tip&&$(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._tether=null,this.element=null,this.config=null,this.tip=null}},{key:"show",value:function(){var _this16=this,showEvent=$.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){$(this.element).trigger(showEvent);var isInTheDom=$.contains(this.element.ownerDocument.documentElement,this.element);if(showEvent.isDefaultPrevented()||!isInTheDom)return;var tip=this.getTipElement(),tipId=Util.getUID(this.constructor.NAME);tip.setAttribute("id",tipId),this.element.setAttribute("aria-describedby",tipId),this.setContent(),this.config.animation&&$(tip).addClass(ClassName.FADE);var placement="function"==typeof this.config.placement?this.config.placement.call(this,tip,this.element):this.config.placement,attachment=this._getAttachment(placement);$(tip).data(this.constructor.DATA_KEY,this).appendTo(document.body),$(this.element).trigger(this.constructor.Event.INSERTED),this._tether=new Tether({attachment:attachment,element:tip,target:this.element,classes:TetherClass,classPrefix:CLASS_PREFIX,offset:this.config.offset,constraints:this.config.constraints,addTargetClasses:!1}),Util.reflow(tip),this._tether.position(),$(tip).addClass(ClassName.IN);var complete=function(){var prevHoverState=_this16._hoverState;_this16._hoverState=null,$(_this16.element).trigger(_this16.constructor.Event.SHOWN),prevHoverState===HoverState.OUT&&_this16._leave(null,_this16)};if(Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE))return void $(this.tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);complete()}}},{key:"hide",value:function(callback){var _this17=this,tip=this.getTipElement(),hideEvent=$.Event(this.constructor.Event.HIDE),complete=function(){_this17._hoverState!==HoverState.IN&&tip.parentNode&&tip.parentNode.removeChild(tip),_this17.element.removeAttribute("aria-describedby"),$(_this17.element).trigger(_this17.constructor.Event.HIDDEN),_this17.cleanupTether(),callback&&callback()};$(this.element).trigger(hideEvent),hideEvent.isDefaultPrevented()||($(tip).removeClass(ClassName.IN),Util.supportsTransitionEnd()&&$(this.tip).hasClass(ClassName.FADE)?$(tip).one(Util.TRANSITION_END,complete).emulateTransitionEnd(TRANSITION_DURATION):complete(),this._hoverState="")}},{key:"isWithContent",value:function(){return Boolean(this.getTitle())}},{key:"getTipElement",value:function(){return this.tip=this.tip||$(this.config.template)[0]}},{key:"setContent",value:function(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TOOLTIP_INNER),this.getTitle()),$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN),this.cleanupTether()}},{key:"setElementContent",value:function($element,content){var html=this.config.html;"object"===("undefined"==typeof content?"undefined":_typeof(content))&&(content.nodeType||content.jquery)?html?$(content).parent().is($element)||$element.empty().append(content):$element.text($(content).text()):$element[html?"html":"text"](content)}},{key:"getTitle",value:function(){var title=this.element.getAttribute("data-original-title");return title||(title="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),title}},{key:"cleanupTether",value:function(){this._tether&&this._tether.destroy()}},{key:"_getAttachment",value:function(placement){return AttachmentMap[placement.toUpperCase()]}},{key:"_setListeners",value:function(){var _this18=this,triggers=this.config.trigger.split(" ");triggers.forEach(function(trigger){if("click"===trigger)$(_this18.element).on(_this18.constructor.Event.CLICK,_this18.config.selector,$.proxy(_this18.toggle,_this18));else if(trigger!==Trigger.MANUAL){var eventIn=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSEENTER:_this18.constructor.Event.FOCUSIN,eventOut=trigger===Trigger.HOVER?_this18.constructor.Event.MOUSELEAVE:_this18.constructor.Event.FOCUSOUT;$(_this18.element).on(eventIn,_this18.config.selector,$.proxy(_this18._enter,_this18)).on(eventOut,_this18.config.selector,$.proxy(_this18._leave,_this18))}}),this.config.selector?this.config=$.extend({},this.config,{trigger:"manual",selector:""}):this._fixTitle()}},{key:"_fixTitle",value:function(){var titleType=_typeof(this.element.getAttribute("data-original-title"));(this.element.getAttribute("title")||"string"!==titleType)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))}},{key:"_enter",value:function(event,context){var dataKey=this.constructor.DATA_KEY;return context=context||$(event.currentTarget).data(dataKey),context||(context=new this.constructor(event.currentTarget,this._getDelegateConfig()),$(event.currentTarget).data(dataKey,context)),event&&(context._activeTrigger["focusin"===event.type?Trigger.FOCUS:Trigger.HOVER]=!0),$(context.getTipElement()).hasClass(ClassName.IN)||context._hoverState===HoverState.IN?void(context._hoverState=HoverState.IN):(clearTimeout(context._timeout),context._hoverState=HoverState.IN,context.config.delay&&context.config.delay.show?void(context._timeout=setTimeout(function(){context._hoverState===HoverState.IN&&context.show()},context.config.delay.show)):void context.show())}},{key:"_leave",value:function(event,context){var dataKey=this.constructor.DATA_KEY;if(context=context||$(event.currentTarget).data(dataKey),context||(context=new this.constructor(event.currentTarget,this._getDelegateConfig()),$(event.currentTarget).data(dataKey,context)),event&&(context._activeTrigger["focusout"===event.type?Trigger.FOCUS:Trigger.HOVER]=!1),!context._isWithActiveTrigger())return clearTimeout(context._timeout),context._hoverState=HoverState.OUT,context.config.delay&&context.config.delay.hide?void(context._timeout=setTimeout(function(){context._hoverState===HoverState.OUT&&context.hide()},context.config.delay.hide)):void context.hide()}},{key:"_isWithActiveTrigger",value:function(){for(var trigger in this._activeTrigger)if(this._activeTrigger[trigger])return!0;return!1}},{key:"_getConfig",value:function(config){return config=$.extend({},this.constructor.Default,$(this.element).data(),config),config.delay&&"number"==typeof config.delay&&(config.delay={show:config.delay,hide:config.delay}),Util.typeCheckConfig(NAME,config,this.constructor.DefaultType),config}},{key:"_getDelegateConfig",value:function(){var config={};if(this.config)for(var key in this.config)this.constructor.Default[key]!==this.config[key]&&(config[key]=this.config[key]);return config}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config="object"===("undefined"==typeof config?"undefined":_typeof(config))?config:null;if((data||!/destroy|hide/.test(config))&&(data||(data=new Tooltip(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config)){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}},{key:"NAME",get:function(){return NAME}},{key:"DATA_KEY",get:function(){return DATA_KEY}},{key:"Event",get:function(){return Event}},{key:"EVENT_KEY",get:function(){return EVENT_KEY}},{key:"DefaultType",get:function(){return DefaultType}}]),Tooltip}();return $.fn[NAME]=Tooltip._jQueryInterface,$.fn[NAME].Constructor=Tooltip,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Tooltip._jQueryInterface},Tooltip}(jQuery));(function($){var NAME="popover",VERSION="4.0.0-alpha.3",DATA_KEY="bs.popover",EVENT_KEY="."+DATA_KEY,JQUERY_NO_CONFLICT=$.fn[NAME],Default=$.extend({},Tooltip.Default,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),DefaultType=$.extend({},Tooltip.DefaultType,{content:"(string|element|function)"}),ClassName={FADE:"fade",IN:"in"},Selector={TITLE:".popover-title",CONTENT:".popover-content",ARROW:".popover-arrow"},Event={HIDE:"hide"+EVENT_KEY,HIDDEN:"hidden"+EVENT_KEY,SHOW:"show"+EVENT_KEY,SHOWN:"shown"+EVENT_KEY,INSERTED:"inserted"+EVENT_KEY,CLICK:"click"+EVENT_KEY,FOCUSIN:"focusin"+EVENT_KEY,FOCUSOUT:"focusout"+EVENT_KEY,MOUSEENTER:"mouseenter"+EVENT_KEY,MOUSELEAVE:"mouseleave"+EVENT_KEY},Popover=function(_Tooltip){function Popover(){_classCallCheck(this,Popover),_get(Object.getPrototypeOf(Popover.prototype),"constructor",this).apply(this,arguments)}return _inherits(Popover,_Tooltip),_createClass(Popover,[{key:"isWithContent",value:function(){return this.getTitle()||this._getContent()}},{key:"getTipElement",value:function(){return this.tip=this.tip||$(this.config.template)[0]}},{key:"setContent",value:function(){var $tip=$(this.getTipElement());this.setElementContent($tip.find(Selector.TITLE),this.getTitle()),this.setElementContent($tip.find(Selector.CONTENT),this._getContent()),$tip.removeClass(ClassName.FADE).removeClass(ClassName.IN),this.cleanupTether()}},{key:"_getContent",value:function(){return this.element.getAttribute("data-content")||("function"==typeof this.config.content?this.config.content.call(this.element):this.config.content)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var data=$(this).data(DATA_KEY),_config="object"===("undefined"==typeof config?"undefined":_typeof(config))?config:null;if((data||!/destroy|hide/.test(config))&&(data||(data=new Popover(this,_config),$(this).data(DATA_KEY,data)),"string"==typeof config)){if(void 0===data[config])throw new Error('No method named "'+config+'"');data[config]()}})}},{key:"VERSION",get:function(){return VERSION}},{key:"Default",get:function(){return Default}},{key:"NAME",get:function(){return NAME}},{key:"DATA_KEY",get:function(){return DATA_KEY}},{key:"Event",get:function(){return Event}},{key:"EVENT_KEY",get:function(){return EVENT_KEY}},{key:"DefaultType",get:function(){return DefaultType}}]),Popover}(Tooltip);return $.fn[NAME]=Popover._jQueryInterface,$.fn[NAME].Constructor=Popover,$.fn[NAME].noConflict=function(){return $.fn[NAME]=JQUERY_NO_CONFLICT,Popover._jQueryInterface},Popover})(jQuery)}(jQuery);var Util=function(){function transitionEndTest(){if(window.QUnit)return!1;var el=document.createElement("bmd");for(var name in TransitionEndEvent)if(void 0!==el.style[name])return TransitionEndEvent[name];return!1}function setTransitionEndSupport(){transitionEnd=transitionEndTest();for(var name in TransitionEndEvent)_transitionEndSelector+=" "+TransitionEndEvent[name]}var transitionEnd=!1,_transitionEndSelector="",TransitionEndEvent={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},Util={transitionEndSupported:function(){return transitionEnd},transitionEndSelector:function(){return _transitionEndSelector},isChar:function(event){return"undefined"==typeof event.which||"number"==typeof event.which&&event.which>0&&(!event.ctrlKey&&!event.metaKey&&!event.altKey&&8!==event.which&&9!==event.which&&13!==event.which&&16!==event.which&&17!==event.which&&20!==event.which&&27!==event.which)},assert:function($element,invalidTest,message){if(invalidTest)throw void 0===!$element&&$element.css("border","1px solid red"),console.error(message,$element),message},describe:function($element){return void 0===$element?"undefined":0===$element.length?"(no matching elements)":$element[0].outerHTML.split(">")[0]+">"}};return setTransitionEndSupport(),Util}(jQuery),Base=function($){var ClassName={BMD_FORM_GROUP:"bmd-form-group",IS_FILLED:"is-filled",IS_FOCUSED:"is-focused"},Selector={BMD_FORM_GROUP:"."+ClassName.BMD_FORM_GROUP},Default={},Base=function(){function Base($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];classCallCheck(this,Base),this.$element=$element,this.config=$.extend(!0,{},Default,config);for(var key in properties)this[key]=properties[key]}return createClass(Base,[{key:"dispose",value:function(dataKey){this.$element.data(dataKey,null),this.$element=null,this.config=null}},{key:"addFormGroupFocus",value:function(){this.$element.prop("disabled")||this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED)}},{key:"removeFormGroupFocus",value:function(){this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED)}},{key:"removeIsFilled",value:function(){this.$bmdFormGroup.removeClass(ClassName.IS_FILLED)}},{key:"addIsFilled",value:function(){this.$bmdFormGroup.addClass(ClassName.IS_FILLED)}},{key:"findMdbFormGroup",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],mfg=this.$element.closest(Selector.BMD_FORM_GROUP);return 0===mfg.length&&raiseError&&$.error("Failed to find "+Selector.BMD_FORM_GROUP+" for "+Util.describe(this.$element)),mfg}}]),Base}();return Base}(jQuery),BaseInput=function($){var ClassName={FORM_GROUP:"form-group",BMD_FORM_GROUP:"bmd-form-group",BMD_LABEL:"bmd-label",BMD_LABEL_STATIC:"bmd-label-static",BMD_LABEL_PLACEHOLDER:"bmd-label-placeholder",BMD_LABEL_FLOATING:"bmd-label-floating",HAS_DANGER:"has-danger",IS_FILLED:"is-filled",IS_FOCUSED:"is-focused",INPUT_GROUP:"input-group"},Selector={FORM_GROUP:"."+ClassName.FORM_GROUP,BMD_FORM_GROUP:"."+ClassName.BMD_FORM_GROUP,BMD_LABEL_WILDCARD:"label[class^='"+ClassName.BMD_LABEL+"'], label[class*=' "+ClassName.BMD_LABEL+"']"},Default={validate:!1,formGroup:{required:!1},bmdFormGroup:{template:"<span class='"+ClassName.BMD_FORM_GROUP+"'></span>",create:!0,required:!0},label:{required:!1,selectors:[".form-control-label","> label"],className:ClassName.BMD_LABEL_STATIC},requiredClasses:[],invalidComponentMatches:[],convertInputSizeVariations:!0},FormControlSizeMarkers={"form-control-lg":"bmd-form-group-lg","form-control-sm":"bmd-form-group-sm"},BaseInput=function(_Base){function BaseInput($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];classCallCheck(this,BaseInput);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseInput).call(this,$element,$.extend(!0,{},Default,config),properties));return _this._rejectInvalidComponentMatches(),_this.rejectWithoutRequiredStructure(),_this._rejectWithoutRequiredClasses(),_this.$formGroup=_this.findFormGroup(_this.config.formGroup.required),_this.$bmdFormGroup=_this.resolveMdbFormGroup(),_this.$bmdLabel=_this.resolveMdbLabel(),_this.resolveMdbFormGroupSizing(),_this.addFocusListener(),_this.addChangeListener(),""!=_this.$element.val()&&_this.addIsFilled(),_this}return inherits(BaseInput,_Base),createClass(BaseInput,[{key:"dispose",value:function(dataKey){get(Object.getPrototypeOf(BaseInput.prototype),"dispose",this).call(this,dataKey),this.$bmdFormGroup=null,this.$formGroup=null}},{key:"rejectWithoutRequiredStructure",value:function(){}},{key:"addFocusListener",value:function(){var _this2=this;this.$element.on("focus",function(){_this2.addFormGroupFocus()}).on("blur",function(){_this2.removeFormGroupFocus()})}},{key:"addChangeListener",value:function(){var _this3=this;this.$element.on("keydown paste",function(event){Util.isChar(event)&&_this3.addIsFilled()}).on("keyup change",function(){if(_this3.isEmpty()?_this3.removeIsFilled():_this3.addIsFilled(),_this3.config.validate){var isValid="undefined"==typeof _this3.$element[0].checkValidity||_this3.$element[0].checkValidity();isValid?_this3.removeHasDanger():_this3.addHasDanger()}})}},{key:"addHasDanger",value:function(){this.$bmdFormGroup.addClass(ClassName.HAS_DANGER)}},{key:"removeHasDanger",value:function(){this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER)}},{key:"isEmpty",value:function(){return null===this.$element.val()||void 0===this.$element.val()||""===this.$element.val()}},{key:"resolveMdbFormGroup",value:function(){var mfg=this.findMdbFormGroup(!1);return void 0!==mfg&&0!==mfg.length||(!this.config.bmdFormGroup.create||void 0!==this.$formGroup&&0!==this.$formGroup.length?this.$formGroup.addClass(ClassName.BMD_FORM_GROUP):this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)?this.outerElement().parent().wrap(this.config.bmdFormGroup.template):this.outerElement().wrap(this.config.bmdFormGroup.template),mfg=this.findMdbFormGroup(this.config.bmdFormGroup.required)),mfg}},{key:"outerElement",value:function(){return this.$element}},{key:"resolveMdbLabel",value:function(){var label=this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);return void 0!==label&&0!==label.length||(label=this.findMdbLabel(this.config.label.required),void 0===label||0===label.length||label.addClass(this.config.label.className)),label}},{key:"findMdbLabel",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],label=null,_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_iterator=this.config.label.selectors[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0){var selector=_step.value;if(label=$.isFunction(selector)?selector(this):this.$bmdFormGroup.find(selector),void 0!==label&&label.length>0)break}}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator["return"]&&_iterator["return"]()}finally{if(_didIteratorError)throw _iteratorError}}return 0===label.length&&raiseError&&$.error("Failed to find "+Selector.BMD_LABEL_WILDCARD+" within form-group for "+Util.describe(this.$element)),label}},{key:"findFormGroup",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],fg=this.$element.closest(Selector.FORM_GROUP);return 0===fg.length&&raiseError&&$.error("Failed to find "+Selector.FORM_GROUP+" for "+Util.describe(this.$element)),fg}},{key:"resolveMdbFormGroupSizing",value:function(){if(this.config.convertInputSizeVariations)for(var inputSize in FormControlSizeMarkers)this.$element.hasClass(inputSize)&&this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize])}},{key:"_rejectInvalidComponentMatches",value:function(){var _iteratorNormalCompletion2=!0,_didIteratorError2=!1,_iteratorError2=void 0;try{for(var _step2,_iterator2=this.config.invalidComponentMatches[Symbol.iterator]();!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=!0){var otherComponent=_step2.value;otherComponent.rejectMatch(this.constructor.name,this.$element)}}catch(err){_didIteratorError2=!0,_iteratorError2=err}finally{try{!_iteratorNormalCompletion2&&_iterator2["return"]&&_iterator2["return"]()}finally{if(_didIteratorError2)throw _iteratorError2}}}},{key:"_rejectWithoutRequiredClasses",value:function(){var _iteratorNormalCompletion3=!0,_didIteratorError3=!1,_iteratorError3=void 0;try{for(var _step3,_iterator3=this.config.requiredClasses[Symbol.iterator]();!(_iteratorNormalCompletion3=(_step3=_iterator3.next()).done);_iteratorNormalCompletion3=!0){var requiredClass=_step3.value,found=!1;if(requiredClass.indexOf("||")!==-1){var oneOf=requiredClass.split("||"),_iteratorNormalCompletion4=!0,_didIteratorError4=!1,_iteratorError4=void 0;try{for(var _step4,_iterator4=oneOf[Symbol.iterator]();!(_iteratorNormalCompletion4=(_step4=_iterator4.next()).done);_iteratorNormalCompletion4=!0){var _requiredClass=_step4.value;if(this.$element.hasClass(_requiredClass)){found=!0;break}}}catch(err){_didIteratorError4=!0,_iteratorError4=err}finally{try{!_iteratorNormalCompletion4&&_iterator4["return"]&&_iterator4["return"]()}finally{if(_didIteratorError4)throw _iteratorError4}}}else this.$element.hasClass(requiredClass)&&(found=!0);found||$.error(this.constructor.name+" element: "+Util.describe(this.$element)+" requires class: "+requiredClass)}}catch(err){_didIteratorError3=!0,_iteratorError3=err}finally{try{!_iteratorNormalCompletion3&&_iterator3["return"]&&_iterator3["return"]()}finally{if(_didIteratorError3)throw _iteratorError3}}}}]),BaseInput}(Base);return BaseInput}(jQuery),BaseSelection=function($){var Default={label:{required:!1}},Selector={LABEL:"label"},BaseSelection=function(_BaseInput){function BaseSelection($element,config,properties){classCallCheck(this,BaseSelection);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseSelection).call(this,$element,$.extend(!0,{},Default,config),properties));return _this.decorateMarkup(),_this}return inherits(BaseSelection,_BaseInput),createClass(BaseSelection,[{key:"decorateMarkup",value:function(){this.$element.after(this.config.template)}},{key:"outerElement",value:function(){return this.$element.parent().closest("."+this.outerClass)}},{key:"rejectWithoutRequiredStructure",value:function(){Util.assert(this.$element,"label"===!this.$element.parent().prop("tagName"),this.constructor.name+"'s "+Util.describe(this.$element)+" parent element should be <label>."),Util.assert(this.$element,!this.outerElement().hasClass(this.outerClass),this.constructor.name+"'s "+Util.describe(this.$element)+" outer element should have class "+this.outerClass+".")}},{key:"addFocusListener",value:function(){var _this2=this;this.$element.closest(Selector.LABEL).hover(function(){_this2.addFormGroupFocus()},function(){_this2.removeFormGroupFocus()})}},{key:"addChangeListener",value:function(){var _this3=this;this.$element.change(function(){_this3.$element.blur()})}}]),BaseSelection}(BaseInput);return BaseSelection}(jQuery),Checkbox=function($){var NAME="checkbox",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={template:"<span class='checkbox-decorator'><span class='check'></span></span>"},Checkbox=function(_BaseSelection){function Checkbox($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:NAME,outerClass:NAME}:arguments[2];return classCallCheck(this,Checkbox),possibleConstructorReturn(this,Object.getPrototypeOf(Checkbox).call(this,$element,$.extend(!0,Default,config),properties))}return inherits(Checkbox,_BaseSelection),createClass(Checkbox,[{key:"dispose",value:function(){var dataKey=arguments.length<=0||void 0===arguments[0]?DATA_KEY:arguments[0];get(Object.getPrototypeOf(Checkbox.prototype),"dispose",this).call(this,dataKey)}}],[{key:"matches",value:function($element){return"checkbox"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='checkbox'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Checkbox($element,config),$element.data(DATA_KEY,data))})}}]),Checkbox}(BaseSelection);return $.fn[JQUERY_NAME]=Checkbox._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Checkbox,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Checkbox._jQueryInterface},Checkbox}(jQuery),Radio=(function($){var NAME="checkboxInline",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={bmdFormGroup:{create:!1,required:!1}},CheckboxInline=function(_Checkbox){function CheckboxInline($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:"checkbox",outerClass:"checkbox-inline"}:arguments[2];return classCallCheck(this,CheckboxInline),possibleConstructorReturn(this,Object.getPrototypeOf(CheckboxInline).call(this,$element,$.extend(!0,{},Default,config),properties))}return inherits(CheckboxInline,_Checkbox),createClass(CheckboxInline,[{key:"dispose",value:function(){get(Object.getPrototypeOf(CheckboxInline.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new CheckboxInline($element,config),$element.data(DATA_KEY,data))})}}]),CheckboxInline}(Checkbox);return $.fn[JQUERY_NAME]=CheckboxInline._jQueryInterface,$.fn[JQUERY_NAME].Constructor=CheckboxInline,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,CheckboxInline._jQueryInterface},CheckboxInline}(jQuery),function($){var NAME="collapseInline",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Selector={ANY_INPUT:"input, select, textarea"},ClassName={IN:"in",COLLAPSE:"collapse",COLLAPSING:"collapsing",COLLAPSED:"collapsed",WIDTH:"width"},Default={},CollapseInline=function(_Base){function CollapseInline($element,config){classCallCheck(this,CollapseInline);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(CollapseInline).call(this,$element,$.extend(!0,{},Default,config)));_this.$bmdFormGroup=_this.findMdbFormGroup(!0);var collapseSelector=$element.data("target");_this.$collapse=$(collapseSelector),Util.assert($element,0===_this.$collapse.length,"Cannot find collapse target for "+Util.describe($element)),Util.assert(_this.$collapse,!_this.$collapse.hasClass(ClassName.COLLAPSE),Util.describe(_this.$collapse)+" is expected to have the '"+ClassName.COLLAPSE+"' class. It is being targeted by "+Util.describe($element));
+var $inputs=_this.$bmdFormGroup.find(Selector.ANY_INPUT);return $inputs.length>0&&(_this.$input=$inputs.first()),_this.$collapse.hasClass(ClassName.WIDTH)||_this.$collapse.addClass(ClassName.WIDTH),_this.$input&&(_this.$collapse.on("shown.bs.collapse",function(){_this.$input.focus()}),_this.$input.blur(function(){_this.$collapse.collapse("hide")})),_this}return inherits(CollapseInline,_Base),createClass(CollapseInline,[{key:"dispose",value:function(){get(Object.getPrototypeOf(CollapseInline.prototype),"dispose",this).call(this,DATA_KEY),this.$bmdFormGroup=null,this.$collapse=null,this.$input=null}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new CollapseInline($element,config),$element.data(DATA_KEY,data))})}}]),CollapseInline}(Base);return $.fn[JQUERY_NAME]=CollapseInline._jQueryInterface,$.fn[JQUERY_NAME].Constructor=CollapseInline,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,CollapseInline._jQueryInterface},CollapseInline}(jQuery),function($){var NAME="file",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},ClassName={FILE:NAME,IS_FILE:"is-file"},Selector={FILENAMES:"input.form-control[readonly]"},File=function(_BaseInput){function File($element,config){classCallCheck(this,File);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(File).call(this,$element,$.extend(!0,Default,config)));return _this.$bmdFormGroup.addClass(ClassName.IS_FILE),_this}return inherits(File,_BaseInput),createClass(File,[{key:"dispose",value:function(){get(Object.getPrototypeOf(File.prototype),"dispose",this).call(this,DATA_KEY)}},{key:"outerElement",value:function(){return this.$element.parent().closest("."+ClassName.FILE)}},{key:"rejectWithoutRequiredStructure",value:function(){Util.assert(this.$element,"label"===!this.outerElement().prop("tagName"),this.constructor.name+"'s "+Util.describe(this.$element)+" parent element "+Util.describe(this.outerElement())+" should be <label>."),Util.assert(this.$element,!this.outerElement().hasClass(ClassName.FILE),this.constructor.name+"'s "+Util.describe(this.$element)+" parent element "+Util.describe(this.outerElement())+" should have class ."+ClassName.FILE+".")}},{key:"addFocusListener",value:function(){var _this2=this;this.$bmdFormGroup.on("focus",function(){_this2.addFormGroupFocus()}).on("blur",function(){_this2.removeFormGroupFocus()})}},{key:"addChangeListener",value:function(){var _this3=this;this.$element.on("change",function(){var value="";$.each(_this3.$element.files,function(i,file){value+=file.name+" , "}),value=value.substring(0,value.length-2),value?_this3.addIsFilled():_this3.removeIsFilled(),_this3.$bmdFormGroup.find(Selector.FILENAMES).val(value)})}}],[{key:"matches",value:function($element){return"file"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='file'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new File($element,config),$element.data(DATA_KEY,data))})}}]),File}(BaseInput);return $.fn[JQUERY_NAME]=File._jQueryInterface,$.fn[JQUERY_NAME].Constructor=File,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,File._jQueryInterface},File}(jQuery),function($){var NAME="radio",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={template:"<span class='bmd-radio-outer-circle'></span><span class='bmd-radio-inner-circle'></span>"},Radio=function(_BaseSelection){function Radio($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:NAME,outerClass:NAME}:arguments[2];return classCallCheck(this,Radio),possibleConstructorReturn(this,Object.getPrototypeOf(Radio).call(this,$element,$.extend(!0,Default,config),properties))}return inherits(Radio,_BaseSelection),createClass(Radio,[{key:"dispose",value:function(){var dataKey=arguments.length<=0||void 0===arguments[0]?DATA_KEY:arguments[0];get(Object.getPrototypeOf(Radio.prototype),"dispose",this).call(this,dataKey)}}],[{key:"matches",value:function($element){return"radio"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='radio'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Radio($element,config),$element.data(DATA_KEY,data))})}}]),Radio}(BaseSelection);return $.fn[JQUERY_NAME]=Radio._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Radio,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Radio._jQueryInterface},Radio}(jQuery)),BaseFormControl=(function($){var NAME="radioInline",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={bmdFormGroup:{create:!1,required:!1}},RadioInline=function(_Radio){function RadioInline($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:"radio",outerClass:"radio-inline"}:arguments[2];return classCallCheck(this,RadioInline),possibleConstructorReturn(this,Object.getPrototypeOf(RadioInline).call(this,$element,$.extend(!0,{},Default,config),properties))}return inherits(RadioInline,_Radio),createClass(RadioInline,[{key:"dispose",value:function(){get(Object.getPrototypeOf(RadioInline.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new RadioInline($element,config),$element.data(DATA_KEY,data))})}}]),RadioInline}(Radio);return $.fn[JQUERY_NAME]=RadioInline._jQueryInterface,$.fn[JQUERY_NAME].Constructor=RadioInline,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,RadioInline._jQueryInterface},RadioInline}(jQuery),function($){var Default={requiredClasses:["form-control"]},BaseFormControl=function(_BaseInput){function BaseFormControl($element,config){classCallCheck(this,BaseFormControl);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseFormControl).call(this,$element,$.extend(!0,Default,config)));return _this.isEmpty()&&_this.removeIsFilled(),_this}return inherits(BaseFormControl,_BaseInput),BaseFormControl}(BaseInput);return BaseFormControl}(jQuery)),BaseLayout=(function($){var NAME="select",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={requiredClasses:["form-control||custom-select"]},Select=function(_BaseFormControl){function Select($element,config){classCallCheck(this,Select);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(Select).call(this,$element,$.extend(!0,Default,config)));return _this.addIsFilled(),_this}return inherits(Select,_BaseFormControl),createClass(Select,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Select.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"matches",value:function($element){return"select"===$element.prop("tagName")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for <select>.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Select($element,config),$element.data(DATA_KEY,data))})}}]),Select}(BaseFormControl);return $.fn[JQUERY_NAME]=Select._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Select,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Select._jQueryInterface},Select}(jQuery),function($){var NAME="switch",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={template:"<span class='bmd-switch-track'></span>"},Switch=function(_Checkbox){function Switch($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{inputType:"checkbox",outerClass:"switch"}:arguments[2];return classCallCheck(this,Switch),possibleConstructorReturn(this,Object.getPrototypeOf(Switch).call(this,$element,$.extend(!0,{},Default,config),properties))}return inherits(Switch,_Checkbox),createClass(Switch,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Switch.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Switch($element,config),$element.data(DATA_KEY,data))})}}]),Switch}(Checkbox);return $.fn[JQUERY_NAME]=Switch._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Switch,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Switch._jQueryInterface},Switch}(jQuery),function($){var NAME="text",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},Text=function(_BaseFormControl){function Text($element,config){return classCallCheck(this,Text),possibleConstructorReturn(this,Object.getPrototypeOf(Text).call(this,$element,$.extend(!0,Default,config)))}return inherits(Text,_BaseFormControl),createClass(Text,[{key:"dispose",value:function(){var dataKey=arguments.length<=0||void 0===arguments[0]?DATA_KEY:arguments[0];get(Object.getPrototypeOf(Text.prototype),"dispose",this).call(this,dataKey)}}],[{key:"matches",value:function($element){return"text"===$element.attr("type")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for type='text'.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Text($element,config),$element.data(DATA_KEY,data))})}}]),Text}(BaseFormControl);return $.fn[JQUERY_NAME]=Text._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Text,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Text._jQueryInterface},Text}(jQuery),function($){var NAME="textarea",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},Textarea=function(_BaseFormControl){function Textarea($element,config){return classCallCheck(this,Textarea),possibleConstructorReturn(this,Object.getPrototypeOf(Textarea).call(this,$element,$.extend(!0,Default,config)))}return inherits(Textarea,_BaseFormControl),createClass(Textarea,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Textarea.prototype),"dispose",this).call(this,DATA_KEY)}}],[{key:"matches",value:function($element){return"textarea"===$element.prop("tagName")}},{key:"rejectMatch",value:function(component,$element){Util.assert(this.$element,this.matches($element),component+" component element "+Util.describe($element)+" is invalid for <textarea>.")}},{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Textarea($element,config),$element.data(DATA_KEY,data))})}}]),Textarea}(BaseFormControl);return $.fn[JQUERY_NAME]=Textarea._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Textarea,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Textarea._jQueryInterface},Textarea}(jQuery),function($){var ClassName={CANVAS:"bmd-layout-canvas",CONTAINER:"bmd-layout-container",BACKDROP:"bmd-layout-backdrop"},Selector={CANVAS:"."+ClassName.CANVAS,CONTAINER:"."+ClassName.CONTAINER,BACKDROP:"."+ClassName.BACKDROP},Default={canvas:{create:!0,required:!0,template:'<div class="'+ClassName.CANVAS+'"></div>'},backdrop:{create:!0,required:!0,template:'<div class="'+ClassName.BACKDROP+'"></div>'}},BaseLayout=function(_Base){function BaseLayout($element,config){var properties=arguments.length<=2||void 0===arguments[2]?{}:arguments[2];classCallCheck(this,BaseLayout);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(BaseLayout).call(this,$element,$.extend(!0,{},Default,config),properties));return _this.$container=_this.findContainer(!0),_this.$backdrop=_this.resolveBackdrop(),_this.resolveCanvas(),_this}return inherits(BaseLayout,_Base),createClass(BaseLayout,[{key:"dispose",value:function(dataKey){get(Object.getPrototypeOf(BaseLayout.prototype),"dispose",this).call(this,dataKey),this.$container=null,this.$backdrop=null}},{key:"resolveCanvas",value:function(){var bd=this.findCanvas(!1);return void 0!==bd&&0!==bd.length||(this.config.canvas.create&&this.$container.wrap(this.config.canvas.template),bd=this.findCanvas(this.config.canvas.required)),bd}},{key:"findCanvas",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],context=arguments.length<=1||void 0===arguments[1]?this.$container:arguments[1],canvas=context.closest(Selector.CANVAS);return 0===canvas.length&&raiseError&&$.error("Failed to find "+Selector.CANVAS+" for "+Util.describe(context)),canvas}},{key:"resolveBackdrop",value:function(){var bd=this.findBackdrop(!1);return void 0!==bd&&0!==bd.length||(this.config.backdrop.create&&this.$container.append(this.config.backdrop.template),bd=this.findBackdrop(this.config.backdrop.required)),bd}},{key:"findBackdrop",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],context=arguments.length<=1||void 0===arguments[1]?this.$container:arguments[1],backdrop=context.find("> "+Selector.BACKDROP);return 0===backdrop.length&&raiseError&&$.error("Failed to find "+Selector.BACKDROP+" for "+Util.describe(context)),backdrop}},{key:"findContainer",value:function(){var raiseError=arguments.length<=0||void 0===arguments[0]||arguments[0],context=arguments.length<=1||void 0===arguments[1]?this.$element:arguments[1],container=context.closest(Selector.CONTAINER);return 0===container.length&&raiseError&&$.error("Failed to find "+Selector.CONTAINER+" for "+Util.describe(context)),container}}]),BaseLayout}(Base);return BaseLayout}(jQuery));(function($){var NAME="drawer",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Keycodes={ESCAPE:27},ClassName={IN:"in",DRAWER_IN:"bmd-drawer-in",DRAWER_OUT:"bmd-drawer-out",DRAWER:"bmd-layout-drawer",CONTAINER:"bmd-layout-container"},Default={focusSelector:"a, button, input"},Drawer=function(_BaseLayout){function Drawer($element,config){classCallCheck(this,Drawer);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(Drawer).call(this,$element,$.extend(!0,{},Default,config)));return _this.$toggles=$('[data-toggle="drawer"][href="#'+_this.$element[0].id+'"], [data-toggle="drawer"][data-target="#'+_this.$element[0].id+'"]'),_this._addAria(),_this.$backdrop.keydown(function(ev){ev.which===Keycodes.ESCAPE&&_this.hide()}).click(function(){_this.hide()}),_this.$element.keydown(function(ev){ev.which===Keycodes.ESCAPE&&_this.hide()}),_this.$toggles.click(function(){_this.toggle()}),_this}return inherits(Drawer,_BaseLayout),createClass(Drawer,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Drawer.prototype),"dispose",this).call(this,DATA_KEY),this.$toggles=null}},{key:"toggle",value:function(){this._isOpen()?this.hide():this.show()}},{key:"show",value:function(){if(!this._isForcedClosed()&&!this._isOpen()){this.$toggles.attr("aria-expanded",!0),this.$element.attr("aria-expanded",!0),this.$element.attr("aria-hidden",!1);var $focusOn=this.$element.find(this.config.focusSelector);$focusOn.length>0&&$focusOn.first().focus(),this.$container.addClass(ClassName.DRAWER_IN),this.$backdrop.addClass(ClassName.IN)}}},{key:"hide",value:function(){this._isOpen()&&(this.$toggles.attr("aria-expanded",!1),this.$element.attr("aria-expanded",!1),this.$element.attr("aria-hidden",!0),this.$container.removeClass(ClassName.DRAWER_IN),this.$backdrop.removeClass(ClassName.IN))}},{key:"_isOpen",value:function(){return this.$container.hasClass(ClassName.DRAWER_IN)}},{key:"_isForcedClosed",value:function(){return this.$container.hasClass(ClassName.DRAWER_OUT)}},{key:"_addAria",value:function(){var isOpen=this._isOpen();this.$element.attr("aria-expanded",isOpen),this.$element.attr("aria-hidden",isOpen),this.$toggles.length&&this.$toggles.attr("aria-expanded",isOpen)}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Drawer($element,config),$element.data(DATA_KEY,data))})}}]),Drawer}(BaseLayout);return $.fn[JQUERY_NAME]=Drawer._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Drawer,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Drawer._jQueryInterface},Drawer})(jQuery),function($){var NAME="ripples",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],ClassName={CONTAINER:"ripple-container",DECORATOR:"ripple-decorator"},Selector={CONTAINER:"."+ClassName.CONTAINER,DECORATOR:"."+ClassName.DECORATOR},Default={container:{template:"<div class='"+ClassName.CONTAINER+"'></div>"},decorator:{template:"<div class='"+ClassName.DECORATOR+"'></div>"},trigger:{start:"mousedown touchstart",end:"mouseup mouseleave touchend"},touchUserAgentRegex:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,duration:500},Ripples=function(){function Ripples($element,config){var _this=this;classCallCheck(this,Ripples),this.$element=$element,this.config=$.extend(!0,{},Default,config),this.$element.on(this.config.trigger.start,function(event){_this._onStartRipple(event)})}return createClass(Ripples,[{key:"dispose",value:function(){this.$element.data(DATA_KEY,null),this.$element=null,this.$container=null,this.$decorator=null,this.config=null}},{key:"_onStartRipple",value:function(event){var _this2=this;if(!this._isTouch()||"mousedown"!==event.type){this._findOrCreateContainer();var relY=this._getRelY(event),relX=this._getRelX(event);(relY||relX)&&(this.$decorator.css({left:relX,top:relY,"background-color":this._getRipplesColor()}),this._forceStyleApplication(),this.rippleOn(),setTimeout(function(){_this2.rippleEnd()},this.config.duration),this.$element.on(this.config.trigger.end,function(){_this2.$decorator&&(_this2.$decorator.data("mousedown","off"),"off"===_this2.$decorator.data("animating")&&_this2.rippleOut())}))}}},{key:"_findOrCreateContainer",value:function(){(!this.$container||!this.$container.length>0)&&(this.$element.append(this.config.container.template),this.$container=this.$element.find(Selector.CONTAINER)),this.$container.append(this.config.decorator.template),this.$decorator=this.$container.find(Selector.DECORATOR)}},{key:"_forceStyleApplication",value:function(){return window.getComputedStyle(this.$decorator[0]).opacity}},{key:"_getRelX",value:function(event){var wrapperOffset=this.$container.offset(),result=null;return this._isTouch()?(event=event.originalEvent,result=1===event.touches.length&&event.touches[0].pageX-wrapperOffset.left):result=event.pageX-wrapperOffset.left,result}},{key:"_getRelY",value:function(event){var containerOffset=this.$container.offset(),result=null;return this._isTouch()?(event=event.originalEvent,result=1===event.touches.length&&event.touches[0].pageY-containerOffset.top):result=event.pageY-containerOffset.top,result}},{key:"_getRipplesColor",value:function(){var color=this.$element.data("ripple-color")?this.$element.data("ripple-color"):window.getComputedStyle(this.$element[0]).color;return color}},{key:"_isTouch",value:function(){return this.config.touchUserAgentRegex.test(navigator.userAgent)}},{key:"rippleEnd",value:function(){this.$decorator&&(this.$decorator.data("animating","off"),"off"===this.$decorator.data("mousedown")&&this.rippleOut(this.$decorator))}},{key:"rippleOut",value:function(){var _this3=this;this.$decorator.off(),Util.transitionEndSupported()?this.$decorator.addClass("ripple-out"):this.$decorator.animate({opacity:0},100,function(){_this3.$decorator.trigger("transitionend")}),this.$decorator.on(Util.transitionEndSelector(),function(){_this3.$decorator&&(_this3.$decorator.remove(),_this3.$decorator=null)})}},{key:"rippleOn",value:function(){var _this4=this,size=this._getNewSize();Util.transitionEndSupported()?this.$decorator.css({"-ms-transform":"scale("+size+")","-moz-transform":"scale("+size+")","-webkit-transform":"scale("+size+")",transform:"scale("+size+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):this.$decorator.animate({width:2*Math.max(this.$element.outerWidth(),this.$element.outerHeight()),height:2*Math.max(this.$element.outerWidth(),this.$element.outerHeight()),"margin-left":Math.max(this.$element.outerWidth(),this.$element.outerHeight())*-1,"margin-top":Math.max(this.$element.outerWidth(),this.$element.outerHeight())*-1,opacity:.2},this.config.duration,function(){_this4.$decorator.trigger("transitionend")})}},{key:"_getNewSize",value:function(){return Math.max(this.$element.outerWidth(),this.$element.outerHeight())/this.$decorator.outerWidth()*2.5}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Ripples($element,config),$element.data(DATA_KEY,data))})}}]),Ripples}();return $.fn[JQUERY_NAME]=Ripples._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Ripples,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Ripples._jQueryInterface},Ripples}(jQuery),function($){var NAME="autofill",DATA_KEY="bmd."+NAME,JQUERY_NAME="bmd"+(NAME.charAt(0).toUpperCase()+NAME.slice(1)),JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={},Autofill=function(_Base){function Autofill($element,config){classCallCheck(this,Autofill);var _this=possibleConstructorReturn(this,Object.getPrototypeOf(Autofill).call(this,$element,$.extend(!0,{},Default,config)));return _this._watchLoading(),_this._attachEventHandlers(),_this}return inherits(Autofill,_Base),createClass(Autofill,[{key:"dispose",value:function(){get(Object.getPrototypeOf(Autofill.prototype),"dispose",this).call(this,DATA_KEY)}},{key:"_watchLoading",value:function(){var _this2=this;setTimeout(function(){clearInterval(_this2._onLoading)},1e4)}},{key:"_onLoading",value:function(){setInterval(function(){$("input[type!=checkbox]").each(function(index,element){var $element=$(element);$element.val()&&$element.val()!==$element.attr("value")&&$element.trigger("change")})},100)}},{key:"_attachEventHandlers",value:function(){var focused=null;$(document).on("focus","input",function(event){var $inputs=$(event.currentTarget).closest("form").find("input").not("[type=file]");focused=setInterval(function(){$inputs.each(function(index,element){var $element=$(element);$element.val()!==$element.attr("value")&&$element.trigger("change")})},100)}).on("blur",".form-group input",function(){clearInterval(focused)})}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new Autofill($element,config),$element.data(DATA_KEY,data))})}}]),Autofill}(Base);return $.fn[JQUERY_NAME]=Autofill._jQueryInterface,$.fn[JQUERY_NAME].Constructor=Autofill,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,Autofill._jQueryInterface},Autofill}(jQuery),function($){var NAME="bootstrapMaterialDesign",DATA_KEY="bmd."+NAME,JQUERY_NAME=NAME,JQUERY_NO_CONFLICT=$.fn[JQUERY_NAME],Default={global:{validate:!1,label:{className:"bmd-label-static"}},autofill:{selector:"body"},checkbox:{selector:".checkbox > label > input[type=checkbox]"},checkboxInline:{selector:"label.checkbox-inline > input[type=checkbox]"},collapseInline:{selector:'.bmd-collapse-inline [data-toggle="collapse"]'},drawer:{selector:".bmd-layout-drawer"},file:{selector:"input[type=file]"},radio:{selector:".radio > label > input[type=radio]"},radioInline:{selector:"label.radio-inline > input[type=radio]"},ripples:{selector:[".btn:not(.btn-link):not(.ripple-none)",".card-image:not(.ripple-none)",".navbar a:not(.ripple-none)",".dropdown-menu a:not(.ripple-none)",".nav-tabs a:not(.ripple-none)",".pagination li:not(.active):not(.disabled) a:not(.ripple-none)",".ripple"]},select:{selector:["select"]},"switch":{selector:".switch > label > input[type=checkbox]"},text:{selector:["input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])"]},textarea:{selector:["textarea"]},arrive:!0,instantiation:["ripples","checkbox","checkboxInline","collapseInline","drawer","radio","radioInline","switch","text","textarea","select","autofill"]},BootstrapMaterialDesign=function(){function BootstrapMaterialDesign($element,config){var _this=this;classCallCheck(this,BootstrapMaterialDesign),this.$element=$element,this.config=$.extend(!0,{},Default,config);var $document=$(document),_iteratorNormalCompletion=!0,_didIteratorError=!1,_iteratorError=void 0;try{for(var _step,_loop=function(){var component=_step.value,componentConfig=_this.config[component];componentConfig&&!function(){var selector=_this._resolveSelector(componentConfig);componentConfig=$.extend(!0,{},_this.config.global,componentConfig);var componentName=""+(component.charAt(0).toUpperCase()+component.slice(1)),jqueryFn="bmd"+componentName;try{$(selector)[jqueryFn](componentConfig),document.arrive&&_this.config.arrive&&$document.arrive(selector,function(){$(this)[jqueryFn](componentConfig)})}catch(e){var message="Failed to instantiate component: $('"+selector+"')["+jqueryFn+"]("+componentConfig+")";throw console.error(message,e,"\nSelected elements: ",$(selector)),e}}()},_iterator=this.config.instantiation[Symbol.iterator]();!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=!0)_loop()}catch(err){_didIteratorError=!0,_iteratorError=err}finally{try{!_iteratorNormalCompletion&&_iterator["return"]&&_iterator["return"]()}finally{if(_didIteratorError)throw _iteratorError}}}return createClass(BootstrapMaterialDesign,[{key:"dispose",value:function(){this.$element.data(DATA_KEY,null),this.$element=null,this.config=null}},{key:"_resolveSelector",value:function(componentConfig){var selector=componentConfig.selector;return Array.isArray(selector)&&(selector=selector.join(", ")),selector}}],[{key:"_jQueryInterface",value:function(config){return this.each(function(){var $element=$(this),data=$element.data(DATA_KEY);data||(data=new BootstrapMaterialDesign($element,config),$element.data(DATA_KEY,data))})}}]),BootstrapMaterialDesign}();return $.fn[JQUERY_NAME]=BootstrapMaterialDesign._jQueryInterface,$.fn[JQUERY_NAME].Constructor=BootstrapMaterialDesign,$.fn[JQUERY_NAME].noConflict=function(){return $.fn[JQUERY_NAME]=JQUERY_NO_CONFLICT,BootstrapMaterialDesign._jQueryInterface},BootstrapMaterialDesign}(jQuery)}(); \ No newline at end of file
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css
new file mode 100644
index 0000000..6e15f81
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.min.css
@@ -0,0 +1,3 @@
+.card{font-size:.875rem;font-weight:400}
+
+/*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit}optgroup{font-weight:700}button,input,select{overflow:visible}button,input,select,textarea{margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{cursor:pointer}[disabled]{cursor:default}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}@media print{*,:after,:before,:first-letter,:first-line{text-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.custom-file-control:before>.caret,.dropup>.btn>.caret,.dropup>.custom-file-control:before>.caret{border-top-color:#000!important}.tag{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}@-ms-viewport{width:device-width}html{font-size:16px;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}body{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.5;color:rgba(0,0,0,.87);background-color:#fafafa}[tabindex="-1"]:focus{outline:none!important}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted rgba(0,0,0,.26)}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}a{color:#009688;text-decoration:none}a:focus,a:hover{color:#004a43;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:none}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle}[role=button]{cursor:pointer}[role=button],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation;touch-action:manipulation}table{border-collapse:collapse;background-color:transparent}caption{padding-top:.75rem;padding-bottom:.75rem;color:rgba(0,0,0,.26);caption-side:bottom}caption,th{text-align:left}label{display:inline-block;margin-bottom:.5rem}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,select,textarea{margin:0;line-height:inherit;border-radius:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit}input[type=search]{-webkit-appearance:none}output{display:inline-block}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.25rem;font-family:inherit;font-weight:400;line-height:1.1;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:7rem;font-weight:300}.display-2{font-size:3.5rem;font-weight:300}.display-3{font-size:2.8125rem;font-weight:300}.display-4{font-size:2.125rem;font-weight:300}hr{margin-top:.5rem;margin-bottom:.5rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#ff5722}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:5px}.initialism{font-size:90%;text-transform:uppercase}.blockquote{padding:.25rem .5rem;margin-bottom:.5rem;font-size:1.25rem;border-left:.25rem solid rgba(0,0,0,.12)}.blockquote-footer{display:block;font-size:80%;color:rgba(0,0,0,.26)}.blockquote-footer:before{content:"\2014 \00A0"}.blockquote-reverse{padding-right:.5rem;padding-left:0;text-align:right;border-right:.25rem solid rgba(0,0,0,.12);border-left:0}.blockquote-reverse .blockquote-footer:before{content:""}.blockquote-reverse .blockquote-footer:after{content:"\00A0 \2014"}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img,.img-fluid{display:block;max-width:100%;height:auto}.img-rounded{border-radius:.3rem}.img-thumbnail{padding:.25rem;background-color:#fafafa;border:1px solid #ddd;border-radius:.125rem;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;box-shadow:0 1px 2px rgba(0,0,0,.075);display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}.figure{display:inline-block}.figure-img{margin-bottom:.25rem;line-height:1}.figure-caption{font-size:90%;color:rgba(0,0,0,.26)}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}code{color:#bd4147;background-color:#eee;border-radius:.125rem}code,kbd{padding:.2rem .4rem;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:.0625rem;box-shadow:inset 0 -.1rem 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;margin-top:0;margin-bottom:1rem;font-size:90%;color:rgba(0,0,0,.87)}pre code{padding:0;font-size:inherit;color:inherit;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:544px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:940px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px;width:100%}.col-xs{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xs-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xs-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xs-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xs-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xs-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xs-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xs-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xs-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xs-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xs-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xs-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xs-0{right:auto}.pull-xs-1{right:8.33333%}.pull-xs-2{right:16.66667%}.pull-xs-3{right:25%}.pull-xs-4{right:33.33333%}.pull-xs-5{right:41.66667%}.pull-xs-6{right:50%}.pull-xs-7{right:58.33333%}.pull-xs-8{right:66.66667%}.pull-xs-9{right:75%}.pull-xs-10{right:83.33333%}.pull-xs-11{right:91.66667%}.pull-xs-12{right:100%}.push-xs-0{left:auto}.push-xs-1{left:8.33333%}.push-xs-2{left:16.66667%}.push-xs-3{left:25%}.push-xs-4{left:33.33333%}.push-xs-5{left:41.66667%}.push-xs-6{left:50%}.push-xs-7{left:58.33333%}.push-xs-8{left:66.66667%}.push-xs-9{left:75%}.push-xs-10{left:83.33333%}.push-xs-11{left:91.66667%}.push-xs-12{left:100%}.offset-xs-1{margin-left:8.33333%}.offset-xs-2{margin-left:16.66667%}.offset-xs-3{margin-left:25%}.offset-xs-4{margin-left:33.33333%}.offset-xs-5{margin-left:41.66667%}.offset-xs-6{margin-left:50%}.offset-xs-7{margin-left:58.33333%}.offset-xs-8{margin-left:66.66667%}.offset-xs-9{margin-left:75%}.offset-xs-10{margin-left:83.33333%}.offset-xs-11{margin-left:91.66667%}@media (min-width:544px){.col-sm{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-sm-0{right:auto}.pull-sm-1{right:8.33333%}.pull-sm-2{right:16.66667%}.pull-sm-3{right:25%}.pull-sm-4{right:33.33333%}.pull-sm-5{right:41.66667%}.pull-sm-6{right:50%}.pull-sm-7{right:58.33333%}.pull-sm-8{right:66.66667%}.pull-sm-9{right:75%}.pull-sm-10{right:83.33333%}.pull-sm-11{right:91.66667%}.pull-sm-12{right:100%}.push-sm-0{left:auto}.push-sm-1{left:8.33333%}.push-sm-2{left:16.66667%}.push-sm-3{left:25%}.push-sm-4{left:33.33333%}.push-sm-5{left:41.66667%}.push-sm-6{left:50%}.push-sm-7{left:58.33333%}.push-sm-8{left:66.66667%}.push-sm-9{left:75%}.push-sm-10{left:83.33333%}.push-sm-11{left:91.66667%}.push-sm-12{left:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-md-0{right:auto}.pull-md-1{right:8.33333%}.pull-md-2{right:16.66667%}.pull-md-3{right:25%}.pull-md-4{right:33.33333%}.pull-md-5{right:41.66667%}.pull-md-6{right:50%}.pull-md-7{right:58.33333%}.pull-md-8{right:66.66667%}.pull-md-9{right:75%}.pull-md-10{right:83.33333%}.pull-md-11{right:91.66667%}.pull-md-12{right:100%}.push-md-0{left:auto}.push-md-1{left:8.33333%}.push-md-2{left:16.66667%}.push-md-3{left:25%}.push-md-4{left:33.33333%}.push-md-5{left:41.66667%}.push-md-6{left:50%}.push-md-7{left:58.33333%}.push-md-8{left:66.66667%}.push-md-9{left:75%}.push-md-10{left:83.33333%}.push-md-11{left:91.66667%}.push-md-12{left:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-lg-0{right:auto}.pull-lg-1{right:8.33333%}.pull-lg-2{right:16.66667%}.pull-lg-3{right:25%}.pull-lg-4{right:33.33333%}.pull-lg-5{right:41.66667%}.pull-lg-6{right:50%}.pull-lg-7{right:58.33333%}.pull-lg-8{right:66.66667%}.pull-lg-9{right:75%}.pull-lg-10{right:83.33333%}.pull-lg-11{right:91.66667%}.pull-lg-12{right:100%}.push-lg-0{left:auto}.push-lg-1{left:8.33333%}.push-lg-2{left:16.66667%}.push-lg-3{left:25%}.push-lg-4{left:33.33333%}.push-lg-5{left:41.66667%}.push-lg-6{left:50%}.push-lg-7{left:58.33333%}.push-lg-8{left:66.66667%}.push-lg-9{left:75%}.push-lg-10{left:83.33333%}.push-lg-11{left:91.66667%}.push-lg-12{left:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{position:relative;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.pull-xl-0{right:auto}.pull-xl-1{right:8.33333%}.pull-xl-2{right:16.66667%}.pull-xl-3{right:25%}.pull-xl-4{right:33.33333%}.pull-xl-5{right:41.66667%}.pull-xl-6{right:50%}.pull-xl-7{right:58.33333%}.pull-xl-8{right:66.66667%}.pull-xl-9{right:75%}.pull-xl-10{right:83.33333%}.pull-xl-11{right:91.66667%}.pull-xl-12{right:100%}.push-xl-0{left:auto}.push-xl-1{left:8.33333%}.push-xl-2{left:16.66667%}.push-xl-3{left:25%}.push-xl-4{left:33.33333%}.push-xl-5{left:41.66667%}.push-xl-6{left:50%}.push-xl-7{left:58.33333%}.push-xl-8{left:66.66667%}.push-xl-9{left:75%}.push-xl-10{left:83.33333%}.push-xl-11{left:91.66667%}.push-xl-12{left:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;max-width:100%;margin-bottom:.5rem}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid rgba(0,0,0,.12)}.table thead th{vertical-align:bottom;border-bottom:2px solid rgba(0,0,0,.12)}.table tbody+tbody{border-top:2px solid rgba(0,0,0,.12)}.table .table{background-color:#fafafa}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid rgba(0,0,0,.12)}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th,.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-success,.table-success>td,.table-success>th{background-color:#4caf50}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#449d48}.table-info,.table-info>td,.table-info>th{background-color:#03a9f4}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#0398db}.table-warning,.table-warning>td,.table-warning>th{background-color:#ff5722}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ff4409}.table-danger,.table-danger>td,.table-danger>th{background-color:#f44336}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f32c1e}.thead-inverse th{color:#fff;background-color:rgba(0,0,0,.87)}.thead-default th{color:rgba(0,0,0,.54);background-color:rgba(0,0,0,.12)}.table-inverse{color:rgba(0,0,0,.12);background-color:rgba(0,0,0,.87)}.table-inverse td,.table-inverse th,.table-inverse thead th{border-color:rgba(0,0,0,.54)}.table-inverse.table-bordered{border:0}.table-responsive{display:block;width:100%;min-height:.01%;overflow-x:auto}.table-reflow thead{float:left}.table-reflow tbody{display:block;white-space:nowrap}.table-reflow td,.table-reflow th{border-top:1px solid rgba(0,0,0,.12);border-left:1px solid rgba(0,0,0,.12)}.table-reflow td:last-child,.table-reflow th:last-child{border-right:1px solid rgba(0,0,0,.12)}.table-reflow tbody:last-child tr:last-child td,.table-reflow tbody:last-child tr:last-child th,.table-reflow tfoot:last-child tr:last-child td,.table-reflow tfoot:last-child tr:last-child th,.table-reflow thead:last-child tr:last-child td,.table-reflow thead:last-child tr:last-child th{border-bottom:1px solid rgba(0,0,0,.12)}.table-reflow tr{float:left}.table-reflow tr td,.table-reflow tr th{display:block!important;border:1px solid rgba(0,0,0,.12)}.custom-file-control,.form-control{display:block;width:100%;padding:.4375rem 0;font-size:1rem;line-height:1.25;color:rgba(0,0,0,.54);background-color:transparent;background-image:none;background-clip:padding-box;border:1px solid rgba(0,0,0,.26);border-radius:0;box-shadow:none}.custom-file-control::-ms-expand,.form-control::-ms-expand{background-color:transparent;border:0}.custom-file-control:focus,.form-control:focus{color:rgba(0,0,0,.54);background-color:transparent;border-color:#66afe9;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px none}.custom-file-control::-webkit-input-placeholder,.form-control::-webkit-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control::-moz-placeholder,.form-control::-moz-placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control:-ms-input-placeholder,.form-control:-ms-input-placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control::placeholder,.form-control::placeholder{color:rgba(0,0,0,.26);opacity:1}.custom-file-control:disabled,.form-control:disabled,.form-control[readonly],[readonly].custom-file-control{background-color:transparent;opacity:1}.custom-file-control:disabled,.form-control:disabled{cursor:not-allowed}select.custom-file-control:not([size]):not([multiple]),select.form-control:not([size]):not([multiple]){height:2.375rem}select.custom-file-control:focus::-ms-value,select.form-control:focus::-ms-value{color:rgba(0,0,0,.54);background-color:transparent}.form-control-file,.form-control-range{display:block}.col-form-label{padding-top:.4375rem;padding-bottom:.4375rem;margin-bottom:0}.col-form-label-lg{padding-top:.5625rem;padding-bottom:.5625rem;font-size:1.25rem}.col-form-label-sm{padding-top:.25rem;padding-bottom:.25rem;font-size:.875rem}.col-form-legend{font-size:1rem}.col-form-legend,.form-control-static{padding-top:.4375rem;padding-bottom:.4375rem;margin-bottom:0}.form-control-static{min-height:2.375rem}.form-control-static.form-control-lg,.form-control-static.form-control-sm,.input-group-lg>.form-control-static.custom-file-control,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-lg>.input-group-btn>.form-control-static.custom-file-control:before,.input-group-sm>.form-control-static.custom-file-control,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn,.input-group-sm>.input-group-btn>.form-control-static.custom-file-control:before{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.custom-file-control,.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-group-sm>.input-group-btn>.custom-file-control:before{padding:.25rem 0;font-size:.875rem;border-radius:.0625rem}.input-group-sm>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-btn>select.custom-file-control:not([size]):not([multiple]):before,.input-group-sm>select.custom-file-control:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),.input-group-sm>select.input-group-addon:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:1.8125rem}.form-control-lg,.input-group-lg>.custom-file-control,.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-group-lg>.input-group-btn>.custom-file-control:before{padding:.5625rem 0;font-size:1.25rem;border-radius:.3rem}.input-group-lg>.input-group-btn>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-btn>select.custom-file-control:not([size]):not([multiple]):before,.input-group-lg>select.custom-file-control:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),.input-group-lg>select.input-group-addon:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:2.79167rem}.form-group{margin-bottom:.5rem}.form-text{display:block;margin-top:.125rem}.form-check{position:relative;display:block;margin-bottom:.375rem}.form-check+.form-check{margin-top:-.25rem}.form-check.disabled .form-check-label{color:rgba(0,0,0,.26);cursor:not-allowed}.form-check-label{padding-left:1.25rem;margin-bottom:0;cursor:pointer}.form-check-input{position:absolute;margin-top:.25rem;margin-left:-1.25rem}.form-check-input:only-child{position:static}.form-check-inline{position:relative;display:inline-block;padding-left:1.25rem;margin-bottom:0;vertical-align:middle;cursor:pointer}.form-check-inline+.form-check-inline{margin-left:.75rem}.form-check-inline.disabled{cursor:not-allowed}.form-control-feedback{margin-top:.125rem}.form-control-danger,.form-control-success,.form-control-warning{padding-right:0;background-repeat:no-repeat;background-position:center right .59375rem;background-size:1.1875rem 1.1875rem}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .custom-control,.has-success .form-control-feedback,.has-success .form-control-label,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#4caf50}.has-success .custom-file-control,.has-success .form-control{border-color:#4caf50}.has-success .input-group-addon{color:#4caf50;border-color:#4caf50;background-color:#d9eeda}.has-success .form-control-feedback{color:#4caf50}.has-success .form-control-success{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .custom-control,.has-warning .form-control-feedback,.has-warning .form-control-label,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#ff5722}.has-warning .custom-file-control,.has-warning .form-control{border-color:#ff5722}.has-warning .input-group-addon{color:#ff5722;border-color:#ff5722;background-color:#fff2ee}.has-warning .form-control-feedback{color:#ff5722}.has-warning .form-control-warning{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .checkbox,.has-danger .checkbox-inline,.has-danger.checkbox-inline label,.has-danger.checkbox label,.has-danger .custom-control,.has-danger .form-control-feedback,.has-danger .form-control-label,.has-danger .radio,.has-danger .radio-inline,.has-danger.radio-inline label,.has-danger.radio label{color:#f44336}.has-danger .custom-file-control,.has-danger .form-control{border-color:#f44336}.has-danger .input-group-addon{color:#f44336;border-color:#f44336;background-color:#fff8f7}.has-danger .form-control-feedback{color:#f44336}.has-danger .form-control-danger{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}@media (min-width:544px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .custom-file-control,.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .custom-file-control,.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.custom-file-control,.form-inline .input-group>.form-control{width:100%}.form-inline .form-check,.form-inline .form-control-label{margin-bottom:0;vertical-align:middle}.form-inline .form-check{display:inline-block;margin-top:0}.form-inline .form-check-label{padding-left:0}.form-inline .form-check-input{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.btn,.custom-file-control:before{display:inline-block;font-weight:500;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.46875rem 1rem;font-size:1rem;border-radius:.125rem}.active.custom-file-control:focus:before,.active.focus.custom-file-control:before,.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus,.custom-file-control:active.focus:before,.custom-file-control:active:focus:before,.custom-file-control:focus:before,.focus.custom-file-control:before{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover,.custom-file-control:focus:before,.custom-file-control:hover:before,.focus.custom-file-control:before{text-decoration:none}.active.custom-file-control:before,.btn.active,.btn:active,.custom-file-control:active:before{background-image:none;outline:0;box-shadow:none}.btn.disabled,.btn:disabled,.custom-file-control:disabled:before,.disabled.custom-file-control:before{cursor:not-allowed;opacity:.65;box-shadow:none}a.btn.disabled,a.disabled.custom-file-control:before,fieldset[disabled] a.btn,fieldset[disabled] a.custom-file-control:before{pointer-events:none}.btn-primary{color:#fff;background-color:#009688;border-color:#009688;box-shadow:none}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#00635a;border-color:#005951}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#00635a;border-color:#005951;background-image:none;box-shadow:none}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#003f39;border-color:#001714}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary:disabled.focus,.btn-primary:disabled:focus,.btn-primary:disabled:hover{background-color:#009688;border-color:#009688}.btn-secondary{color:rgba(0,0,0,.87);background-color:#fafafa;border-color:#ccc;box-shadow:none}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{color:rgba(0,0,0,.87);background-color:#e1e1e1;border-color:#adadad}.btn-secondary.active,.btn-secondary:active,.open>.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:#e1e1e1;border-color:#adadad;background-image:none;box-shadow:none}.btn-secondary.active.focus,.btn-secondary.active:focus,.btn-secondary.active:hover,.btn-secondary:active.focus,.btn-secondary:active:focus,.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.focus,.open>.btn-secondary.dropdown-toggle:focus,.open>.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:#cfcfcf;border-color:#8c8c8c}.btn-secondary.disabled.focus,.btn-secondary.disabled:focus,.btn-secondary.disabled:hover,.btn-secondary:disabled.focus,.btn-secondary:disabled:focus,.btn-secondary:disabled:hover{background-color:#fafafa;border-color:#ccc}.btn-info{color:#fff;background-color:#03a9f4;border-color:#03a9f4;box-shadow:none}.btn-info.focus,.btn-info:focus,.btn-info:hover{color:#fff;background-color:#0286c2;border-color:#027fb8}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#0286c2;border-color:#027fb8;background-image:none;box-shadow:none}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#026e9e;border-color:#015276}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info:disabled.focus,.btn-info:disabled:focus,.btn-info:disabled:hover{background-color:#03a9f4;border-color:#03a9f4}.btn-success{color:#fff;background-color:#4caf50;border-color:#4caf50;box-shadow:none}.btn-success.focus,.btn-success:focus,.btn-success:hover{color:#fff;background-color:#3d8b40;border-color:#39843c}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#3d8b40;border-color:#39843c;background-image:none;box-shadow:none}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#327334;border-color:#255627}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success:disabled.focus,.btn-success:disabled:focus,.btn-success:disabled:hover{background-color:#4caf50;border-color:#4caf50}.btn-warning{color:#fff;background-color:#ff5722;border-color:#ff5722;box-shadow:none}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{color:#fff;background-color:#ee3900;border-color:#e43700}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ee3900;border-color:#e43700;background-image:none;box-shadow:none}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#ca3100;border-color:#a22700}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning:disabled.focus,.btn-warning:disabled:focus,.btn-warning:disabled:hover{background-color:#ff5722;border-color:#ff5722}.btn-danger{color:#fff;background-color:#f44336;border-color:#f44336;box-shadow:none}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{color:#fff;background-color:#ea1c0d;border-color:#e11b0c}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#ea1c0d;border-color:#e11b0c;background-image:none;box-shadow:none}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#c8180b;border-color:#a21309}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger:disabled.focus,.btn-danger:disabled:focus,.btn-danger:disabled:hover{background-color:#f44336;border-color:#f44336}.btn-outline-primary{color:#009688;background-image:none;background-color:transparent;border-color:#009688}.btn-outline-primary.active,.btn-outline-primary.focus,.btn-outline-primary:active,.btn-outline-primary:focus,.btn-outline-primary:hover,.open>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#009688;border-color:#009688}.btn-outline-primary.active.focus,.btn-outline-primary.active:focus,.btn-outline-primary.active:hover,.btn-outline-primary:active.focus,.btn-outline-primary:active:focus,.btn-outline-primary:active:hover,.open>.btn-outline-primary.dropdown-toggle.focus,.open>.btn-outline-primary.dropdown-toggle:focus,.open>.btn-outline-primary.dropdown-toggle:hover{color:#fff;background-color:#003f39;border-color:#001714}.btn-outline-primary.disabled.focus,.btn-outline-primary.disabled:focus,.btn-outline-primary.disabled:hover,.btn-outline-primary:disabled.focus,.btn-outline-primary:disabled:focus,.btn-outline-primary:disabled:hover{border-color:#00fce4}.btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.btn-outline-secondary.active,.btn-outline-secondary.focus,.btn-outline-secondary:active,.btn-outline-secondary:focus,.btn-outline-secondary:hover,.open>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.btn-outline-secondary.active.focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.active:hover,.btn-outline-secondary:active.focus,.btn-outline-secondary:active:focus,.btn-outline-secondary:active:hover,.open>.btn-outline-secondary.dropdown-toggle.focus,.open>.btn-outline-secondary.dropdown-toggle:focus,.open>.btn-outline-secondary.dropdown-toggle:hover{color:#fff;background-color:#a1a1a1;border-color:#8c8c8c}.btn-outline-secondary.disabled.focus,.btn-outline-secondary.disabled:focus,.btn-outline-secondary.disabled:hover,.btn-outline-secondary:disabled.focus,.btn-outline-secondary:disabled:focus,.btn-outline-secondary:disabled:hover{border-color:#fff}.btn-outline-info{color:#03a9f4;background-image:none;background-color:transparent;border-color:#03a9f4}.btn-outline-info.active,.btn-outline-info.focus,.btn-outline-info:active,.btn-outline-info:focus,.btn-outline-info:hover,.open>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#03a9f4;border-color:#03a9f4}.btn-outline-info.active.focus,.btn-outline-info.active:focus,.btn-outline-info.active:hover,.btn-outline-info:active.focus,.btn-outline-info:active:focus,.btn-outline-info:active:hover,.open>.btn-outline-info.dropdown-toggle.focus,.open>.btn-outline-info.dropdown-toggle:focus,.open>.btn-outline-info.dropdown-toggle:hover{color:#fff;background-color:#026e9e;border-color:#015276}.btn-outline-info.disabled.focus,.btn-outline-info.disabled:focus,.btn-outline-info.disabled:hover,.btn-outline-info:disabled.focus,.btn-outline-info:disabled:focus,.btn-outline-info:disabled:hover{border-color:#60ccfd}.btn-outline-success{color:#4caf50;background-image:none;background-color:transparent;border-color:#4caf50}.btn-outline-success.active,.btn-outline-success.focus,.btn-outline-success:active,.btn-outline-success:focus,.btn-outline-success:hover,.open>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#4caf50;border-color:#4caf50}.btn-outline-success.active.focus,.btn-outline-success.active:focus,.btn-outline-success.active:hover,.btn-outline-success:active.focus,.btn-outline-success:active:focus,.btn-outline-success:active:hover,.open>.btn-outline-success.dropdown-toggle.focus,.open>.btn-outline-success.dropdown-toggle:focus,.open>.btn-outline-success.dropdown-toggle:hover{color:#fff;background-color:#327334;border-color:#255627}.btn-outline-success.disabled.focus,.btn-outline-success.disabled:focus,.btn-outline-success.disabled:hover,.btn-outline-success:disabled.focus,.btn-outline-success:disabled:focus,.btn-outline-success:disabled:hover{border-color:#92cf94}.btn-outline-warning{color:#ff5722;background-image:none;background-color:transparent;border-color:#ff5722}.btn-outline-warning.active,.btn-outline-warning.focus,.btn-outline-warning:active,.btn-outline-warning:focus,.btn-outline-warning:hover,.open>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#ff5722;border-color:#ff5722}.btn-outline-warning.active.focus,.btn-outline-warning.active:focus,.btn-outline-warning.active:hover,.btn-outline-warning:active.focus,.btn-outline-warning:active:focus,.btn-outline-warning:active:hover,.open>.btn-outline-warning.dropdown-toggle.focus,.open>.btn-outline-warning.dropdown-toggle:focus,.open>.btn-outline-warning.dropdown-toggle:hover{color:#fff;background-color:#ca3100;border-color:#a22700}.btn-outline-warning.disabled.focus,.btn-outline-warning.disabled:focus,.btn-outline-warning.disabled:hover,.btn-outline-warning:disabled.focus,.btn-outline-warning:disabled:focus,.btn-outline-warning:disabled:hover{border-color:#ffa588}.btn-outline-danger{color:#f44336;background-image:none;background-color:transparent;border-color:#f44336}.btn-outline-danger.active,.btn-outline-danger.focus,.btn-outline-danger:active,.btn-outline-danger:focus,.btn-outline-danger:hover,.open>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#f44336;border-color:#f44336}.btn-outline-danger.active.focus,.btn-outline-danger.active:focus,.btn-outline-danger.active:hover,.btn-outline-danger:active.focus,.btn-outline-danger:active:focus,.btn-outline-danger:active:hover,.open>.btn-outline-danger.dropdown-toggle.focus,.open>.btn-outline-danger.dropdown-toggle:focus,.open>.btn-outline-danger.dropdown-toggle:hover{color:#fff;background-color:#c8180b;border-color:#a21309}.btn-outline-danger.disabled.focus,.btn-outline-danger.disabled:focus,.btn-outline-danger.disabled:hover,.btn-outline-danger:disabled.focus,.btn-outline-danger:disabled:focus,.btn-outline-danger:disabled:hover{border-color:#f99d97}.btn-link{font-weight:400;color:#009688;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link:disabled{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#004a43;text-decoration:underline;background-color:transparent}.btn-link:disabled:focus,.btn-link:disabled:hover{color:rgba(0,0,0,.26);text-decoration:none}.btn-group-lg>.btn,.btn-group-lg>.custom-file-control:before,.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-group-sm>.custom-file-control:before,.btn-sm{padding:.40625rem .5rem;font-size:.875rem;border-radius:.0625rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height;transition-property:height}.collapsing,.dropdown,.dropup{position:relative}.dropdown-toggle:after{display:inline-block;width:0;height:0;margin-left:.3em;vertical-align:middle;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-left:.3em solid transparent}.dropdown-toggle:focus{outline:0}.dropup .dropdown-toggle:after{border-top:0;border-bottom:.3em solid}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:1rem;color:rgba(0,0,0,.87);text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.125rem;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.dropdown-divider{height:1px;margin:.25rem 0;overflow:hidden;background-color:#e5e5e5}.dropdown-item{display:block;width:100%;padding:3px 20px;clear:both;font-weight:400;color:rgba(0,0,0,.87);text-align:inherit;white-space:nowrap;background:none;border:0}.dropdown-item:focus,.dropdown-item:hover{color:rgba(0,0,0,.87);text-decoration:none;background-color:#f5f5f5}.dropdown-item.active,.dropdown-item.active:focus,.dropdown-item.active:hover{color:#fff;text-decoration:none;background-color:#009688;outline:0}.dropdown-item.disabled,.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{color:rgba(0,0,0,.26)}.dropdown-item.disabled:focus,.dropdown-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:"progid:DXImageTransform.Microsoft.gradient(enabled = false)"}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:5px 20px;font-size:.875rem;color:rgba(0,0,0,.26);white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:.3em solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group-vertical>.custom-file-control:before,.btn-group>.btn,.btn-group>.custom-file-control:before{position:relative;float:left}.btn-group-vertical>.active.custom-file-control:before,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group-vertical>.custom-file-control:active:before,.btn-group-vertical>.custom-file-control:focus:before,.btn-group-vertical>.custom-file-control:hover:before,.btn-group>.active.custom-file-control:before,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover,.btn-group>.custom-file-control:active:before,.btn-group>.custom-file-control:focus:before,.btn-group>.custom-file-control:hover:before{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn+.custom-file-control:before,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group .btn-group+.custom-file-control:before,.btn-group .custom-file-control:before+.btn,.btn-group .custom-file-control:before+.btn-group,.btn-group .custom-file-control:before+.custom-file-control:before{margin-left:-1px}.btn-toolbar{margin-left:-.5rem}.btn-toolbar:after{content:"";display:table;clear:both}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.custom-file-control:before,.btn-toolbar>.input-group{margin-left:.5rem}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.btn-group>.custom-file-control:not(:first-child):not(:last-child):not(.dropdown-toggle):before{border-radius:0}.btn-group>.btn:first-child,.btn-group>.custom-file-control:first-child:before{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),.btn-group>.custom-file-control:first-child:not(:last-child):not(.dropdown-toggle):before{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.custom-file-control:last-child:not(:first-child):before,.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group>.btn-group:not(:first-child):not(:last-child)>.custom-file-control:before{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.custom-file-control:last-child:before,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group>.btn-group:last-child:not(:first-child)>.custom-file-control:first-child:before{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn+.dropdown-toggle-split,.custom-file-control:before+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn+.dropdown-toggle-split:after,.custom-file-control:before+.dropdown-toggle-split:after{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-group-sm>.custom-file-control:before+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-group-lg>.custom-file-control:before+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:1.125rem;padding-left:1.125rem}.btn-group.open .dropdown-toggle,.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret,.custom-file-control:before .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-group-lg>.custom-file-control:before .caret,.btn-lg .caret{border-width:.3em .3em 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-group-lg>.custom-file-control:before .caret,.dropup .btn-lg .caret{border-width:0 .3em .3em}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn,.btn-group-vertical>.btn-group>.custom-file-control:before,.btn-group-vertical>.custom-file-control:before{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after{content:"";display:table;clear:both}.btn-group-vertical>.btn-group>.btn,.btn-group-vertical>.btn-group>.custom-file-control:before{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn+.custom-file-control:before,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group,.btn-group-vertical>.btn-group+.custom-file-control:before,.btn-group-vertical>.custom-file-control:before+.btn,.btn-group-vertical>.custom-file-control:before+.btn-group,.btn-group-vertical>.custom-file-control:before+.custom-file-control:before{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child),.btn-group-vertical>.custom-file-control:not(:first-child):not(:last-child):before{border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child),.btn-group-vertical>.custom-file-control:first-child:not(:last-child):before{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child),.btn-group-vertical>.custom-file-control:last-child:not(:first-child):before{border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.custom-file-control:before{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.custom-file-control:last-child:before,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child,.btn-group-vertical>.btn-group:last-child:not(:first-child)>.custom-file-control:first-child:before{border-top-right-radius:0;border-top-left-radius:0}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.custom-file-control:before input[type=checkbox],[data-toggle=buttons]>.btn-group>.custom-file-control:before input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.custom-file-control:before input[type=checkbox],[data-toggle=buttons]>.custom-file-control:before input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.input-group .custom-file-control,.input-group .form-control{position:relative;z-index:2;-webkit-box-flex:1;-ms-flex:1;flex:1;margin-bottom:0}.input-group .custom-file-control:active,.input-group .custom-file-control:focus,.input-group .custom-file-control:hover,.input-group .form-control:active,.input-group .form-control:focus,.input-group .form-control:hover{z-index:3}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .custom-file-control:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{white-space:nowrap;vertical-align:middle}.input-group-addon{padding:.4375rem 0;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.25;color:rgba(0,0,0,.54);text-align:center;background-color:transparent;border:1px solid transparent;border-radius:0}.input-group-addon.form-control-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn,.input-group-sm>.input-group-btn>.input-group-addon.custom-file-control:before{padding:.25rem 0;font-size:.875rem;border-radius:.0625rem}.input-group-addon.form-control-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn,.input-group-lg>.input-group-btn>.input-group-addon.custom-file-control:before{padding:.5625rem 0;font-size:1.25rem;border-radius:.3rem}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:not(:last-child),.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.btn,.input-group-btn:not(:first-child)>.btn-group:not(:last-child)>.custom-file-control:before,.input-group-btn:not(:first-child)>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:not(:first-child)>.custom-file-control:not(:last-child):not(.dropdown-toggle):before,.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group>.btn,.input-group-btn:not(:last-child)>.btn-group>.custom-file-control:before,.input-group-btn:not(:last-child)>.custom-file-control:before,.input-group-btn:not(:last-child)>.dropdown-toggle,.input-group .custom-file-control:not(:last-child),.input-group .form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:not(:last-child){border-right:0}.input-group-addon:not(:first-child),.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group>.btn,.input-group-btn:not(:first-child)>.btn-group>.custom-file-control:before,.input-group-btn:not(:first-child)>.custom-file-control:before,.input-group-btn:not(:first-child)>.dropdown-toggle,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.btn,.input-group-btn:not(:last-child)>.btn-group:not(:first-child)>.custom-file-control:before,.input-group-btn:not(:last-child)>.btn:not(:first-child),.input-group-btn:not(:last-child)>.custom-file-control:not(:first-child):before,.input-group .custom-file-control:not(:first-child),.input-group .form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.custom-file-control+.input-group-addon:not(:first-child),.form-control+.input-group-addon:not(:first-child){border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn,.input-group-btn>.custom-file-control:before{position:relative}.input-group-btn>.btn+.btn,.input-group-btn>.btn+.custom-file-control:before,.input-group-btn>.custom-file-control:before+.btn,.input-group-btn>.custom-file-control:before+.custom-file-control:before{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover,.input-group-btn>.custom-file-control:active:before,.input-group-btn>.custom-file-control:focus:before,.input-group-btn>.custom-file-control:hover:before{z-index:3}.input-group-btn:not(:last-child)>.btn,.input-group-btn:not(:last-child)>.btn-group,.input-group-btn:not(:last-child)>.custom-file-control:before{margin-right:-1px}.input-group-btn:not(:first-child)>.btn,.input-group-btn:not(:first-child)>.btn-group,.input-group-btn:not(:first-child)>.custom-file-control:before{z-index:2;margin-left:-1px}.input-group-btn:not(:first-child)>.btn-group:active,.input-group-btn:not(:first-child)>.btn-group:focus,.input-group-btn:not(:first-child)>.btn-group:hover,.input-group-btn:not(:first-child)>.btn:active,.input-group-btn:not(:first-child)>.btn:focus,.input-group-btn:not(:first-child)>.btn:hover,.input-group-btn:not(:first-child)>.custom-file-control:active:before,.input-group-btn:not(:first-child)>.custom-file-control:focus:before,.input-group-btn:not(:first-child)>.custom-file-control:hover:before{z-index:3}.custom-control{position:relative;display:inline;padding-left:1.5rem;cursor:pointer}.custom-control+.custom-control{margin-left:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-indicator{color:#fff;background-color:#0074d9;box-shadow:none}.custom-control-input:focus~.custom-control-indicator{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.custom-control-input:active~.custom-control-indicator{color:#fff;background-color:#84c6ff;box-shadow:none}.custom-control-input:disabled~.custom-control-indicator{cursor:not-allowed;background-color:#eee}.custom-control-input:disabled~.custom-control-description{color:#767676;cursor:not-allowed}.custom-control-indicator{position:absolute;top:.0625rem;left:0;display:block;width:1rem;height:1rem;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#ddd;background-repeat:no-repeat;background-position:50%;background-size:50% 50%;box-shadow:inset 0 .25rem .25rem rgba(0,0,0,.1)}.custom-checkbox .custom-control-indicator{border-radius:.125rem}.custom-checkbox .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-indicator{background-color:#0074d9;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E");box-shadow:none}.custom-radio .custom-control-indicator{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-indicator{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-controls-stacked .custom-control{display:inline}.custom-controls-stacked .custom-control:after{display:block;margin-bottom:.25rem;content:""}.custom-controls-stacked .custom-control+.custom-control{margin-left:0}.custom-select{display:inline-block;max-width:100%;padding:.375rem 1.75rem .375rem .75rem;padding-right:.75rem\9;color:rgba(0,0,0,.54);vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23333' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-image:none\9;background-size:8px 10px;border:1px solid rgba(0,0,0,.26);border-radius:.125rem;-moz-appearance:none;-webkit-appearance:none}.custom-select:focus{border-color:#51a7e8;outline:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(81,167,232,.5)}.custom-select:focus::-ms-value{color:rgba(0,0,0,.54);background-color:transparent}.custom-select:disabled{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:rgba(0,0,0,.12)}.custom-select::-ms-expand{opacity:0}.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-file{position:relative;display:inline-block;max-width:100%;height:2.5rem;cursor:pointer}.custom-file-input{min-width:14rem;max-width:100%;margin:0;filter:alpha(opacity=0);opacity:0}.custom-file-input:focus~.custom-file-control{box-shadow:0 0 0 .075rem #fff,0 0 0 .2rem #0074d9}.custom-file-control{position:absolute;top:0;right:0;left:0;z-index:5;height:2.5rem;padding:.5rem 1rem;line-height:1.3;color:#555;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0 solid #ddd;border-radius:0;box-shadow:none}.custom-file-control:lang(en):after{content:"Choose file..."}.custom-file-control:before{position:absolute;top:0;right:0;bottom:0;z-index:6;display:block;height:2.5rem;padding:.5rem 1rem;line-height:1.3;color:#555;background-color:#eee;border:0 solid #ddd;border-radius:0 0 0 0}.custom-file-control:lang(en):before{content:"Browse"}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:inline-block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:rgba(0,0,0,.26)}.nav-link.disabled,.nav-link.disabled:focus,.nav-link.disabled:hover{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:transparent}.nav-inline .nav-item{display:inline-block}.nav-inline .nav-item+.nav-item,.nav-inline .nav-link+.nav-link{margin-left:1rem}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs:after{content:"";display:table;clear:both}.nav-tabs .nav-item{float:left;margin-bottom:-1px}.nav-tabs .nav-item+.nav-item{margin-left:.2rem}.nav-tabs .nav-link{display:block;padding:.5em 1em;border:1px solid transparent;border-top-right-radius:.125rem;border-top-left-radius:.125rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:rgba(0,0,0,.12) rgba(0,0,0,.12) #ddd}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:rgba(0,0,0,.26);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.open .nav-link,.nav-tabs .nav-item.open .nav-link:focus,.nav-tabs .nav-item.open .nav-link:hover,.nav-tabs .nav-link.active,.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{color:rgba(0,0,0,.54);background-color:transparent;border-color:#ddd #ddd transparent}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills:after{content:"";display:table;clear:both}.nav-pills .nav-item{float:left}.nav-pills .nav-item+.nav-item{margin-left:.2rem}.nav-pills .nav-link{display:block;padding:.5em 1em;border-radius:.125rem}.nav-pills .nav-item.open .nav-link,.nav-pills .nav-item.open .nav-link:focus,.nav-pills .nav-item.open .nav-link:hover,.nav-pills .nav-link.active,.nav-pills .nav-link.active:focus,.nav-pills .nav-link.active:hover{color:#fff;cursor:default;background-color:#009688}.nav-stacked .nav-item{display:block;float:none}.nav-stacked .nav-item+.nav-item{margin-top:.2rem;margin-left:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.25rem .5rem}.navbar:after{content:"";display:table;clear:both}@media (min-width:544px){.navbar{border-radius:.125rem}}.navbar-full{z-index:1000}@media (min-width:544px){.navbar-full{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:544px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0}.navbar-fixed-bottom{bottom:0}.navbar-sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1030;width:100%}@media (min-width:544px){.navbar-sticky-top{border-radius:0}}.navbar-brand{float:left;padding-top:.25rem;padding-bottom:.25rem;margin-right:1rem;font-size:1.25rem}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}.navbar-divider{float:left;width:1px;padding-top:.425rem;padding-bottom:.425rem;margin-right:.5rem;margin-left:.5rem;overflow:hidden}.navbar-divider:before{content:"\00a0"}.navbar-toggler{padding:.5rem .75rem;font-size:1.25rem;line-height:1;background:none;border:1px solid transparent;border-radius:.125rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-nav .nav-item{float:left}.navbar-nav .nav-link{display:block;padding-top:.425rem;padding-bottom:.425rem}.navbar-nav .nav-item+.nav-item,.navbar-nav .nav-link+.nav-link{margin-left:1rem}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.6)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .active>.nav-link:focus,.navbar-light .navbar-nav .active>.nav-link:hover,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.active:focus,.navbar-light .navbar-nav .nav-link.active:hover,.navbar-light .navbar-nav .nav-link.open,.navbar-light .navbar-nav .nav-link.open:focus,.navbar-light .navbar-nav .nav-link.open:hover,.navbar-light .navbar-nav .open>.nav-link,.navbar-light .navbar-nav .open>.nav-link:focus,.navbar-light .navbar-nav .open>.nav-link:hover{color:rgba(0,0,0,.8)}.navbar-light .navbar-divider{background-color:rgba(0,0,0,.075)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .active>.nav-link:focus,.navbar-dark .navbar-nav .active>.nav-link:hover,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.active:focus,.navbar-dark .navbar-nav .nav-link.active:hover,.navbar-dark .navbar-nav .nav-link.open,.navbar-dark .navbar-nav .nav-link.open:focus,.navbar-dark .navbar-nav .nav-link.open:hover,.navbar-dark .navbar-nav .open>.nav-link,.navbar-dark .navbar-nav .open>.nav-link:focus,.navbar-dark .navbar-nav .open>.nav-link:hover{color:#fff}.navbar-dark .navbar-divider{background-color:hsla(0,0%,100%,.075)}.navbar-toggleable-xs:after{content:"";display:table;clear:both}@media (max-width:543px){.navbar-toggleable-xs .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:544px){.navbar-toggleable-xs{display:block!important}}.navbar-toggleable-sm:after{content:"";display:table;clear:both}@media (max-width:767px){.navbar-toggleable-sm .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:768px){.navbar-toggleable-sm{display:block!important}}.navbar-toggleable-md:after{content:"";display:table;clear:both}@media (max-width:991px){.navbar-toggleable-md .navbar-nav .nav-item{float:none;margin-left:0}}@media (min-width:992px){.navbar-toggleable-md{display:block!important}}.card{position:relative;display:block;margin-bottom:.75rem;background-color:#fff;border-radius:.125rem;border:1px solid rgba(0,0,0,.12)}.card-block{padding:1.25rem}.card-block:after{content:"";display:table;clear:both}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card>.list-group:first-child .list-group-item:first-child{border-top-right-radius:.125rem;border-top-left-radius:.125rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.card-header{padding:.75rem 1.25rem;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.12)}.card-header:after{content:"";display:table;clear:both}.card-header:first-child{border-radius:.125rem .125rem 0 0}.card-footer{padding:.75rem 1.25rem;background-color:#fff;border-top:1px solid rgba(0,0,0,.12)}.card-footer:after{content:"";display:table;clear:both}.card-footer:last-child{border-radius:0 0 .125rem .125rem}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-primary{background-color:#009688;border-color:#009688}.card-primary .card-footer,.card-primary .card-header{background-color:transparent}.card-success{background-color:#4caf50;border-color:#4caf50}.card-success .card-footer,.card-success .card-header{background-color:transparent}.card-info{background-color:#03a9f4;border-color:#03a9f4}.card-info .card-footer,.card-info .card-header{background-color:transparent}.card-warning{background-color:#ff5722;border-color:#ff5722}.card-warning .card-footer,.card-warning .card-header{background-color:transparent}.card-danger{background-color:#f44336;border-color:#f44336}.card-danger .card-footer,.card-danger .card-header,.card-outline-primary{background-color:transparent}.card-outline-primary{border-color:#009688}.card-outline-secondary{background-color:transparent;border-color:#ccc}.card-outline-info{background-color:transparent;border-color:#03a9f4}.card-outline-success{background-color:transparent;border-color:#4caf50}.card-outline-warning{background-color:transparent;border-color:#ff5722}.card-outline-danger{background-color:transparent;border-color:#f44336}.card-inverse .card-footer,.card-inverse .card-header{border-color:hsla(0,0%,100%,.2)}.card-inverse .card-blockquote,.card-inverse .card-footer,.card-inverse .card-header,.card-inverse .card-title{color:#fff}.card-inverse .card-blockquote .blockquote-footer,.card-inverse .card-link,.card-inverse .card-subtitle,.card-inverse .card-text{color:hsla(0,0%,100%,.65)}.card-inverse .card-link:focus,.card-inverse .card-link:hover{color:#fff}.card-blockquote{padding:0;margin-bottom:0;border-left:0}.card-img{border-radius:.25rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img-top{border-top-right-radius:.125rem;border-top-left-radius:.125rem}.card-img-bottom{border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}@media (min-width:544px){.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-.625rem;margin-bottom:.75rem;margin-left:-.625rem}.card-deck .card{-webkit-box-flex:1;-ms-flex:1 0 0;flex:1 0 0;margin-right:.625rem;margin-bottom:0;margin-left:.625rem}}@media (min-width:544px){.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group .card{-webkit-box-flex:1;-ms-flex:1 0 0;flex:1 0 0}.card-group .card+.card{margin-left:0;border-left:0}.card-group .card:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.card-group .card:first-child .card-img-top{border-top-right-radius:0}.card-group .card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group .card:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.card-group .card:last-child .card-img-top{border-top-left-radius:0}.card-group .card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group .card:not(:first-child):not(:last-child),.card-group .card:not(:first-child):not(:last-child) .card-img-bottom,.card-group .card:not(:first-child):not(:last-child) .card-img-top{border-radius:0}}@media (min-width:544px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb{padding:.75rem 1rem;margin-bottom:.5rem;list-style:none;background-color:rgba(0,0,0,.12);border-radius:.125rem}.breadcrumb:after{content:"";display:table;clear:both}.breadcrumb-item{float:left}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:rgba(0,0,0,.26);content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:rgba(0,0,0,.26)}.pagination{display:inline-block;padding-left:0;margin-top:.5rem;margin-bottom:.5rem;border-radius:.125rem}.page-item{display:inline}.page-item:first-child .page-link{margin-left:0;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.page-item:last-child .page-link{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}.page-item.active .page-link,.page-item.active .page-link:focus,.page-item.active .page-link:hover{z-index:2;color:#fff;cursor:default;background-color:#009688;border-color:#009688}.page-item.disabled .page-link,.page-item.disabled .page-link:focus,.page-item.disabled .page-link:hover{color:rgba(0,0,0,.26);pointer-events:none;cursor:not-allowed;background-color:transparent;border-color:#ddd}.page-link{position:relative;float:left;padding:.5rem .75rem;margin-left:-1px;color:#009688;text-decoration:none;background-color:transparent;border:0 solid #ddd}.page-link:focus,.page-link:hover{color:#004a43;background-color:rgba(0,0,0,.12);border-color:#ddd}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.0625rem;border-top-left-radius:.0625rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.0625rem;border-top-right-radius:.0625rem}.tag{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.125rem}.tag:empty{display:none}.btn .tag,.custom-file-control:before .tag{position:relative;top:-1px}a.tag:focus,a.tag:hover{color:#fff;text-decoration:none;cursor:pointer}.tag-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.tag-default,.tag-default[href]:focus,.tag-default[href]:hover{background-color:rgba(0,0,0,.26)}.tag-primary{background-color:#009688}.tag-primary[href]:focus,.tag-primary[href]:hover{background-color:#00635a}.tag-success{background-color:#4caf50}.tag-success[href]:focus,.tag-success[href]:hover{background-color:#3d8b40}.tag-info{background-color:#03a9f4}.tag-info[href]:focus,.tag-info[href]:hover{background-color:#0286c2}.tag-warning{background-color:#ff5722}.tag-warning[href]:focus,.tag-warning[href]:hover{background-color:#ee3900}.tag-danger{background-color:#f44336}.tag-danger[href]:focus,.tag-danger[href]:hover{background-color:#ea1c0d}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:rgba(0,0,0,.12);border-radius:.3rem}@media (min-width:544px){.jumbotron{padding:4rem 2rem}}.jumbotron-hr{border-top-color:rgba(0,0,0,.12)}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:15px;margin-bottom:.5rem;border:1px solid transparent;border-radius:.125rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:35px}.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#4caf50;border-color:#449d48;color:#fff}.alert-success hr{border-top-color:#3d8b40}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#03a9f4;border-color:#0391d1;color:#fff}.alert-info hr{border-top-color:#027fb8}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff5722;border-color:#ff4409;color:#fff}.alert-warning hr{border-top-color:#ee3900}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#f44336;border-color:#f32c1e;color:#fff}.alert-danger hr{border-top-color:#ea1c0d}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes a{0%{background-position:.5rem 0}to{background-position:0 0}}@keyframes a{0%{background-position:.5rem 0}to{background-position:0 0}}.progress{display:block;width:100%;height:.5rem;margin-bottom:.5rem}.progress[value]{background-color:#eee;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.125rem}.progress[value]::-ms-fill{background-color:#0074d9;border:0}.progress[value]::-moz-progress-bar{background-color:#0074d9;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.progress[value]::-webkit-progress-value{background-color:#0074d9;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.progress[value="100"]::-moz-progress-bar{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}.progress[value="100"]::-webkit-progress-value{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}.progress[value]::-webkit-progress-bar{background-color:#eee;border-radius:.125rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress[value],base::-moz-progress-bar{background-color:#eee;border-radius:.125rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}@media screen and (min-width:0\0){.progress{background-color:#eee;border-radius:.125rem;box-shadow:inset 0 .1rem .1rem rgba(0,0,0,.1)}.progress-bar{display:inline-block;height:.5rem;text-indent:-999rem;background-color:#0074d9;border-bottom-left-radius:.125rem;border-top-left-radius:.125rem}.progress[width="100%"]{border-bottom-right-radius:.125rem;border-top-right-radius:.125rem}}.progress-striped[value]::-webkit-progress-value{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}.progress-striped[value]::-moz-progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}.progress-striped[value]::-ms-fill{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}@media screen and (min-width:0\0){.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:.5rem .5rem}}.progress-animated[value]::-webkit-progress-value{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}.progress-animated[value]::-moz-progress-bar{animation:a 2s linear infinite}@media screen and (min-width:0\0){.progress-animated .progress-bar-striped{-webkit-animation:a 2s linear infinite;animation:a 2s linear infinite}}.progress-success[value]::-webkit-progress-value{background-color:#4caf50}.progress-success[value]::-moz-progress-bar{background-color:#4caf50}.progress-success[value]::-ms-fill{background-color:#4caf50}@media screen and (min-width:0\0){.progress-success .progress-bar{background-color:#4caf50}}.progress-info[value]::-webkit-progress-value{background-color:#03a9f4}.progress-info[value]::-moz-progress-bar{background-color:#03a9f4}.progress-info[value]::-ms-fill{background-color:#03a9f4}@media screen and (min-width:0\0){.progress-info .progress-bar{background-color:#03a9f4}}.progress-warning[value]::-webkit-progress-value{background-color:#ff5722}.progress-warning[value]::-moz-progress-bar{background-color:#ff5722}.progress-warning[value]::-ms-fill{background-color:#ff5722}@media screen and (min-width:0\0){.progress-warning .progress-bar{background-color:#ff5722}}.progress-danger[value]::-webkit-progress-value{background-color:#f44336}.progress-danger[value]::-moz-progress-bar{background-color:#f44336}.progress-danger[value]::-ms-fill{background-color:#f44336}@media screen and (min-width:0\0){.progress-danger .progress-bar{background-color:#f44336}}.media{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:.5rem}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.media-middle{-ms-flex-item-align:center;align-self:center}.media-bottom{-ms-flex-item-align:end;align-self:flex-end}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right{padding-left:10px}.media-left{padding-right:10px}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:0}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:0;background-color:inherit;border:0 solid #ddd}.list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:rgba(0,0,0,.26);cursor:not-allowed;background-color:rgba(0,0,0,.12)}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:rgba(0,0,0,.26)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;text-decoration:none;background-color:#009688;border-color:#009688}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#63fff0}.list-group-flush .list-group-item{border-radius:0}.list-group-item-action{width:100%;color:#555;text-align:inherit}.list-group-item-action .list-group-item-heading{color:#333}.list-group-item-action:focus,.list-group-item-action:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item-success{color:#fff;background-color:#4caf50}a.list-group-item-success,button.list-group-item-success{color:#fff}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#fff;background-color:#449d48}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-info{color:#fff;background-color:#03a9f4}a.list-group-item-info,button.list-group-item-info{color:#fff}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#fff;background-color:#0398db}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-warning{color:#fff;background-color:#ff5722}a.list-group-item-warning,button.list-group-item-warning{color:#fff}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#fff;background-color:#ff4409}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-danger{color:#fff;background-color:#f44336}a.list-group-item-danger,button.list-group-item-danger{color:#fff}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#fff;background-color:#f32c1e}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#fff;border-color:#fff}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9{padding-bottom:42.85714%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.embed-responsive-1by1{padding-bottom:100%}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0;-webkit-overflow-scrolling:touch}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translateY(-25%);transform:translateY(-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0);transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.in{opacity:.26}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after{content:"";display:table;clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.5}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after{content:"";display:table;clear:both}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:544px){.modal-dialog{max-width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.in{opacity:.9}.tooltip.bs-tether-element-attached-bottom,.tooltip.tooltip-top{padding:5px 0;margin-top:-3px}.tooltip.bs-tether-element-attached-bottom .tooltip-arrow,.tooltip.tooltip-top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.bs-tether-element-attached-left,.tooltip.tooltip-right{padding:0 5px;margin-left:3px}.tooltip.bs-tether-element-attached-left .tooltip-arrow,.tooltip.tooltip-right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.bs-tether-element-attached-top,.tooltip.tooltip-bottom{padding:5px 0;margin-top:3px}.tooltip.bs-tether-element-attached-top .tooltip-arrow,.tooltip.tooltip-bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bs-tether-element-attached-right,.tooltip.tooltip-left{padding:0 5px;margin-left:-3px}.tooltip.bs-tether-element-attached-right .tooltip-arrow,.tooltip.tooltip-left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:.125rem}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;padding:1px;font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.bs-tether-element-attached-bottom,.popover.popover-top{margin-top:-10px}.popover.bs-tether-element-attached-bottom .popover-arrow,.popover.popover-top .popover-arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.bs-tether-element-attached-bottom .popover-arrow:after,.popover.popover-top .popover-arrow:after{bottom:1px;margin-left:-10px;content:"";border-top-color:#fff;border-bottom-width:0}.popover.bs-tether-element-attached-left,.popover.popover-right{margin-left:10px}.popover.bs-tether-element-attached-left .popover-arrow,.popover.popover-right .popover-arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.bs-tether-element-attached-left .popover-arrow:after,.popover.popover-right .popover-arrow:after{bottom:-10px;left:1px;content:"";border-right-color:#fff;border-left-width:0}.popover.bs-tether-element-attached-top,.popover.popover-bottom{margin-top:10px}.popover.bs-tether-element-attached-top .popover-arrow,.popover.popover-bottom .popover-arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-top .popover-arrow:after,.popover.popover-bottom .popover-arrow:after{top:1px;margin-left:-10px;content:"";border-top-width:0;border-bottom-color:#fff}.popover.bs-tether-element-attached-right,.popover.popover-left{margin-left:-10px}.popover.bs-tether-element-attached-right .popover-arrow,.popover.popover-left .popover-arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:rgba(0,0,0,.25)}.popover.bs-tether-element-attached-right .popover-arrow:after,.popover.popover-left .popover-arrow:after{right:1px;bottom:-10px;content:"";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:.2375rem .2375rem 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover-arrow,.popover-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover-arrow{border-width:11px}.popover-arrow:after{content:"";border-width:10px}.carousel,.carousel-inner{position:relative}.carousel-inner{width:100%;overflow:hidden}.carousel-inner>.carousel-item{position:relative;display:none;-webkit-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.carousel-inner>.carousel-item>a>img,.carousel-inner>.carousel-item>img{line-height:1}@media (-webkit-transform-3d),all and (transform-3d){.carousel-inner>.carousel-item{-webkit-transition:-webkit-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.carousel-item.active.right,.carousel-inner>.carousel-item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.carousel-item.active.left,.carousel-inner>.carousel-item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.carousel-item.active,.carousel-inner>.carousel-item.next.left,.carousel-inner>.carousel-item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5}.carousel-control.left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,.0001));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001),rgba(0,0,0,.5));background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:transparent;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn,.carousel-caption .custom-file-control:before{text-shadow:none}@media (min-width:544px){.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .icon-prev{margin-left:-15px}.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.bg-faded{background-color:#f7f7f9}.bg-primary{color:#fff!important;background-color:#009688!important}a.bg-primary:focus,a.bg-primary:hover{background-color:#00635a!important}.bg-success{color:#fff!important;background-color:#4caf50!important}a.bg-success:focus,a.bg-success:hover{background-color:#3d8b40!important}.bg-info{color:#fff!important;background-color:#03a9f4!important}a.bg-info:focus,a.bg-info:hover{background-color:#0286c2!important}.bg-warning{color:#fff!important;background-color:#ff5722!important}a.bg-warning:focus,a.bg-warning:hover{background-color:#ee3900!important}.bg-danger{color:#fff!important;background-color:#f44336!important}a.bg-danger:focus,a.bg-danger:hover{background-color:#ea1c0d!important}.bg-inverse{color:#fff!important}.bg-inverse,a.bg-inverse:focus,a.bg-inverse:hover{background-color:rgba(0,0,0,.87)!important}.clearfix:after{content:"";display:table;clear:both}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-inline{display:inline!important}.flex-xs-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-xs-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-xs-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.flex-items-xs-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-xs-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-xs-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}.flex-xs-top{-ms-flex-item-align:start;align-self:flex-start}.flex-xs-middle{-ms-flex-item-align:center;align-self:center}.flex-xs-bottom{-ms-flex-item-align:end;align-self:flex-end}.flex-items-xs-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-xs-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-xs-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-xs-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-xs-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media (min-width:544px){.flex-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-sm-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-sm-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:544px){.flex-items-sm-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-sm-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-sm-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:544px){.flex-sm-top{-ms-flex-item-align:start;align-self:flex-start}.flex-sm-middle{-ms-flex-item-align:center;align-self:center}.flex-sm-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:544px){.flex-items-sm-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-sm-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-sm-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-sm-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-sm-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (min-width:768px){.flex-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-md-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-md-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:768px){.flex-items-md-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-md-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-md-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:768px){.flex-md-top{-ms-flex-item-align:start;align-self:flex-start}.flex-md-middle{-ms-flex-item-align:center;align-self:center}.flex-md-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:768px){.flex-items-md-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-md-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-md-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-md-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-md-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (min-width:992px){.flex-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-lg-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-lg-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:992px){.flex-items-lg-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-lg-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-lg-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:992px){.flex-lg-top{-ms-flex-item-align:start;align-self:flex-start}.flex-lg-middle{-ms-flex-item-align:center;align-self:center}.flex-lg-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:992px){.flex-items-lg-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-lg-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-lg-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-lg-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-lg-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}@media (min-width:1200px){.flex-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.flex-xl-last{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.flex-xl-unordered{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}@media (min-width:1200px){.flex-items-xl-top{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}.flex-items-xl-middle{-webkit-box-align:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center}.flex-items-xl-bottom{-webkit-box-align:end;-ms-flex-align:end;-ms-grid-row-align:flex-end;align-items:flex-end}}@media (min-width:1200px){.flex-xl-top{-ms-flex-item-align:start;align-self:flex-start}.flex-xl-middle{-ms-flex-item-align:center;align-self:center}.flex-xl-bottom{-ms-flex-item-align:end;align-self:flex-end}}@media (min-width:1200px){.flex-items-xl-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.flex-items-xl-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.flex-items-xl-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.flex-items-xl-around{-ms-flex-pack:distribute;justify-content:space-around}.flex-items-xl-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}}.pull-xs-left{float:left!important;margin-right:auto}.pull-xs-right{float:right!important;margin-left:auto}.pull-xs-none{float:none!important}@media (min-width:544px){.pull-sm-left{float:left!important;margin-right:auto}.pull-sm-right{float:right!important;margin-left:auto}.pull-sm-none{float:none!important}}@media (min-width:768px){.pull-md-left{float:left!important;margin-right:auto}.pull-md-right{float:right!important;margin-left:auto}.pull-md-none{float:none!important}}@media (min-width:992px){.pull-lg-left{float:left!important;margin-right:auto}.pull-lg-right{float:right!important;margin-left:auto}.pull-lg-none{float:none!important}}@media (min-width:1200px){.pull-xl-left{float:left!important;margin-right:auto}.pull-xl-right{float:right!important;margin-left:auto}.pull-xl-none{float:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.w-100{width:100%!important}.m-x-auto{margin-right:auto!important;margin-left:auto!important}.m-a-0{margin:0!important}.m-t-0{margin-top:0!important}.m-r-0{margin-right:0!important}.m-b-0{margin-bottom:0!important}.m-l-0,.m-x-0{margin-left:0!important}.m-x-0{margin-right:0!important}.m-y-0{margin-top:0!important;margin-bottom:0!important}.m-a-1{margin:.5rem!important}.m-t-1{margin-top:.5rem!important}.m-r-1{margin-right:.5rem!important}.m-b-1{margin-bottom:.5rem!important}.m-l-1,.m-x-1{margin-left:.5rem!important}.m-x-1{margin-right:.5rem!important}.m-y-1{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-a-2{margin:.75rem!important}.m-t-2{margin-top:.75rem!important}.m-r-2{margin-right:.75rem!important}.m-b-2{margin-bottom:.75rem!important}.m-l-2,.m-x-2{margin-left:.75rem!important}.m-x-2{margin-right:.75rem!important}.m-y-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.m-a-3{margin:1.5rem!important}.m-t-3{margin-top:1.5rem!important}.m-r-3{margin-right:1.5rem!important}.m-b-3{margin-bottom:1.5rem!important}.m-l-3,.m-x-3{margin-left:1.5rem!important}.m-x-3{margin-right:1.5rem!important}.m-y-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.p-a-0{padding:0!important}.p-t-0{padding-top:0!important}.p-r-0{padding-right:0!important}.p-b-0{padding-bottom:0!important}.p-l-0,.p-x-0{padding-left:0!important}.p-x-0{padding-right:0!important}.p-y-0{padding-top:0!important;padding-bottom:0!important}.p-a-1{padding:.5rem!important}.p-t-1{padding-top:.5rem!important}.p-r-1{padding-right:.5rem!important}.p-b-1{padding-bottom:.5rem!important}.p-l-1,.p-x-1{padding-left:.5rem!important}.p-x-1{padding-right:.5rem!important}.p-y-1{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-a-2{padding:.75rem!important}.p-t-2{padding-top:.75rem!important}.p-r-2{padding-right:.75rem!important}.p-b-2{padding-bottom:.75rem!important}.p-l-2,.p-x-2{padding-left:.75rem!important}.p-x-2{padding-right:.75rem!important}.p-y-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.p-a-3{padding:1.5rem!important}.p-t-3{padding-top:1.5rem!important}.p-r-3{padding-right:1.5rem!important}.p-b-3{padding-bottom:1.5rem!important}.p-l-3,.p-x-3{padding-left:1.5rem!important}.p-x-3{padding-right:1.5rem!important}.p-y-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.pos-f-t{position:fixed;top:0;right:0;left:0;z-index:1030}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-xs-left{text-align:left!important}.text-xs-right{text-align:right!important}.text-xs-center{text-align:center!important}@media (min-width:544px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-normal{font-weight:400}.font-weight-bold{font-weight:700}.font-italic{font-style:italic}.bmd-help,.text-muted{color:rgba(0,0,0,.26)!important}a.bmd-help:focus,a.bmd-help:hover,a.text-muted:focus,a.text-muted:hover{color:rgba(0,0,0,.26)}.text-primary{color:#009688!important}a.text-primary:focus,a.text-primary:hover{color:#00635a}.text-success{color:#4caf50!important}a.text-success:focus,a.text-success:hover{color:#3d8b40}.text-info{color:#03a9f4!important}a.text-info:focus,a.text-info:hover{color:#0286c2}.text-warning{color:#ff5722!important}a.text-warning:focus,a.text-warning:hover{color:#ee3900}.text-danger{color:#f44336!important}a.text-danger:focus,a.text-danger:hover{color:#ea1c0d}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.invisible{visibility:hidden!important}.hidden-xs-up{display:none!important}@media (max-width:543px){.hidden-xs-down{display:none!important}}@media (min-width:544px){.hidden-sm-up{display:none!important}}@media (max-width:767px){.hidden-sm-down{display:none!important}}@media (min-width:768px){.hidden-md-up{display:none!important}}@media (max-width:991px){.hidden-md-down{display:none!important}}@media (min-width:992px){.hidden-lg-up{display:none!important}}@media (max-width:1199px){.hidden-lg-down{display:none!important}}@media (min-width:1200px){.hidden-xl-up{display:none!important}}.hidden-xl-down,.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}body{font-weight:400}a:focus,button:focus{outline:none}.bmd-layout-canvas{position:absolute;width:100%;height:100%}.bmd-layout-container{position:relative;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.bmd-layout-container,.bmd-layout-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%}.bmd-layout-header{z-index:3;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;max-height:1000px;-webkit-transform:translateZ(0);transform:translateZ(0)}.bmd-layout-content,.bmd-layout-header{-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.bmd-layout-content{position:relative;z-index:1;display:inline-block;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.bmd-layout-content,.bmd-layout-spacer{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.bmd-layout-backdrop{position:absolute;top:0;left:0;z-index:4;width:100%;height:100%;visibility:hidden;background-color:transparent;-webkit-transition-property:background-color;transition-property:background-color;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}@supports (pointer-events:auto){.bmd-layout-backdrop{background-color:rgba(0,0,0,.5);opacity:0;-webkit-transition-property:opacity;transition-property:opacity;visibility:visible;pointer-events:none}}.btn,.custom-file-control:before{position:relative;margin-bottom:.3125rem;font-size:.875rem;text-decoration:none;text-transform:uppercase;letter-spacing:0;cursor:pointer;background-color:transparent;border:0;outline:0;-webkit-transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),-webkit-box-shadow .2s cubic-bezier(.4,0,1,1);transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);will-change:box-shadow,transform;color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.active.custom-file-control:focus:before,.active.focus.custom-file-control:before,.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus,.custom-file-control:active.focus:before,.custom-file-control:active:focus:before,.custom-file-control:focus:before,.focus.custom-file-control:before{outline:0}.active.custom-file-control:before,.btn.active,.btn.focus,.btn:active,.btn:focus,.btn:hover,.custom-file-control:active:before,.custom-file-control:focus:before,.custom-file-control:hover:before,.focus.custom-file-control:before,.open>.btn.dropdown-toggle,.open>.dropdown-toggle.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.active.custom-file-control:focus:before,.active.custom-file-control:hover:before,.active.focus.custom-file-control:before,.btn.active.focus,.btn.active:focus,.btn.active:hover,.btn:active.focus,.btn:active:focus,.btn:active:hover,.custom-file-control:active.focus:before,.custom-file-control:active:focus:before,.custom-file-control:active:hover:before,.open>.btn.dropdown-toggle.focus,.open>.btn.dropdown-toggle:focus,.open>.btn.dropdown-toggle:hover,.open>.dropdown-toggle.custom-file-control:focus:before,.open>.dropdown-toggle.custom-file-control:hover:before,.open>.dropdown-toggle.focus.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn.dropdown-toggle.bmd-btn-icon,.open>.dropdown-toggle.bmd-btn-icon.custom-file-control:before{color:inherit;background-color:inherit}.open>.btn.dropdown-toggle.bmd-btn-icon:hover,.open>.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before{background-color:hsla(0,0%,60%,.2)}.btn.disabled.focus,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled.focus,.btn:disabled:focus,.btn:disabled:hover,.custom-file-control:disabled.focus:before,.custom-file-control:disabled:focus:before,.custom-file-control:disabled:hover:before,.disabled.custom-file-control:focus:before,.disabled.custom-file-control:hover:before,.disabled.focus.custom-file-control:before{background-color:inherit;border-color:#ccc}.bg-inverse .btn,.bg-inverse .custom-file-control:before{color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.bg-inverse .active.custom-file-control:before,.bg-inverse .btn.active,.bg-inverse .btn.focus,.bg-inverse .btn:active,.bg-inverse .btn:focus,.bg-inverse .btn:hover,.bg-inverse .custom-file-control:active:before,.bg-inverse .custom-file-control:focus:before,.bg-inverse .custom-file-control:hover:before,.bg-inverse .focus.custom-file-control:before,.open>.bg-inverse .btn.dropdown-toggle,.open>.bg-inverse .dropdown-toggle.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .active.custom-file-control:focus:before,.bg-inverse .active.custom-file-control:hover:before,.bg-inverse .active.focus.custom-file-control:before,.bg-inverse .btn.active.focus,.bg-inverse .btn.active:focus,.bg-inverse .btn.active:hover,.bg-inverse .btn:active.focus,.bg-inverse .btn:active:focus,.bg-inverse .btn:active:hover,.bg-inverse .custom-file-control:active.focus:before,.bg-inverse .custom-file-control:active:focus:before,.bg-inverse .custom-file-control:active:hover:before,.open>.bg-inverse .btn.dropdown-toggle.focus,.open>.bg-inverse .btn.dropdown-toggle:focus,.open>.bg-inverse .btn.dropdown-toggle:hover,.open>.bg-inverse .dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .dropdown-toggle.focus.custom-file-control:before{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn.dropdown-toggle.bmd-btn-icon,.open>.bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control:before{color:inherit;background-color:inherit}.open>.bg-inverse .btn.dropdown-toggle.bmd-btn-icon:hover,.open>.bg-inverse .dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn.disabled.focus,.bg-inverse .btn.disabled:focus,.bg-inverse .btn.disabled:hover,.bg-inverse .btn:disabled.focus,.bg-inverse .btn:disabled:focus,.bg-inverse .btn:disabled:hover,.bg-inverse .custom-file-control:disabled.focus:before,.bg-inverse .custom-file-control:disabled:focus:before,.bg-inverse .custom-file-control:disabled:hover:before,.bg-inverse .disabled.custom-file-control:focus:before,.bg-inverse .disabled.custom-file-control:hover:before,.bg-inverse .disabled.focus.custom-file-control:before{background-color:inherit;border-color:#ccc}.btn-link.custom-file-control:before,.btn.btn-link{background-color:transparent}.btn-primary.custom-file-control:before,.btn.btn-primary{color:#009688;background-color:inherit;border-color:#ccc}.btn-primary.active.custom-file-control:before,.btn-primary.custom-file-control:active:before,.btn-primary.custom-file-control:focus:before,.btn-primary.custom-file-control:hover:before,.btn-primary.focus.custom-file-control:before,.btn.btn-primary.active,.btn.btn-primary.focus,.btn.btn-primary:active,.btn.btn-primary:focus,.btn.btn-primary:hover,.open>.btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-primary.active.custom-file-control:focus:before,.btn-primary.active.custom-file-control:hover:before,.btn-primary.active.focus.custom-file-control:before,.btn-primary.custom-file-control:active.focus:before,.btn-primary.custom-file-control:active:focus:before,.btn-primary.custom-file-control:active:hover:before,.btn.btn-primary.active.focus,.btn.btn-primary.active:focus,.btn.btn-primary.active:hover,.btn.btn-primary:active.focus,.btn.btn-primary:active:focus,.btn.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-primary.dropdown-toggle.focus,.open>.btn.btn-primary.dropdown-toggle:focus,.open>.btn.btn-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-primary.custom-file-control:disabled.focus:before,.btn-primary.custom-file-control:disabled:focus:before,.btn-primary.custom-file-control:disabled:hover:before,.btn-primary.disabled.custom-file-control:focus:before,.btn-primary.disabled.custom-file-control:hover:before,.btn-primary.disabled.focus.custom-file-control:before,.btn.btn-primary.disabled.focus,.btn.btn-primary.disabled:focus,.btn.btn-primary.disabled:hover,.btn.btn-primary:disabled.focus,.btn.btn-primary:disabled:focus,.btn.btn-primary:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-primary.custom-file-control:before,.bg-inverse .btn.btn-primary{color:#009688;background-color:inherit;border-color:#ccc}.bg-inverse .btn-primary.active.custom-file-control:before,.bg-inverse .btn-primary.custom-file-control:active:before,.bg-inverse .btn-primary.custom-file-control:focus:before,.bg-inverse .btn-primary.custom-file-control:hover:before,.bg-inverse .btn-primary.focus.custom-file-control:before,.bg-inverse .btn.btn-primary.active,.bg-inverse .btn.btn-primary.focus,.bg-inverse .btn.btn-primary:active,.bg-inverse .btn.btn-primary:focus,.bg-inverse .btn.btn-primary:hover,.open>.bg-inverse .btn-primary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-primary.active.custom-file-control:focus:before,.bg-inverse .btn-primary.active.custom-file-control:hover:before,.bg-inverse .btn-primary.active.focus.custom-file-control:before,.bg-inverse .btn-primary.custom-file-control:active.focus:before,.bg-inverse .btn-primary.custom-file-control:active:focus:before,.bg-inverse .btn-primary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-primary.active.focus,.bg-inverse .btn.btn-primary.active:focus,.bg-inverse .btn.btn-primary.active:hover,.bg-inverse .btn.btn-primary:active.focus,.bg-inverse .btn.btn-primary:active:focus,.bg-inverse .btn.btn-primary:active:hover,.open>.bg-inverse .btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-primary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-primary.custom-file-control:disabled.focus:before,.bg-inverse .btn-primary.custom-file-control:disabled:focus:before,.bg-inverse .btn-primary.custom-file-control:disabled:hover:before,.bg-inverse .btn-primary.disabled.custom-file-control:focus:before,.bg-inverse .btn-primary.disabled.custom-file-control:hover:before,.bg-inverse .btn-primary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-primary.disabled.focus,.bg-inverse .btn.btn-primary.disabled:focus,.bg-inverse .btn.btn-primary.disabled:hover,.bg-inverse .btn.btn-primary:disabled.focus,.bg-inverse .btn.btn-primary:disabled:focus,.bg-inverse .btn.btn-primary:disabled:hover{background-color:inherit;border-color:#ccc}.btn-primary.btn-link.custom-file-control:before,.btn.btn-primary.btn-link{background-color:transparent}.btn-secondary.custom-file-control:before,.btn.btn-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.btn-secondary.active.custom-file-control:before,.btn-secondary.custom-file-control:active:before,.btn-secondary.custom-file-control:focus:before,.btn-secondary.custom-file-control:hover:before,.btn-secondary.focus.custom-file-control:before,.btn.btn-secondary.active,.btn.btn-secondary.focus,.btn.btn-secondary:active,.btn.btn-secondary:focus,.btn.btn-secondary:hover,.open>.btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-secondary.active.custom-file-control:focus:before,.btn-secondary.active.custom-file-control:hover:before,.btn-secondary.active.focus.custom-file-control:before,.btn-secondary.custom-file-control:active.focus:before,.btn-secondary.custom-file-control:active:focus:before,.btn-secondary.custom-file-control:active:hover:before,.btn.btn-secondary.active.focus,.btn.btn-secondary.active:focus,.btn.btn-secondary.active:hover,.btn.btn-secondary:active.focus,.btn.btn-secondary:active:focus,.btn.btn-secondary:active:hover,.open>.btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-secondary.dropdown-toggle.focus,.open>.btn.btn-secondary.dropdown-toggle:focus,.open>.btn.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-secondary.custom-file-control:disabled.focus:before,.btn-secondary.custom-file-control:disabled:focus:before,.btn-secondary.custom-file-control:disabled:hover:before,.btn-secondary.disabled.custom-file-control:focus:before,.btn-secondary.disabled.custom-file-control:hover:before,.btn-secondary.disabled.focus.custom-file-control:before,.btn.btn-secondary.disabled.focus,.btn.btn-secondary.disabled:focus,.btn.btn-secondary.disabled:hover,.btn.btn-secondary:disabled.focus,.btn.btn-secondary:disabled:focus,.btn.btn-secondary:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-secondary.custom-file-control:before,.bg-inverse .btn.btn-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:#ccc}.bg-inverse .btn-secondary.active.custom-file-control:before,.bg-inverse .btn-secondary.custom-file-control:active:before,.bg-inverse .btn-secondary.custom-file-control:focus:before,.bg-inverse .btn-secondary.custom-file-control:hover:before,.bg-inverse .btn-secondary.focus.custom-file-control:before,.bg-inverse .btn.btn-secondary.active,.bg-inverse .btn.btn-secondary.focus,.bg-inverse .btn.btn-secondary:active,.bg-inverse .btn.btn-secondary:focus,.bg-inverse .btn.btn-secondary:hover,.open>.bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-secondary.active.custom-file-control:focus:before,.bg-inverse .btn-secondary.active.custom-file-control:hover:before,.bg-inverse .btn-secondary.active.focus.custom-file-control:before,.bg-inverse .btn-secondary.custom-file-control:active.focus:before,.bg-inverse .btn-secondary.custom-file-control:active:focus:before,.bg-inverse .btn-secondary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-secondary.active.focus,.bg-inverse .btn.btn-secondary.active:focus,.bg-inverse .btn.btn-secondary.active:hover,.bg-inverse .btn.btn-secondary:active.focus,.bg-inverse .btn.btn-secondary:active:focus,.bg-inverse .btn.btn-secondary:active:hover,.open>.bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-secondary.custom-file-control:disabled.focus:before,.bg-inverse .btn-secondary.custom-file-control:disabled:focus:before,.bg-inverse .btn-secondary.custom-file-control:disabled:hover:before,.bg-inverse .btn-secondary.disabled.custom-file-control:focus:before,.bg-inverse .btn-secondary.disabled.custom-file-control:hover:before,.bg-inverse .btn-secondary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-secondary.disabled.focus,.bg-inverse .btn.btn-secondary.disabled:focus,.bg-inverse .btn.btn-secondary.disabled:hover,.bg-inverse .btn.btn-secondary:disabled.focus,.bg-inverse .btn.btn-secondary:disabled:focus,.bg-inverse .btn.btn-secondary:disabled:hover{background-color:inherit;border-color:#ccc}.btn-secondary.btn-link.custom-file-control:before,.btn.btn-secondary.btn-link{background-color:transparent}.btn-info.custom-file-control:before,.btn.btn-info{color:#03a9f4;background-color:inherit;border-color:#ccc}.btn-info.active.custom-file-control:before,.btn-info.custom-file-control:active:before,.btn-info.custom-file-control:focus:before,.btn-info.custom-file-control:hover:before,.btn-info.focus.custom-file-control:before,.btn.btn-info.active,.btn.btn-info.focus,.btn.btn-info:active,.btn.btn-info:focus,.btn.btn-info:hover,.open>.btn-info.dropdown-toggle.custom-file-control:before,.open>.btn.btn-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-info.active.custom-file-control:focus:before,.btn-info.active.custom-file-control:hover:before,.btn-info.active.focus.custom-file-control:before,.btn-info.custom-file-control:active.focus:before,.btn-info.custom-file-control:active:focus:before,.btn-info.custom-file-control:active:hover:before,.btn.btn-info.active.focus,.btn.btn-info.active:focus,.btn.btn-info.active:hover,.btn.btn-info:active.focus,.btn.btn-info:active:focus,.btn.btn-info:active:hover,.open>.btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-info.dropdown-toggle.focus,.open>.btn.btn-info.dropdown-toggle:focus,.open>.btn.btn-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-info.custom-file-control:disabled.focus:before,.btn-info.custom-file-control:disabled:focus:before,.btn-info.custom-file-control:disabled:hover:before,.btn-info.disabled.custom-file-control:focus:before,.btn-info.disabled.custom-file-control:hover:before,.btn-info.disabled.focus.custom-file-control:before,.btn.btn-info.disabled.focus,.btn.btn-info.disabled:focus,.btn.btn-info.disabled:hover,.btn.btn-info:disabled.focus,.btn.btn-info:disabled:focus,.btn.btn-info:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-info.custom-file-control:before,.bg-inverse .btn.btn-info{color:#03a9f4;background-color:inherit;border-color:#ccc}.bg-inverse .btn-info.active.custom-file-control:before,.bg-inverse .btn-info.custom-file-control:active:before,.bg-inverse .btn-info.custom-file-control:focus:before,.bg-inverse .btn-info.custom-file-control:hover:before,.bg-inverse .btn-info.focus.custom-file-control:before,.bg-inverse .btn.btn-info.active,.bg-inverse .btn.btn-info.focus,.bg-inverse .btn.btn-info:active,.bg-inverse .btn.btn-info:focus,.bg-inverse .btn.btn-info:hover,.open>.bg-inverse .btn-info.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-info.active.custom-file-control:focus:before,.bg-inverse .btn-info.active.custom-file-control:hover:before,.bg-inverse .btn-info.active.focus.custom-file-control:before,.bg-inverse .btn-info.custom-file-control:active.focus:before,.bg-inverse .btn-info.custom-file-control:active:focus:before,.bg-inverse .btn-info.custom-file-control:active:hover:before,.bg-inverse .btn.btn-info.active.focus,.bg-inverse .btn.btn-info.active:focus,.bg-inverse .btn.btn-info.active:hover,.bg-inverse .btn.btn-info:active.focus,.bg-inverse .btn.btn-info:active:focus,.bg-inverse .btn.btn-info:active:hover,.open>.bg-inverse .btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-info.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-info.custom-file-control:disabled.focus:before,.bg-inverse .btn-info.custom-file-control:disabled:focus:before,.bg-inverse .btn-info.custom-file-control:disabled:hover:before,.bg-inverse .btn-info.disabled.custom-file-control:focus:before,.bg-inverse .btn-info.disabled.custom-file-control:hover:before,.bg-inverse .btn-info.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-info.disabled.focus,.bg-inverse .btn.btn-info.disabled:focus,.bg-inverse .btn.btn-info.disabled:hover,.bg-inverse .btn.btn-info:disabled.focus,.bg-inverse .btn.btn-info:disabled:focus,.bg-inverse .btn.btn-info:disabled:hover{background-color:inherit;border-color:#ccc}.btn-info.btn-link.custom-file-control:before,.btn.btn-info.btn-link{background-color:transparent}.btn-success.custom-file-control:before,.btn.btn-success{color:#4caf50;background-color:inherit;border-color:#ccc}.btn-success.active.custom-file-control:before,.btn-success.custom-file-control:active:before,.btn-success.custom-file-control:focus:before,.btn-success.custom-file-control:hover:before,.btn-success.focus.custom-file-control:before,.btn.btn-success.active,.btn.btn-success.focus,.btn.btn-success:active,.btn.btn-success:focus,.btn.btn-success:hover,.open>.btn-success.dropdown-toggle.custom-file-control:before,.open>.btn.btn-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-success.active.custom-file-control:focus:before,.btn-success.active.custom-file-control:hover:before,.btn-success.active.focus.custom-file-control:before,.btn-success.custom-file-control:active.focus:before,.btn-success.custom-file-control:active:focus:before,.btn-success.custom-file-control:active:hover:before,.btn.btn-success.active.focus,.btn.btn-success.active:focus,.btn.btn-success.active:hover,.btn.btn-success:active.focus,.btn.btn-success:active:focus,.btn.btn-success:active:hover,.open>.btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-success.dropdown-toggle.focus,.open>.btn.btn-success.dropdown-toggle:focus,.open>.btn.btn-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-success.custom-file-control:disabled.focus:before,.btn-success.custom-file-control:disabled:focus:before,.btn-success.custom-file-control:disabled:hover:before,.btn-success.disabled.custom-file-control:focus:before,.btn-success.disabled.custom-file-control:hover:before,.btn-success.disabled.focus.custom-file-control:before,.btn.btn-success.disabled.focus,.btn.btn-success.disabled:focus,.btn.btn-success.disabled:hover,.btn.btn-success:disabled.focus,.btn.btn-success:disabled:focus,.btn.btn-success:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-success.custom-file-control:before,.bg-inverse .btn.btn-success{color:#4caf50;background-color:inherit;border-color:#ccc}.bg-inverse .btn-success.active.custom-file-control:before,.bg-inverse .btn-success.custom-file-control:active:before,.bg-inverse .btn-success.custom-file-control:focus:before,.bg-inverse .btn-success.custom-file-control:hover:before,.bg-inverse .btn-success.focus.custom-file-control:before,.bg-inverse .btn.btn-success.active,.bg-inverse .btn.btn-success.focus,.bg-inverse .btn.btn-success:active,.bg-inverse .btn.btn-success:focus,.bg-inverse .btn.btn-success:hover,.open>.bg-inverse .btn-success.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-success.active.custom-file-control:focus:before,.bg-inverse .btn-success.active.custom-file-control:hover:before,.bg-inverse .btn-success.active.focus.custom-file-control:before,.bg-inverse .btn-success.custom-file-control:active.focus:before,.bg-inverse .btn-success.custom-file-control:active:focus:before,.bg-inverse .btn-success.custom-file-control:active:hover:before,.bg-inverse .btn.btn-success.active.focus,.bg-inverse .btn.btn-success.active:focus,.bg-inverse .btn.btn-success.active:hover,.bg-inverse .btn.btn-success:active.focus,.bg-inverse .btn.btn-success:active:focus,.bg-inverse .btn.btn-success:active:hover,.open>.bg-inverse .btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-success.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-success.custom-file-control:disabled.focus:before,.bg-inverse .btn-success.custom-file-control:disabled:focus:before,.bg-inverse .btn-success.custom-file-control:disabled:hover:before,.bg-inverse .btn-success.disabled.custom-file-control:focus:before,.bg-inverse .btn-success.disabled.custom-file-control:hover:before,.bg-inverse .btn-success.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-success.disabled.focus,.bg-inverse .btn.btn-success.disabled:focus,.bg-inverse .btn.btn-success.disabled:hover,.bg-inverse .btn.btn-success:disabled.focus,.bg-inverse .btn.btn-success:disabled:focus,.bg-inverse .btn.btn-success:disabled:hover{background-color:inherit;border-color:#ccc}.btn-success.btn-link.custom-file-control:before,.btn.btn-success.btn-link{background-color:transparent}.btn-warning.custom-file-control:before,.btn.btn-warning{color:#ff5722;background-color:inherit;border-color:#ccc}.btn-warning.active.custom-file-control:before,.btn-warning.custom-file-control:active:before,.btn-warning.custom-file-control:focus:before,.btn-warning.custom-file-control:hover:before,.btn-warning.focus.custom-file-control:before,.btn.btn-warning.active,.btn.btn-warning.focus,.btn.btn-warning:active,.btn.btn-warning:focus,.btn.btn-warning:hover,.open>.btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn.btn-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-warning.active.custom-file-control:focus:before,.btn-warning.active.custom-file-control:hover:before,.btn-warning.active.focus.custom-file-control:before,.btn-warning.custom-file-control:active.focus:before,.btn-warning.custom-file-control:active:focus:before,.btn-warning.custom-file-control:active:hover:before,.btn.btn-warning.active.focus,.btn.btn-warning.active:focus,.btn.btn-warning.active:hover,.btn.btn-warning:active.focus,.btn.btn-warning:active:focus,.btn.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-warning.dropdown-toggle.focus,.open>.btn.btn-warning.dropdown-toggle:focus,.open>.btn.btn-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-warning.custom-file-control:disabled.focus:before,.btn-warning.custom-file-control:disabled:focus:before,.btn-warning.custom-file-control:disabled:hover:before,.btn-warning.disabled.custom-file-control:focus:before,.btn-warning.disabled.custom-file-control:hover:before,.btn-warning.disabled.focus.custom-file-control:before,.btn.btn-warning.disabled.focus,.btn.btn-warning.disabled:focus,.btn.btn-warning.disabled:hover,.btn.btn-warning:disabled.focus,.btn.btn-warning:disabled:focus,.btn.btn-warning:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-warning.custom-file-control:before,.bg-inverse .btn.btn-warning{color:#ff5722;background-color:inherit;border-color:#ccc}.bg-inverse .btn-warning.active.custom-file-control:before,.bg-inverse .btn-warning.custom-file-control:active:before,.bg-inverse .btn-warning.custom-file-control:focus:before,.bg-inverse .btn-warning.custom-file-control:hover:before,.bg-inverse .btn-warning.focus.custom-file-control:before,.bg-inverse .btn.btn-warning.active,.bg-inverse .btn.btn-warning.focus,.bg-inverse .btn.btn-warning:active,.bg-inverse .btn.btn-warning:focus,.bg-inverse .btn.btn-warning:hover,.open>.bg-inverse .btn-warning.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-warning.active.custom-file-control:focus:before,.bg-inverse .btn-warning.active.custom-file-control:hover:before,.bg-inverse .btn-warning.active.focus.custom-file-control:before,.bg-inverse .btn-warning.custom-file-control:active.focus:before,.bg-inverse .btn-warning.custom-file-control:active:focus:before,.bg-inverse .btn-warning.custom-file-control:active:hover:before,.bg-inverse .btn.btn-warning.active.focus,.bg-inverse .btn.btn-warning.active:focus,.bg-inverse .btn.btn-warning.active:hover,.bg-inverse .btn.btn-warning:active.focus,.bg-inverse .btn.btn-warning:active:focus,.bg-inverse .btn.btn-warning:active:hover,.open>.bg-inverse .btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-warning.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-warning.custom-file-control:disabled.focus:before,.bg-inverse .btn-warning.custom-file-control:disabled:focus:before,.bg-inverse .btn-warning.custom-file-control:disabled:hover:before,.bg-inverse .btn-warning.disabled.custom-file-control:focus:before,.bg-inverse .btn-warning.disabled.custom-file-control:hover:before,.bg-inverse .btn-warning.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-warning.disabled.focus,.bg-inverse .btn.btn-warning.disabled:focus,.bg-inverse .btn.btn-warning.disabled:hover,.bg-inverse .btn.btn-warning:disabled.focus,.bg-inverse .btn.btn-warning:disabled:focus,.bg-inverse .btn.btn-warning:disabled:hover{background-color:inherit;border-color:#ccc}.btn-warning.btn-link.custom-file-control:before,.btn.btn-warning.btn-link{background-color:transparent}.btn-danger.custom-file-control:before,.btn.btn-danger{color:#f44336;background-color:inherit;border-color:#ccc}.btn-danger.active.custom-file-control:before,.btn-danger.custom-file-control:active:before,.btn-danger.custom-file-control:focus:before,.btn-danger.custom-file-control:hover:before,.btn-danger.focus.custom-file-control:before,.btn.btn-danger.active,.btn.btn-danger.focus,.btn.btn-danger:active,.btn.btn-danger:focus,.btn.btn-danger:hover,.open>.btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn.btn-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,60%,.2);border-color:hsla(0,0%,60%,.2)}.btn-danger.active.custom-file-control:focus:before,.btn-danger.active.custom-file-control:hover:before,.btn-danger.active.focus.custom-file-control:before,.btn-danger.custom-file-control:active.focus:before,.btn-danger.custom-file-control:active:focus:before,.btn-danger.custom-file-control:active:hover:before,.btn.btn-danger.active.focus,.btn.btn-danger.active:focus,.btn.btn-danger.active:hover,.btn.btn-danger:active.focus,.btn.btn-danger:active:focus,.btn.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-danger.dropdown-toggle.focus,.open>.btn.btn-danger.dropdown-toggle:focus,.open>.btn.btn-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,60%,.4);border-color:hsla(0,0%,60%,.4)}.open>.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-danger.custom-file-control:disabled.focus:before,.btn-danger.custom-file-control:disabled:focus:before,.btn-danger.custom-file-control:disabled:hover:before,.btn-danger.disabled.custom-file-control:focus:before,.btn-danger.disabled.custom-file-control:hover:before,.btn-danger.disabled.focus.custom-file-control:before,.btn.btn-danger.disabled.focus,.btn.btn-danger.disabled:focus,.btn.btn-danger.disabled:hover,.btn.btn-danger:disabled.focus,.btn.btn-danger:disabled:focus,.btn.btn-danger:disabled:hover{background-color:inherit;border-color:#ccc}.bg-inverse .btn-danger.custom-file-control:before,.bg-inverse .btn.btn-danger{color:#f44336;background-color:inherit;border-color:#ccc}.bg-inverse .btn-danger.active.custom-file-control:before,.bg-inverse .btn-danger.custom-file-control:active:before,.bg-inverse .btn-danger.custom-file-control:focus:before,.bg-inverse .btn-danger.custom-file-control:hover:before,.bg-inverse .btn-danger.focus.custom-file-control:before,.bg-inverse .btn.btn-danger.active,.bg-inverse .btn.btn-danger.focus,.bg-inverse .btn.btn-danger:active,.bg-inverse .btn.btn-danger:focus,.bg-inverse .btn.btn-danger:hover,.open>.bg-inverse .btn-danger.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-danger.active.custom-file-control:focus:before,.bg-inverse .btn-danger.active.custom-file-control:hover:before,.bg-inverse .btn-danger.active.focus.custom-file-control:before,.bg-inverse .btn-danger.custom-file-control:active.focus:before,.bg-inverse .btn-danger.custom-file-control:active:focus:before,.bg-inverse .btn-danger.custom-file-control:active:hover:before,.bg-inverse .btn.btn-danger.active.focus,.bg-inverse .btn.btn-danger.active:focus,.bg-inverse .btn.btn-danger.active:hover,.bg-inverse .btn.btn-danger:active.focus,.bg-inverse .btn.btn-danger:active:focus,.bg-inverse .btn.btn-danger:active:hover,.open>.bg-inverse .btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-danger.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-danger.custom-file-control:disabled.focus:before,.bg-inverse .btn-danger.custom-file-control:disabled:focus:before,.bg-inverse .btn-danger.custom-file-control:disabled:hover:before,.bg-inverse .btn-danger.disabled.custom-file-control:focus:before,.bg-inverse .btn-danger.disabled.custom-file-control:hover:before,.bg-inverse .btn-danger.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-danger.disabled.focus,.bg-inverse .btn.btn-danger.disabled:focus,.bg-inverse .btn.btn-danger.disabled:hover,.bg-inverse .btn.btn-danger:disabled.focus,.bg-inverse .btn.btn-danger:disabled:focus,.bg-inverse .btn.btn-danger:disabled:hover{background-color:inherit;border-color:#ccc}.btn-danger.btn-link.custom-file-control:before,.btn.btn-danger.btn-link{background-color:transparent}.bmd-btn-fab.btn-primary.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:before,.btn-group-raised .btn.btn-primary,.btn-raised.btn-primary.custom-file-control:before,.btn.bmd-btn-fab.btn-primary,.btn.btn-raised.btn-primary{color:#fff;background-color:#009688;border-color:#009688}.bmd-btn-fab.btn-primary.active.custom-file-control:before,.bmd-btn-fab.btn-primary.custom-file-control:active:before,.bmd-btn-fab.btn-primary.custom-file-control:focus:before,.bmd-btn-fab.btn-primary.custom-file-control:hover:before,.bmd-btn-fab.btn-primary.focus.custom-file-control:before,.btn-group-raised .btn-primary.active.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:active:before,.btn-group-raised .btn-primary.custom-file-control:focus:before,.btn-group-raised .btn-primary.custom-file-control:hover:before,.btn-group-raised .btn-primary.focus.custom-file-control:before,.btn-group-raised .btn.btn-primary.active,.btn-group-raised .btn.btn-primary.focus,.btn-group-raised .btn.btn-primary:active,.btn-group-raised .btn.btn-primary:focus,.btn-group-raised .btn.btn-primary:hover,.btn-raised.btn-primary.active.custom-file-control:before,.btn-raised.btn-primary.custom-file-control:active:before,.btn-raised.btn-primary.custom-file-control:focus:before,.btn-raised.btn-primary.custom-file-control:hover:before,.btn-raised.btn-primary.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-primary.active,.btn.bmd-btn-fab.btn-primary.focus,.btn.bmd-btn-fab.btn-primary:active,.btn.bmd-btn-fab.btn-primary:focus,.btn.bmd-btn-fab.btn-primary:hover,.btn.btn-raised.btn-primary.active,.btn.btn-raised.btn-primary.focus,.btn.btn-raised.btn-primary:active,.btn.btn-raised.btn-primary:focus,.btn.btn-raised.btn-primary:hover,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle,.open>.btn-raised.btn-primary.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle,.open>.btn.btn-raised.btn-primary.dropdown-toggle{color:#fff;background-color:#008276;border-color:#005951}.bmd-btn-fab.btn-primary.active.custom-file-control:focus:before,.bmd-btn-fab.btn-primary.active.custom-file-control:hover:before,.bmd-btn-fab.btn-primary.active.focus.custom-file-control:before,.bmd-btn-fab.btn-primary.custom-file-control:active.focus:before,.bmd-btn-fab.btn-primary.custom-file-control:active:focus:before,.bmd-btn-fab.btn-primary.custom-file-control:active:hover:before,.btn-group-raised .btn-primary.active.custom-file-control:focus:before,.btn-group-raised .btn-primary.active.custom-file-control:hover:before,.btn-group-raised .btn-primary.active.focus.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:active.focus:before,.btn-group-raised .btn-primary.custom-file-control:active:focus:before,.btn-group-raised .btn-primary.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-primary.active.focus,.btn-group-raised .btn.btn-primary.active:focus,.btn-group-raised .btn.btn-primary.active:hover,.btn-group-raised .btn.btn-primary:active.focus,.btn-group-raised .btn.btn-primary:active:focus,.btn-group-raised .btn.btn-primary:active:hover,.btn-raised.btn-primary.active.custom-file-control:focus:before,.btn-raised.btn-primary.active.custom-file-control:hover:before,.btn-raised.btn-primary.active.focus.custom-file-control:before,.btn-raised.btn-primary.custom-file-control:active.focus:before,.btn-raised.btn-primary.custom-file-control:active:focus:before,.btn-raised.btn-primary.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-primary.active.focus,.btn.bmd-btn-fab.btn-primary.active:focus,.btn.bmd-btn-fab.btn-primary.active:hover,.btn.bmd-btn-fab.btn-primary:active.focus,.btn.bmd-btn-fab.btn-primary:active:focus,.btn.bmd-btn-fab.btn-primary:active:hover,.btn.btn-raised.btn-primary.active.focus,.btn.btn-raised.btn-primary.active:focus,.btn.btn-raised.btn-primary.active:hover,.btn.btn-raised.btn-primary:active.focus,.btn.btn-raised.btn-primary:active:focus,.btn.btn-raised.btn-primary:active:hover,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle:hover,.open>.btn-raised.btn-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle:hover,.open>.btn.btn-raised.btn-primary.dropdown-toggle.focus,.open>.btn.btn-raised.btn-primary.dropdown-toggle:focus,.open>.btn.btn-raised.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#008276;border-color:#001714}.open>.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#009688}.open>.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-primary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-primary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:#008276}.bmd-btn-fab.btn-primary.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-primary.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-primary.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-primary.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-primary.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-primary.disabled.focus.custom-file-control:before,.btn-group-raised .btn-primary.custom-file-control:disabled.focus:before,.btn-group-raised .btn-primary.custom-file-control:disabled:focus:before,.btn-group-raised .btn-primary.custom-file-control:disabled:hover:before,.btn-group-raised .btn-primary.disabled.custom-file-control:focus:before,.btn-group-raised .btn-primary.disabled.custom-file-control:hover:before,.btn-group-raised .btn-primary.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-primary.disabled.focus,.btn-group-raised .btn.btn-primary.disabled:focus,.btn-group-raised .btn.btn-primary.disabled:hover,.btn-group-raised .btn.btn-primary:disabled.focus,.btn-group-raised .btn.btn-primary:disabled:focus,.btn-group-raised .btn.btn-primary:disabled:hover,.btn-raised.btn-primary.custom-file-control:disabled.focus:before,.btn-raised.btn-primary.custom-file-control:disabled:focus:before,.btn-raised.btn-primary.custom-file-control:disabled:hover:before,.btn-raised.btn-primary.disabled.custom-file-control:focus:before,.btn-raised.btn-primary.disabled.custom-file-control:hover:before,.btn-raised.btn-primary.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-primary.disabled.focus,.btn.bmd-btn-fab.btn-primary.disabled:focus,.btn.bmd-btn-fab.btn-primary.disabled:hover,.btn.bmd-btn-fab.btn-primary:disabled.focus,.btn.bmd-btn-fab.btn-primary:disabled:focus,.btn.bmd-btn-fab.btn-primary:disabled:hover,.btn.btn-raised.btn-primary.disabled.focus,.btn.btn-raised.btn-primary.disabled:focus,.btn.btn-raised.btn-primary.disabled:hover,.btn.btn-raised.btn-primary:disabled.focus,.btn.btn-raised.btn-primary:disabled:focus,.btn.btn-raised.btn-primary:disabled:hover{background-color:#009688;border-color:#009688}.bmd-btn-fab.btn-secondary.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:before,.btn-group-raised .btn.btn-secondary,.btn-raised.btn-secondary.custom-file-control:before,.btn.bmd-btn-fab.btn-secondary,.btn.btn-raised.btn-secondary{color:rgba(0,0,0,.87);background-color:#fafafa;border-color:#ccc}.bmd-btn-fab.btn-secondary.active.custom-file-control:before,.bmd-btn-fab.btn-secondary.custom-file-control:active:before,.bmd-btn-fab.btn-secondary.custom-file-control:focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:hover:before,.bmd-btn-fab.btn-secondary.focus.custom-file-control:before,.btn-group-raised .btn-secondary.active.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:active:before,.btn-group-raised .btn-secondary.custom-file-control:focus:before,.btn-group-raised .btn-secondary.custom-file-control:hover:before,.btn-group-raised .btn-secondary.focus.custom-file-control:before,.btn-group-raised .btn.btn-secondary.active,.btn-group-raised .btn.btn-secondary.focus,.btn-group-raised .btn.btn-secondary:active,.btn-group-raised .btn.btn-secondary:focus,.btn-group-raised .btn.btn-secondary:hover,.btn-raised.btn-secondary.active.custom-file-control:before,.btn-raised.btn-secondary.custom-file-control:active:before,.btn-raised.btn-secondary.custom-file-control:focus:before,.btn-raised.btn-secondary.custom-file-control:hover:before,.btn-raised.btn-secondary.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-secondary.active,.btn.bmd-btn-fab.btn-secondary.focus,.btn.bmd-btn-fab.btn-secondary:active,.btn.bmd-btn-fab.btn-secondary:focus,.btn.bmd-btn-fab.btn-secondary:hover,.btn.btn-raised.btn-secondary.active,.btn.btn-raised.btn-secondary.focus,.btn.btn-raised.btn-secondary:active,.btn.btn-raised.btn-secondary:focus,.btn.btn-raised.btn-secondary:hover,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle,.open>.btn-raised.btn-secondary.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle,.open>.btn.btn-raised.btn-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:#f0f0f0;border-color:#adadad}.bmd-btn-fab.btn-secondary.active.custom-file-control:focus:before,.bmd-btn-fab.btn-secondary.active.custom-file-control:hover:before,.bmd-btn-fab.btn-secondary.active.focus.custom-file-control:before,.bmd-btn-fab.btn-secondary.custom-file-control:active.focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:active:focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:active:hover:before,.btn-group-raised .btn-secondary.active.custom-file-control:focus:before,.btn-group-raised .btn-secondary.active.custom-file-control:hover:before,.btn-group-raised .btn-secondary.active.focus.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:active.focus:before,.btn-group-raised .btn-secondary.custom-file-control:active:focus:before,.btn-group-raised .btn-secondary.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-secondary.active.focus,.btn-group-raised .btn.btn-secondary.active:focus,.btn-group-raised .btn.btn-secondary.active:hover,.btn-group-raised .btn.btn-secondary:active.focus,.btn-group-raised .btn.btn-secondary:active:focus,.btn-group-raised .btn.btn-secondary:active:hover,.btn-raised.btn-secondary.active.custom-file-control:focus:before,.btn-raised.btn-secondary.active.custom-file-control:hover:before,.btn-raised.btn-secondary.active.focus.custom-file-control:before,.btn-raised.btn-secondary.custom-file-control:active.focus:before,.btn-raised.btn-secondary.custom-file-control:active:focus:before,.btn-raised.btn-secondary.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-secondary.active.focus,.btn.bmd-btn-fab.btn-secondary.active:focus,.btn.bmd-btn-fab.btn-secondary.active:hover,.btn.bmd-btn-fab.btn-secondary:active.focus,.btn.bmd-btn-fab.btn-secondary:active:focus,.btn.bmd-btn-fab.btn-secondary:active:hover,.btn.btn-raised.btn-secondary.active.focus,.btn.btn-raised.btn-secondary.active:focus,.btn.btn-raised.btn-secondary.active:hover,.btn.btn-raised.btn-secondary:active.focus,.btn.btn-raised.btn-secondary:active:focus,.btn.btn-raised.btn-secondary:active:hover,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle:hover,.open>.btn-raised.btn-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle:hover,.open>.btn.btn-raised.btn-secondary.dropdown-toggle.focus,.open>.btn.btn-raised.btn-secondary.dropdown-toggle:focus,.open>.btn.btn-raised.btn-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:#f0f0f0;border-color:#8c8c8c}.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#fafafa}.open>.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-secondary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-secondary.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:#f0f0f0}.bmd-btn-fab.btn-secondary.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-secondary.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-secondary.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-secondary.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-secondary.disabled.focus.custom-file-control:before,.btn-group-raised .btn-secondary.custom-file-control:disabled.focus:before,.btn-group-raised .btn-secondary.custom-file-control:disabled:focus:before,.btn-group-raised .btn-secondary.custom-file-control:disabled:hover:before,.btn-group-raised .btn-secondary.disabled.custom-file-control:focus:before,.btn-group-raised .btn-secondary.disabled.custom-file-control:hover:before,.btn-group-raised .btn-secondary.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-secondary.disabled.focus,.btn-group-raised .btn.btn-secondary.disabled:focus,.btn-group-raised .btn.btn-secondary.disabled:hover,.btn-group-raised .btn.btn-secondary:disabled.focus,.btn-group-raised .btn.btn-secondary:disabled:focus,.btn-group-raised .btn.btn-secondary:disabled:hover,.btn-raised.btn-secondary.custom-file-control:disabled.focus:before,.btn-raised.btn-secondary.custom-file-control:disabled:focus:before,.btn-raised.btn-secondary.custom-file-control:disabled:hover:before,.btn-raised.btn-secondary.disabled.custom-file-control:focus:before,.btn-raised.btn-secondary.disabled.custom-file-control:hover:before,.btn-raised.btn-secondary.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-secondary.disabled.focus,.btn.bmd-btn-fab.btn-secondary.disabled:focus,.btn.bmd-btn-fab.btn-secondary.disabled:hover,.btn.bmd-btn-fab.btn-secondary:disabled.focus,.btn.bmd-btn-fab.btn-secondary:disabled:focus,.btn.bmd-btn-fab.btn-secondary:disabled:hover,.btn.btn-raised.btn-secondary.disabled.focus,.btn.btn-raised.btn-secondary.disabled:focus,.btn.btn-raised.btn-secondary.disabled:hover,.btn.btn-raised.btn-secondary:disabled.focus,.btn.btn-raised.btn-secondary:disabled:focus,.btn.btn-raised.btn-secondary:disabled:hover{background-color:#fafafa;border-color:#ccc}.bmd-btn-fab.btn-info.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:before,.btn-group-raised .btn.btn-info,.btn-raised.btn-info.custom-file-control:before,.btn.bmd-btn-fab.btn-info,.btn.btn-raised.btn-info{color:#fff;background-color:#03a9f4;border-color:#03a9f4}.bmd-btn-fab.btn-info.active.custom-file-control:before,.bmd-btn-fab.btn-info.custom-file-control:active:before,.bmd-btn-fab.btn-info.custom-file-control:focus:before,.bmd-btn-fab.btn-info.custom-file-control:hover:before,.bmd-btn-fab.btn-info.focus.custom-file-control:before,.btn-group-raised .btn-info.active.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:active:before,.btn-group-raised .btn-info.custom-file-control:focus:before,.btn-group-raised .btn-info.custom-file-control:hover:before,.btn-group-raised .btn-info.focus.custom-file-control:before,.btn-group-raised .btn.btn-info.active,.btn-group-raised .btn.btn-info.focus,.btn-group-raised .btn.btn-info:active,.btn-group-raised .btn.btn-info:focus,.btn-group-raised .btn.btn-info:hover,.btn-raised.btn-info.active.custom-file-control:before,.btn-raised.btn-info.custom-file-control:active:before,.btn-raised.btn-info.custom-file-control:focus:before,.btn-raised.btn-info.custom-file-control:hover:before,.btn-raised.btn-info.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-info.active,.btn.bmd-btn-fab.btn-info.focus,.btn.bmd-btn-fab.btn-info:active,.btn.bmd-btn-fab.btn-info:focus,.btn.bmd-btn-fab.btn-info:hover,.btn.btn-raised.btn-info.active,.btn.btn-raised.btn-info.focus,.btn.btn-raised.btn-info:active,.btn.btn-raised.btn-info:focus,.btn.btn-raised.btn-info:hover,.open>.bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-info.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle,.open>.btn-raised.btn-info.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle,.open>.btn.btn-raised.btn-info.dropdown-toggle{color:#fff;background-color:#039be0;border-color:#027fb8}.bmd-btn-fab.btn-info.active.custom-file-control:focus:before,.bmd-btn-fab.btn-info.active.custom-file-control:hover:before,.bmd-btn-fab.btn-info.active.focus.custom-file-control:before,.bmd-btn-fab.btn-info.custom-file-control:active.focus:before,.bmd-btn-fab.btn-info.custom-file-control:active:focus:before,.bmd-btn-fab.btn-info.custom-file-control:active:hover:before,.btn-group-raised .btn-info.active.custom-file-control:focus:before,.btn-group-raised .btn-info.active.custom-file-control:hover:before,.btn-group-raised .btn-info.active.focus.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:active.focus:before,.btn-group-raised .btn-info.custom-file-control:active:focus:before,.btn-group-raised .btn-info.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-info.active.focus,.btn-group-raised .btn.btn-info.active:focus,.btn-group-raised .btn.btn-info.active:hover,.btn-group-raised .btn.btn-info:active.focus,.btn-group-raised .btn.btn-info:active:focus,.btn-group-raised .btn.btn-info:active:hover,.btn-raised.btn-info.active.custom-file-control:focus:before,.btn-raised.btn-info.active.custom-file-control:hover:before,.btn-raised.btn-info.active.focus.custom-file-control:before,.btn-raised.btn-info.custom-file-control:active.focus:before,.btn-raised.btn-info.custom-file-control:active:focus:before,.btn-raised.btn-info.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-info.active.focus,.btn.bmd-btn-fab.btn-info.active:focus,.btn.bmd-btn-fab.btn-info.active:hover,.btn.bmd-btn-fab.btn-info:active.focus,.btn.bmd-btn-fab.btn-info:active:focus,.btn.bmd-btn-fab.btn-info:active:hover,.btn.btn-raised.btn-info.active.focus,.btn.btn-raised.btn-info.active:focus,.btn.btn-raised.btn-info.active:hover,.btn.btn-raised.btn-info:active.focus,.btn.btn-raised.btn-info:active:focus,.btn.btn-raised.btn-info:active:hover,.open>.bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-info.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-info.dropdown-toggle:hover,.open>.btn-raised.btn-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle:hover,.open>.btn.btn-raised.btn-info.dropdown-toggle.focus,.open>.btn.btn-raised.btn-info.dropdown-toggle:focus,.open>.btn.btn-raised.btn-info.dropdown-toggle:hover{color:#fff;background-color:#039be0;border-color:#015276}.open>.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#03a9f4}.open>.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-info.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-info.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-info.dropdown-toggle.bmd-btn-icon:hover{background-color:#039be0}.bmd-btn-fab.btn-info.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-info.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-info.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-info.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-info.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-info.disabled.focus.custom-file-control:before,.btn-group-raised .btn-info.custom-file-control:disabled.focus:before,.btn-group-raised .btn-info.custom-file-control:disabled:focus:before,.btn-group-raised .btn-info.custom-file-control:disabled:hover:before,.btn-group-raised .btn-info.disabled.custom-file-control:focus:before,.btn-group-raised .btn-info.disabled.custom-file-control:hover:before,.btn-group-raised .btn-info.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-info.disabled.focus,.btn-group-raised .btn.btn-info.disabled:focus,.btn-group-raised .btn.btn-info.disabled:hover,.btn-group-raised .btn.btn-info:disabled.focus,.btn-group-raised .btn.btn-info:disabled:focus,.btn-group-raised .btn.btn-info:disabled:hover,.btn-raised.btn-info.custom-file-control:disabled.focus:before,.btn-raised.btn-info.custom-file-control:disabled:focus:before,.btn-raised.btn-info.custom-file-control:disabled:hover:before,.btn-raised.btn-info.disabled.custom-file-control:focus:before,.btn-raised.btn-info.disabled.custom-file-control:hover:before,.btn-raised.btn-info.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-info.disabled.focus,.btn.bmd-btn-fab.btn-info.disabled:focus,.btn.bmd-btn-fab.btn-info.disabled:hover,.btn.bmd-btn-fab.btn-info:disabled.focus,.btn.bmd-btn-fab.btn-info:disabled:focus,.btn.bmd-btn-fab.btn-info:disabled:hover,.btn.btn-raised.btn-info.disabled.focus,.btn.btn-raised.btn-info.disabled:focus,.btn.btn-raised.btn-info.disabled:hover,.btn.btn-raised.btn-info:disabled.focus,.btn.btn-raised.btn-info:disabled:focus,.btn.btn-raised.btn-info:disabled:hover{background-color:#03a9f4;border-color:#03a9f4}.bmd-btn-fab.btn-success.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:before,.btn-group-raised .btn.btn-success,.btn-raised.btn-success.custom-file-control:before,.btn.bmd-btn-fab.btn-success,.btn.btn-raised.btn-success{color:#fff;background-color:#4caf50;border-color:#4caf50}.bmd-btn-fab.btn-success.active.custom-file-control:before,.bmd-btn-fab.btn-success.custom-file-control:active:before,.bmd-btn-fab.btn-success.custom-file-control:focus:before,.bmd-btn-fab.btn-success.custom-file-control:hover:before,.bmd-btn-fab.btn-success.focus.custom-file-control:before,.btn-group-raised .btn-success.active.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:active:before,.btn-group-raised .btn-success.custom-file-control:focus:before,.btn-group-raised .btn-success.custom-file-control:hover:before,.btn-group-raised .btn-success.focus.custom-file-control:before,.btn-group-raised .btn.btn-success.active,.btn-group-raised .btn.btn-success.focus,.btn-group-raised .btn.btn-success:active,.btn-group-raised .btn.btn-success:focus,.btn-group-raised .btn.btn-success:hover,.btn-raised.btn-success.active.custom-file-control:before,.btn-raised.btn-success.custom-file-control:active:before,.btn-raised.btn-success.custom-file-control:focus:before,.btn-raised.btn-success.custom-file-control:hover:before,.btn-raised.btn-success.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-success.active,.btn.bmd-btn-fab.btn-success.focus,.btn.bmd-btn-fab.btn-success:active,.btn.bmd-btn-fab.btn-success:focus,.btn.bmd-btn-fab.btn-success:hover,.btn.btn-raised.btn-success.active,.btn.btn-raised.btn-success.focus,.btn.btn-raised.btn-success:active,.btn.btn-raised.btn-success:focus,.btn.btn-raised.btn-success:hover,.open>.bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-success.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle,.open>.btn-raised.btn-success.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle,.open>.btn.btn-raised.btn-success.dropdown-toggle{color:#fff;background-color:#46a149;border-color:#39843c}.bmd-btn-fab.btn-success.active.custom-file-control:focus:before,.bmd-btn-fab.btn-success.active.custom-file-control:hover:before,.bmd-btn-fab.btn-success.active.focus.custom-file-control:before,.bmd-btn-fab.btn-success.custom-file-control:active.focus:before,.bmd-btn-fab.btn-success.custom-file-control:active:focus:before,.bmd-btn-fab.btn-success.custom-file-control:active:hover:before,.btn-group-raised .btn-success.active.custom-file-control:focus:before,.btn-group-raised .btn-success.active.custom-file-control:hover:before,.btn-group-raised .btn-success.active.focus.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:active.focus:before,.btn-group-raised .btn-success.custom-file-control:active:focus:before,.btn-group-raised .btn-success.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-success.active.focus,.btn-group-raised .btn.btn-success.active:focus,.btn-group-raised .btn.btn-success.active:hover,.btn-group-raised .btn.btn-success:active.focus,.btn-group-raised .btn.btn-success:active:focus,.btn-group-raised .btn.btn-success:active:hover,.btn-raised.btn-success.active.custom-file-control:focus:before,.btn-raised.btn-success.active.custom-file-control:hover:before,.btn-raised.btn-success.active.focus.custom-file-control:before,.btn-raised.btn-success.custom-file-control:active.focus:before,.btn-raised.btn-success.custom-file-control:active:focus:before,.btn-raised.btn-success.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-success.active.focus,.btn.bmd-btn-fab.btn-success.active:focus,.btn.bmd-btn-fab.btn-success.active:hover,.btn.bmd-btn-fab.btn-success:active.focus,.btn.bmd-btn-fab.btn-success:active:focus,.btn.bmd-btn-fab.btn-success:active:hover,.btn.btn-raised.btn-success.active.focus,.btn.btn-raised.btn-success.active:focus,.btn.btn-raised.btn-success.active:hover,.btn.btn-raised.btn-success:active.focus,.btn.btn-raised.btn-success:active:focus,.btn.btn-raised.btn-success:active:hover,.open>.bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-success.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-success.dropdown-toggle:hover,.open>.btn-raised.btn-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle:hover,.open>.btn.btn-raised.btn-success.dropdown-toggle.focus,.open>.btn.btn-raised.btn-success.dropdown-toggle:focus,.open>.btn.btn-raised.btn-success.dropdown-toggle:hover{color:#fff;background-color:#46a149;border-color:#255627}.open>.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#4caf50}.open>.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-success.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-success.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-success.dropdown-toggle.bmd-btn-icon:hover{background-color:#46a149}.bmd-btn-fab.btn-success.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-success.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-success.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-success.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-success.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-success.disabled.focus.custom-file-control:before,.btn-group-raised .btn-success.custom-file-control:disabled.focus:before,.btn-group-raised .btn-success.custom-file-control:disabled:focus:before,.btn-group-raised .btn-success.custom-file-control:disabled:hover:before,.btn-group-raised .btn-success.disabled.custom-file-control:focus:before,.btn-group-raised .btn-success.disabled.custom-file-control:hover:before,.btn-group-raised .btn-success.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-success.disabled.focus,.btn-group-raised .btn.btn-success.disabled:focus,.btn-group-raised .btn.btn-success.disabled:hover,.btn-group-raised .btn.btn-success:disabled.focus,.btn-group-raised .btn.btn-success:disabled:focus,.btn-group-raised .btn.btn-success:disabled:hover,.btn-raised.btn-success.custom-file-control:disabled.focus:before,.btn-raised.btn-success.custom-file-control:disabled:focus:before,.btn-raised.btn-success.custom-file-control:disabled:hover:before,.btn-raised.btn-success.disabled.custom-file-control:focus:before,.btn-raised.btn-success.disabled.custom-file-control:hover:before,.btn-raised.btn-success.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-success.disabled.focus,.btn.bmd-btn-fab.btn-success.disabled:focus,.btn.bmd-btn-fab.btn-success.disabled:hover,.btn.bmd-btn-fab.btn-success:disabled.focus,.btn.bmd-btn-fab.btn-success:disabled:focus,.btn.bmd-btn-fab.btn-success:disabled:hover,.btn.btn-raised.btn-success.disabled.focus,.btn.btn-raised.btn-success.disabled:focus,.btn.btn-raised.btn-success.disabled:hover,.btn.btn-raised.btn-success:disabled.focus,.btn.btn-raised.btn-success:disabled:focus,.btn.btn-raised.btn-success:disabled:hover{background-color:#4caf50;border-color:#4caf50}.bmd-btn-fab.btn-warning.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:before,.btn-group-raised .btn.btn-warning,.btn-raised.btn-warning.custom-file-control:before,.btn.bmd-btn-fab.btn-warning,.btn.btn-raised.btn-warning{color:#fff;background-color:#ff5722;border-color:#ff5722}.bmd-btn-fab.btn-warning.active.custom-file-control:before,.bmd-btn-fab.btn-warning.custom-file-control:active:before,.bmd-btn-fab.btn-warning.custom-file-control:focus:before,.bmd-btn-fab.btn-warning.custom-file-control:hover:before,.bmd-btn-fab.btn-warning.focus.custom-file-control:before,.btn-group-raised .btn-warning.active.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:active:before,.btn-group-raised .btn-warning.custom-file-control:focus:before,.btn-group-raised .btn-warning.custom-file-control:hover:before,.btn-group-raised .btn-warning.focus.custom-file-control:before,.btn-group-raised .btn.btn-warning.active,.btn-group-raised .btn.btn-warning.focus,.btn-group-raised .btn.btn-warning:active,.btn-group-raised .btn.btn-warning:focus,.btn-group-raised .btn.btn-warning:hover,.btn-raised.btn-warning.active.custom-file-control:before,.btn-raised.btn-warning.custom-file-control:active:before,.btn-raised.btn-warning.custom-file-control:focus:before,.btn-raised.btn-warning.custom-file-control:hover:before,.btn-raised.btn-warning.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-warning.active,.btn.bmd-btn-fab.btn-warning.focus,.btn.bmd-btn-fab.btn-warning:active,.btn.bmd-btn-fab.btn-warning:focus,.btn.bmd-btn-fab.btn-warning:hover,.btn.btn-raised.btn-warning.active,.btn.btn-raised.btn-warning.focus,.btn.btn-raised.btn-warning:active,.btn.btn-raised.btn-warning:focus,.btn.btn-raised.btn-warning:hover,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle,.open>.btn-raised.btn-warning.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle,.open>.btn.btn-raised.btn-warning.dropdown-toggle{color:#fff;background-color:#ff470e;border-color:#e43700}.bmd-btn-fab.btn-warning.active.custom-file-control:focus:before,.bmd-btn-fab.btn-warning.active.custom-file-control:hover:before,.bmd-btn-fab.btn-warning.active.focus.custom-file-control:before,.bmd-btn-fab.btn-warning.custom-file-control:active.focus:before,.bmd-btn-fab.btn-warning.custom-file-control:active:focus:before,.bmd-btn-fab.btn-warning.custom-file-control:active:hover:before,.btn-group-raised .btn-warning.active.custom-file-control:focus:before,.btn-group-raised .btn-warning.active.custom-file-control:hover:before,.btn-group-raised .btn-warning.active.focus.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:active.focus:before,.btn-group-raised .btn-warning.custom-file-control:active:focus:before,.btn-group-raised .btn-warning.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-warning.active.focus,.btn-group-raised .btn.btn-warning.active:focus,.btn-group-raised .btn.btn-warning.active:hover,.btn-group-raised .btn.btn-warning:active.focus,.btn-group-raised .btn.btn-warning:active:focus,.btn-group-raised .btn.btn-warning:active:hover,.btn-raised.btn-warning.active.custom-file-control:focus:before,.btn-raised.btn-warning.active.custom-file-control:hover:before,.btn-raised.btn-warning.active.focus.custom-file-control:before,.btn-raised.btn-warning.custom-file-control:active.focus:before,.btn-raised.btn-warning.custom-file-control:active:focus:before,.btn-raised.btn-warning.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-warning.active.focus,.btn.bmd-btn-fab.btn-warning.active:focus,.btn.bmd-btn-fab.btn-warning.active:hover,.btn.bmd-btn-fab.btn-warning:active.focus,.btn.bmd-btn-fab.btn-warning:active:focus,.btn.bmd-btn-fab.btn-warning:active:hover,.btn.btn-raised.btn-warning.active.focus,.btn.btn-raised.btn-warning.active:focus,.btn.btn-raised.btn-warning.active:hover,.btn.btn-raised.btn-warning:active.focus,.btn.btn-raised.btn-warning:active:focus,.btn.btn-raised.btn-warning:active:hover,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle:hover,.open>.btn-raised.btn-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle:hover,.open>.btn.btn-raised.btn-warning.dropdown-toggle.focus,.open>.btn.btn-raised.btn-warning.dropdown-toggle:focus,.open>.btn.btn-raised.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#ff470e;border-color:#a22700}.open>.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#ff5722}.open>.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-warning.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-warning.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:#ff470e}.bmd-btn-fab.btn-warning.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-warning.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-warning.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-warning.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-warning.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-warning.disabled.focus.custom-file-control:before,.btn-group-raised .btn-warning.custom-file-control:disabled.focus:before,.btn-group-raised .btn-warning.custom-file-control:disabled:focus:before,.btn-group-raised .btn-warning.custom-file-control:disabled:hover:before,.btn-group-raised .btn-warning.disabled.custom-file-control:focus:before,.btn-group-raised .btn-warning.disabled.custom-file-control:hover:before,.btn-group-raised .btn-warning.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-warning.disabled.focus,.btn-group-raised .btn.btn-warning.disabled:focus,.btn-group-raised .btn.btn-warning.disabled:hover,.btn-group-raised .btn.btn-warning:disabled.focus,.btn-group-raised .btn.btn-warning:disabled:focus,.btn-group-raised .btn.btn-warning:disabled:hover,.btn-raised.btn-warning.custom-file-control:disabled.focus:before,.btn-raised.btn-warning.custom-file-control:disabled:focus:before,.btn-raised.btn-warning.custom-file-control:disabled:hover:before,.btn-raised.btn-warning.disabled.custom-file-control:focus:before,.btn-raised.btn-warning.disabled.custom-file-control:hover:before,.btn-raised.btn-warning.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-warning.disabled.focus,.btn.bmd-btn-fab.btn-warning.disabled:focus,.btn.bmd-btn-fab.btn-warning.disabled:hover,.btn.bmd-btn-fab.btn-warning:disabled.focus,.btn.bmd-btn-fab.btn-warning:disabled:focus,.btn.bmd-btn-fab.btn-warning:disabled:hover,.btn.btn-raised.btn-warning.disabled.focus,.btn.btn-raised.btn-warning.disabled:focus,.btn.btn-raised.btn-warning.disabled:hover,.btn.btn-raised.btn-warning:disabled.focus,.btn.btn-raised.btn-warning:disabled:focus,.btn.btn-raised.btn-warning:disabled:hover{background-color:#ff5722;border-color:#ff5722}.bmd-btn-fab.btn-danger.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:before,.btn-group-raised .btn.btn-danger,.btn-raised.btn-danger.custom-file-control:before,.btn.bmd-btn-fab.btn-danger,.btn.btn-raised.btn-danger{color:#fff;background-color:#f44336;border-color:#f44336}.bmd-btn-fab.btn-danger.active.custom-file-control:before,.bmd-btn-fab.btn-danger.custom-file-control:active:before,.bmd-btn-fab.btn-danger.custom-file-control:focus:before,.bmd-btn-fab.btn-danger.custom-file-control:hover:before,.bmd-btn-fab.btn-danger.focus.custom-file-control:before,.btn-group-raised .btn-danger.active.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:active:before,.btn-group-raised .btn-danger.custom-file-control:focus:before,.btn-group-raised .btn-danger.custom-file-control:hover:before,.btn-group-raised .btn-danger.focus.custom-file-control:before,.btn-group-raised .btn.btn-danger.active,.btn-group-raised .btn.btn-danger.focus,.btn-group-raised .btn.btn-danger:active,.btn-group-raised .btn.btn-danger:focus,.btn-group-raised .btn.btn-danger:hover,.btn-raised.btn-danger.active.custom-file-control:before,.btn-raised.btn-danger.custom-file-control:active:before,.btn-raised.btn-danger.custom-file-control:focus:before,.btn-raised.btn-danger.custom-file-control:hover:before,.btn-raised.btn-danger.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-danger.active,.btn.bmd-btn-fab.btn-danger.focus,.btn.bmd-btn-fab.btn-danger:active,.btn.bmd-btn-fab.btn-danger:focus,.btn.bmd-btn-fab.btn-danger:hover,.btn.btn-raised.btn-danger.active,.btn.btn-raised.btn-danger.focus,.btn.btn-raised.btn-danger:active,.btn.btn-raised.btn-danger:focus,.btn.btn-raised.btn-danger:hover,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle,.open>.btn-raised.btn-danger.dropdown-toggle.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle,.open>.btn.btn-raised.btn-danger.dropdown-toggle{color:#fff;background-color:#f55549;border-color:#e11b0c}.bmd-btn-fab.btn-danger.active.custom-file-control:focus:before,.bmd-btn-fab.btn-danger.active.custom-file-control:hover:before,.bmd-btn-fab.btn-danger.active.focus.custom-file-control:before,.bmd-btn-fab.btn-danger.custom-file-control:active.focus:before,.bmd-btn-fab.btn-danger.custom-file-control:active:focus:before,.bmd-btn-fab.btn-danger.custom-file-control:active:hover:before,.btn-group-raised .btn-danger.active.custom-file-control:focus:before,.btn-group-raised .btn-danger.active.custom-file-control:hover:before,.btn-group-raised .btn-danger.active.focus.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:active.focus:before,.btn-group-raised .btn-danger.custom-file-control:active:focus:before,.btn-group-raised .btn-danger.custom-file-control:active:hover:before,.btn-group-raised .btn.btn-danger.active.focus,.btn-group-raised .btn.btn-danger.active:focus,.btn-group-raised .btn.btn-danger.active:hover,.btn-group-raised .btn.btn-danger:active.focus,.btn-group-raised .btn.btn-danger:active:focus,.btn-group-raised .btn.btn-danger:active:hover,.btn-raised.btn-danger.active.custom-file-control:focus:before,.btn-raised.btn-danger.active.custom-file-control:hover:before,.btn-raised.btn-danger.active.focus.custom-file-control:before,.btn-raised.btn-danger.custom-file-control:active.focus:before,.btn-raised.btn-danger.custom-file-control:active:focus:before,.btn-raised.btn-danger.custom-file-control:active:hover:before,.btn.bmd-btn-fab.btn-danger.active.focus,.btn.bmd-btn-fab.btn-danger.active:focus,.btn.bmd-btn-fab.btn-danger.active:hover,.btn.bmd-btn-fab.btn-danger:active.focus,.btn.bmd-btn-fab.btn-danger:active:focus,.btn.bmd-btn-fab.btn-danger:active:hover,.btn.btn-raised.btn-danger.active.focus,.btn.btn-raised.btn-danger.active:focus,.btn.btn-raised.btn-danger.active:hover,.btn.btn-raised.btn-danger:active.focus,.btn.btn-raised.btn-danger:active:focus,.btn.btn-raised.btn-danger:active:hover,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.bmd-btn-fab.btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle.focus,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle:focus,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle:hover,.open>.btn-raised.btn-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-raised.btn-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-raised.btn-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle.focus,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle:focus,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle:hover,.open>.btn.btn-raised.btn-danger.dropdown-toggle.focus,.open>.btn.btn-raised.btn-danger.dropdown-toggle:focus,.open>.btn.btn-raised.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#f55549;border-color:#a21309}.open>.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon,.open>.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon,.open>.btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:#f44336}.open>.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn-group-raised .btn.btn-danger.dropdown-toggle.bmd-btn-icon:hover,.open>.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.bmd-btn-fab.btn-danger.dropdown-toggle.bmd-btn-icon:hover,.open>.btn.btn-raised.btn-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:#f55549}.bmd-btn-fab.btn-danger.custom-file-control:disabled.focus:before,.bmd-btn-fab.btn-danger.custom-file-control:disabled:focus:before,.bmd-btn-fab.btn-danger.custom-file-control:disabled:hover:before,.bmd-btn-fab.btn-danger.disabled.custom-file-control:focus:before,.bmd-btn-fab.btn-danger.disabled.custom-file-control:hover:before,.bmd-btn-fab.btn-danger.disabled.focus.custom-file-control:before,.btn-group-raised .btn-danger.custom-file-control:disabled.focus:before,.btn-group-raised .btn-danger.custom-file-control:disabled:focus:before,.btn-group-raised .btn-danger.custom-file-control:disabled:hover:before,.btn-group-raised .btn-danger.disabled.custom-file-control:focus:before,.btn-group-raised .btn-danger.disabled.custom-file-control:hover:before,.btn-group-raised .btn-danger.disabled.focus.custom-file-control:before,.btn-group-raised .btn.btn-danger.disabled.focus,.btn-group-raised .btn.btn-danger.disabled:focus,.btn-group-raised .btn.btn-danger.disabled:hover,.btn-group-raised .btn.btn-danger:disabled.focus,.btn-group-raised .btn.btn-danger:disabled:focus,.btn-group-raised .btn.btn-danger:disabled:hover,.btn-raised.btn-danger.custom-file-control:disabled.focus:before,.btn-raised.btn-danger.custom-file-control:disabled:focus:before,.btn-raised.btn-danger.custom-file-control:disabled:hover:before,.btn-raised.btn-danger.disabled.custom-file-control:focus:before,.btn-raised.btn-danger.disabled.custom-file-control:hover:before,.btn-raised.btn-danger.disabled.focus.custom-file-control:before,.btn.bmd-btn-fab.btn-danger.disabled.focus,.btn.bmd-btn-fab.btn-danger.disabled:focus,.btn.bmd-btn-fab.btn-danger.disabled:hover,.btn.bmd-btn-fab.btn-danger:disabled.focus,.btn.bmd-btn-fab.btn-danger:disabled:focus,.btn.bmd-btn-fab.btn-danger:disabled:hover,.btn.btn-raised.btn-danger.disabled.focus,.btn.btn-raised.btn-danger.disabled:focus,.btn.btn-raised.btn-danger.disabled:hover,.btn.btn-raised.btn-danger:disabled.focus,.btn.btn-raised.btn-danger:disabled:focus,.btn.btn-raised.btn-danger:disabled:hover{background-color:#f44336;border-color:#f44336}.bmd-btn-fab.custom-file-control:focus:before,.bmd-btn-fab.custom-file-control:hover:before,.btn-group-raised .btn:focus,.btn-group-raised .btn:hover,.btn-group-raised .custom-file-control:focus:before,.btn-group-raised .custom-file-control:hover:before,.btn-raised.custom-file-control:focus:before,.btn-raised.custom-file-control:hover:before,.btn.bmd-btn-fab:focus,.btn.bmd-btn-fab:hover,.btn.btn-raised:focus,.btn.btn-raised:hover{z-index:1;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.bmd-btn-fab.active.custom-file-control:before,.bmd-btn-fab.custom-file-control:active:before,.btn-group-raised .active.custom-file-control:before,.btn-group-raised .btn.active,.btn-group-raised .btn:active,.btn-group-raised .custom-file-control:active:before,.btn-raised.active.custom-file-control:before,.btn-raised.custom-file-control:active:before,.btn.bmd-btn-fab.active,.btn.bmd-btn-fab:active,.btn.btn-raised.active,.btn.btn-raised:active{z-index:1;box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36)}.btn-group-raised .btn,.btn-group-raised .custom-file-control:before,.btn-raised.custom-file-control:before,.btn.btn-raised{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group-raised .btn-link.active.custom-file-control:before,.btn-group-raised .btn-link.custom-file-control:active:before,.btn-group-raised .btn-link.custom-file-control:before,.btn-group-raised .btn-link.custom-file-control:focus:before,.btn-group-raised .btn-link.custom-file-control:hover:before,.btn-group-raised .btn.btn-link,.btn-group-raised .btn.btn-link.active,.btn-group-raised .btn.btn-link:active,.btn-group-raised .btn.btn-link:focus,.btn-group-raised .btn.btn-link:hover,.btn-group-raised .btn.disabled,.btn-group-raised .btn:disabled,.btn-group-raised .btn[disabled],.btn-group-raised .custom-file-control:disabled:before,.btn-group-raised .disabled.custom-file-control:before,.btn-group-raised [disabled].custom-file-control:before,.btn-raised.btn-link.active.custom-file-control:before,.btn-raised.btn-link.custom-file-control:active:before,.btn-raised.btn-link.custom-file-control:before,.btn-raised.btn-link.custom-file-control:focus:before,.btn-raised.btn-link.custom-file-control:hover:before,.btn-raised.custom-file-control:disabled:before,.btn-raised.disabled.custom-file-control:before,.btn-raised[disabled].custom-file-control:before,.btn.btn-raised.btn-link,.btn.btn-raised.btn-link.active,.btn.btn-raised.btn-link:active,.btn.btn-raised.btn-link:focus,.btn.btn-raised.btn-link:hover,.btn.btn-raised.disabled,.btn.btn-raised:disabled,.btn.btn-raised[disabled],fieldset[disabled][disabled] .btn-group-raised .btn,fieldset[disabled][disabled] .btn-group-raised .custom-file-control:before,fieldset[disabled][disabled] .btn-raised.custom-file-control:before,fieldset[disabled][disabled] .btn.btn-raised{box-shadow:none}.btn-outline-danger.custom-file-control:before,.btn-outline-info.custom-file-control:before,.btn-outline-primary.custom-file-control:before,.btn-outline-secondary.custom-file-control:before,.btn-outline-success.custom-file-control:before,.btn-outline-warning.custom-file-control:before,.btn-outline.custom-file-control:before,.btn.btn-outline,.btn.btn-outline-danger,.btn.btn-outline-info,.btn.btn-outline-primary,.btn.btn-outline-secondary,.btn.btn-outline-success,.btn.btn-outline-warning{border:1px solid currentColor}.btn-outline.custom-file-control:before,.btn.btn-outline{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline.active.custom-file-control:before,.btn-outline.custom-file-control:active:before,.btn-outline.custom-file-control:focus:before,.btn-outline.custom-file-control:hover:before,.btn-outline.focus.custom-file-control:before,.btn.btn-outline.active,.btn.btn-outline.focus,.btn.btn-outline:active,.btn.btn-outline:focus,.btn.btn-outline:hover,.open>.btn-outline.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:rgba(0,0,0,.87)}.btn-outline.active.custom-file-control:focus:before,.btn-outline.active.custom-file-control:hover:before,.btn-outline.active.focus.custom-file-control:before,.btn-outline.custom-file-control:active.focus:before,.btn-outline.custom-file-control:active:focus:before,.btn-outline.custom-file-control:active:hover:before,.btn.btn-outline.active.focus,.btn.btn-outline.active:focus,.btn.btn-outline.active:hover,.btn.btn-outline:active.focus,.btn.btn-outline:active:focus,.btn.btn-outline:active:hover,.open>.btn-outline.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline.dropdown-toggle.focus,.open>.btn.btn-outline.dropdown-toggle:focus,.open>.btn.btn-outline.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:rgba(0,0,0,.87)}.open>.btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline.custom-file-control:disabled.focus:before,.btn-outline.custom-file-control:disabled:focus:before,.btn-outline.custom-file-control:disabled:hover:before,.btn-outline.disabled.custom-file-control:focus:before,.btn-outline.disabled.custom-file-control:hover:before,.btn-outline.disabled.focus.custom-file-control:before,.btn.btn-outline.disabled.focus,.btn.btn-outline.disabled:focus,.btn.btn-outline.disabled:hover,.btn.btn-outline:disabled.focus,.btn.btn-outline:disabled:focus,.btn.btn-outline:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline.custom-file-control:before,.bg-inverse .btn.btn-outline{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline.active.custom-file-control:before,.bg-inverse .btn-outline.custom-file-control:active:before,.bg-inverse .btn-outline.custom-file-control:focus:before,.bg-inverse .btn-outline.custom-file-control:hover:before,.bg-inverse .btn-outline.focus.custom-file-control:before,.bg-inverse .btn.btn-outline.active,.bg-inverse .btn.btn-outline.focus,.bg-inverse .btn.btn-outline:active,.bg-inverse .btn.btn-outline:focus,.bg-inverse .btn.btn-outline:hover,.open>.bg-inverse .btn-outline.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline.active.custom-file-control:focus:before,.bg-inverse .btn-outline.active.custom-file-control:hover:before,.bg-inverse .btn-outline.active.focus.custom-file-control:before,.bg-inverse .btn-outline.custom-file-control:active.focus:before,.bg-inverse .btn-outline.custom-file-control:active:focus:before,.bg-inverse .btn-outline.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline.active.focus,.bg-inverse .btn.btn-outline.active:focus,.bg-inverse .btn.btn-outline.active:hover,.bg-inverse .btn.btn-outline:active.focus,.bg-inverse .btn.btn-outline:active:focus,.bg-inverse .btn.btn-outline:active:hover,.open>.bg-inverse .btn-outline.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline.disabled.focus,.bg-inverse .btn.btn-outline.disabled:focus,.bg-inverse .btn.btn-outline.disabled:hover,.bg-inverse .btn.btn-outline:disabled.focus,.bg-inverse .btn.btn-outline:disabled:focus,.bg-inverse .btn.btn-outline:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline.btn-link.custom-file-control:before,.btn.btn-outline.btn-link{background-color:transparent}.btn-outline-primary.custom-file-control:before,.btn.btn-outline-primary{color:#009688;background-color:inherit;border-color:#009688}.btn-outline-primary.active.custom-file-control:before,.btn-outline-primary.custom-file-control:active:before,.btn-outline-primary.custom-file-control:focus:before,.btn-outline-primary.custom-file-control:hover:before,.btn-outline-primary.focus.custom-file-control:before,.btn.btn-outline-primary.active,.btn.btn-outline-primary.focus,.btn.btn-outline-primary:active,.btn.btn-outline-primary:focus,.btn.btn-outline-primary:hover,.open>.btn-outline-primary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,60%,.2);border-color:#009688}.btn-outline-primary.active.custom-file-control:focus:before,.btn-outline-primary.active.custom-file-control:hover:before,.btn-outline-primary.active.focus.custom-file-control:before,.btn-outline-primary.custom-file-control:active.focus:before,.btn-outline-primary.custom-file-control:active:focus:before,.btn-outline-primary.custom-file-control:active:hover:before,.btn.btn-outline-primary.active.focus,.btn.btn-outline-primary.active:focus,.btn.btn-outline-primary.active:hover,.btn.btn-outline-primary:active.focus,.btn.btn-outline-primary:active:focus,.btn.btn-outline-primary:active:hover,.open>.btn-outline-primary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-primary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-primary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-primary.dropdown-toggle.focus,.open>.btn.btn-outline-primary.dropdown-toggle:focus,.open>.btn.btn-outline-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,60%,.4);border-color:#009688}.open>.btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-primary.custom-file-control:disabled.focus:before,.btn-outline-primary.custom-file-control:disabled:focus:before,.btn-outline-primary.custom-file-control:disabled:hover:before,.btn-outline-primary.disabled.custom-file-control:focus:before,.btn-outline-primary.disabled.custom-file-control:hover:before,.btn-outline-primary.disabled.focus.custom-file-control:before,.btn.btn-outline-primary.disabled.focus,.btn.btn-outline-primary.disabled:focus,.btn.btn-outline-primary.disabled:hover,.btn.btn-outline-primary:disabled.focus,.btn.btn-outline-primary:disabled:focus,.btn.btn-outline-primary:disabled:hover{background-color:inherit;border-color:#009688}.bg-inverse .btn-outline-primary.custom-file-control:before,.bg-inverse .btn.btn-outline-primary{color:#009688;background-color:inherit;border-color:#009688}.bg-inverse .btn-outline-primary.active.custom-file-control:before,.bg-inverse .btn-outline-primary.custom-file-control:active:before,.bg-inverse .btn-outline-primary.custom-file-control:focus:before,.bg-inverse .btn-outline-primary.custom-file-control:hover:before,.bg-inverse .btn-outline-primary.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-primary.active,.bg-inverse .btn.btn-outline-primary.focus,.bg-inverse .btn.btn-outline-primary:active,.bg-inverse .btn.btn-outline-primary:focus,.bg-inverse .btn.btn-outline-primary:hover,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle{color:#009688;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-primary.active.custom-file-control:focus:before,.bg-inverse .btn-outline-primary.active.custom-file-control:hover:before,.bg-inverse .btn-outline-primary.active.focus.custom-file-control:before,.bg-inverse .btn-outline-primary.custom-file-control:active.focus:before,.bg-inverse .btn-outline-primary.custom-file-control:active:focus:before,.bg-inverse .btn-outline-primary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-primary.active.focus,.bg-inverse .btn.btn-outline-primary.active:focus,.bg-inverse .btn.btn-outline-primary.active:hover,.bg-inverse .btn.btn-outline-primary:active.focus,.bg-inverse .btn.btn-outline-primary:active:focus,.bg-inverse .btn.btn-outline-primary:active:hover,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-primary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle:hover{color:#009688;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-primary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-primary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-primary.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-primary.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-primary.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-primary.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-primary.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-primary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-primary.disabled.focus,.bg-inverse .btn.btn-outline-primary.disabled:focus,.bg-inverse .btn.btn-outline-primary.disabled:hover,.bg-inverse .btn.btn-outline-primary:disabled.focus,.bg-inverse .btn.btn-outline-primary:disabled:focus,.bg-inverse .btn.btn-outline-primary:disabled:hover{background-color:inherit;border-color:#009688}.btn-outline-primary.btn-link.custom-file-control:before,.btn.btn-outline-primary.btn-link{background-color:transparent}.btn-outline-secondary.custom-file-control:before,.btn.btn-outline-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline-secondary.active.custom-file-control:before,.btn-outline-secondary.custom-file-control:active:before,.btn-outline-secondary.custom-file-control:focus:before,.btn-outline-secondary.custom-file-control:hover:before,.btn-outline-secondary.focus.custom-file-control:before,.btn.btn-outline-secondary.active,.btn.btn-outline-secondary.focus,.btn.btn-outline-secondary:active,.btn.btn-outline-secondary:focus,.btn.btn-outline-secondary:hover,.open>.btn-outline-secondary.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.2);border-color:rgba(0,0,0,.87)}.btn-outline-secondary.active.custom-file-control:focus:before,.btn-outline-secondary.active.custom-file-control:hover:before,.btn-outline-secondary.active.focus.custom-file-control:before,.btn-outline-secondary.custom-file-control:active.focus:before,.btn-outline-secondary.custom-file-control:active:focus:before,.btn-outline-secondary.custom-file-control:active:hover:before,.btn.btn-outline-secondary.active.focus,.btn.btn-outline-secondary.active:focus,.btn.btn-outline-secondary.active:hover,.btn.btn-outline-secondary:active.focus,.btn.btn-outline-secondary:active:focus,.btn.btn-outline-secondary:active:hover,.open>.btn-outline-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-secondary.dropdown-toggle.focus,.open>.btn.btn-outline-secondary.dropdown-toggle:focus,.open>.btn.btn-outline-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,60%,.4);border-color:rgba(0,0,0,.87)}.open>.btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-secondary.custom-file-control:disabled.focus:before,.btn-outline-secondary.custom-file-control:disabled:focus:before,.btn-outline-secondary.custom-file-control:disabled:hover:before,.btn-outline-secondary.disabled.custom-file-control:focus:before,.btn-outline-secondary.disabled.custom-file-control:hover:before,.btn-outline-secondary.disabled.focus.custom-file-control:before,.btn.btn-outline-secondary.disabled.focus,.btn.btn-outline-secondary.disabled:focus,.btn.btn-outline-secondary.disabled:hover,.btn.btn-outline-secondary:disabled.focus,.btn.btn-outline-secondary:disabled:focus,.btn.btn-outline-secondary:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline-secondary.custom-file-control:before,.bg-inverse .btn.btn-outline-secondary{color:rgba(0,0,0,.87);background-color:inherit;border-color:rgba(0,0,0,.87)}.bg-inverse .btn-outline-secondary.active.custom-file-control:before,.bg-inverse .btn-outline-secondary.custom-file-control:active:before,.bg-inverse .btn-outline-secondary.custom-file-control:focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:hover:before,.bg-inverse .btn-outline-secondary.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-secondary.active,.bg-inverse .btn.btn-outline-secondary.focus,.bg-inverse .btn.btn-outline-secondary:active,.bg-inverse .btn.btn-outline-secondary:focus,.bg-inverse .btn.btn-outline-secondary:hover,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-secondary.active.custom-file-control:focus:before,.bg-inverse .btn-outline-secondary.active.custom-file-control:hover:before,.bg-inverse .btn-outline-secondary.active.focus.custom-file-control:before,.bg-inverse .btn-outline-secondary.custom-file-control:active.focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:active:focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-secondary.active.focus,.bg-inverse .btn.btn-outline-secondary.active:focus,.bg-inverse .btn.btn-outline-secondary.active:hover,.bg-inverse .btn.btn-outline-secondary:active.focus,.bg-inverse .btn.btn-outline-secondary:active:focus,.bg-inverse .btn.btn-outline-secondary:active:hover,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle:hover{color:rgba(0,0,0,.87);background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-secondary.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-secondary.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-secondary.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-secondary.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-secondary.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-secondary.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-secondary.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-secondary.disabled.focus,.bg-inverse .btn.btn-outline-secondary.disabled:focus,.bg-inverse .btn.btn-outline-secondary.disabled:hover,.bg-inverse .btn.btn-outline-secondary:disabled.focus,.bg-inverse .btn.btn-outline-secondary:disabled:focus,.bg-inverse .btn.btn-outline-secondary:disabled:hover{background-color:inherit;border-color:rgba(0,0,0,.87)}.btn-outline-secondary.btn-link.custom-file-control:before,.btn.btn-outline-secondary.btn-link{background-color:transparent}.btn-outline-info.custom-file-control:before,.btn.btn-outline-info{color:#03a9f4;background-color:inherit;border-color:#03a9f4}.btn-outline-info.active.custom-file-control:before,.btn-outline-info.custom-file-control:active:before,.btn-outline-info.custom-file-control:focus:before,.btn-outline-info.custom-file-control:hover:before,.btn-outline-info.focus.custom-file-control:before,.btn.btn-outline-info.active,.btn.btn-outline-info.focus,.btn.btn-outline-info:active,.btn.btn-outline-info:focus,.btn.btn-outline-info:hover,.open>.btn-outline-info.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,60%,.2);border-color:#03a9f4}.btn-outline-info.active.custom-file-control:focus:before,.btn-outline-info.active.custom-file-control:hover:before,.btn-outline-info.active.focus.custom-file-control:before,.btn-outline-info.custom-file-control:active.focus:before,.btn-outline-info.custom-file-control:active:focus:before,.btn-outline-info.custom-file-control:active:hover:before,.btn.btn-outline-info.active.focus,.btn.btn-outline-info.active:focus,.btn.btn-outline-info.active:hover,.btn.btn-outline-info:active.focus,.btn.btn-outline-info:active:focus,.btn.btn-outline-info:active:hover,.open>.btn-outline-info.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-info.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-info.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-info.dropdown-toggle.focus,.open>.btn.btn-outline-info.dropdown-toggle:focus,.open>.btn.btn-outline-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,60%,.4);border-color:#03a9f4}.open>.btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-info.custom-file-control:disabled.focus:before,.btn-outline-info.custom-file-control:disabled:focus:before,.btn-outline-info.custom-file-control:disabled:hover:before,.btn-outline-info.disabled.custom-file-control:focus:before,.btn-outline-info.disabled.custom-file-control:hover:before,.btn-outline-info.disabled.focus.custom-file-control:before,.btn.btn-outline-info.disabled.focus,.btn.btn-outline-info.disabled:focus,.btn.btn-outline-info.disabled:hover,.btn.btn-outline-info:disabled.focus,.btn.btn-outline-info:disabled:focus,.btn.btn-outline-info:disabled:hover{background-color:inherit;border-color:#03a9f4}.bg-inverse .btn-outline-info.custom-file-control:before,.bg-inverse .btn.btn-outline-info{color:#03a9f4;background-color:inherit;border-color:#03a9f4}.bg-inverse .btn-outline-info.active.custom-file-control:before,.bg-inverse .btn-outline-info.custom-file-control:active:before,.bg-inverse .btn-outline-info.custom-file-control:focus:before,.bg-inverse .btn-outline-info.custom-file-control:hover:before,.bg-inverse .btn-outline-info.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-info.active,.bg-inverse .btn.btn-outline-info.focus,.bg-inverse .btn.btn-outline-info:active,.bg-inverse .btn.btn-outline-info:focus,.bg-inverse .btn.btn-outline-info:hover,.open>.bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle{color:#03a9f4;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-info.active.custom-file-control:focus:before,.bg-inverse .btn-outline-info.active.custom-file-control:hover:before,.bg-inverse .btn-outline-info.active.focus.custom-file-control:before,.bg-inverse .btn-outline-info.custom-file-control:active.focus:before,.bg-inverse .btn-outline-info.custom-file-control:active:focus:before,.bg-inverse .btn-outline-info.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-info.active.focus,.bg-inverse .btn.btn-outline-info.active:focus,.bg-inverse .btn.btn-outline-info.active:hover,.bg-inverse .btn.btn-outline-info:active.focus,.bg-inverse .btn.btn-outline-info:active:focus,.bg-inverse .btn.btn-outline-info:active:hover,.open>.bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-info.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-info.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle:hover{color:#03a9f4;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-info.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-info.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-info.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-info.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-info.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-info.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-info.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-info.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-info.disabled.focus,.bg-inverse .btn.btn-outline-info.disabled:focus,.bg-inverse .btn.btn-outline-info.disabled:hover,.bg-inverse .btn.btn-outline-info:disabled.focus,.bg-inverse .btn.btn-outline-info:disabled:focus,.bg-inverse .btn.btn-outline-info:disabled:hover{background-color:inherit;border-color:#03a9f4}.btn-outline-info.btn-link.custom-file-control:before,.btn.btn-outline-info.btn-link{background-color:transparent}.btn-outline-success.custom-file-control:before,.btn.btn-outline-success{color:#4caf50;background-color:inherit;border-color:#4caf50}.btn-outline-success.active.custom-file-control:before,.btn-outline-success.custom-file-control:active:before,.btn-outline-success.custom-file-control:focus:before,.btn-outline-success.custom-file-control:hover:before,.btn-outline-success.focus.custom-file-control:before,.btn.btn-outline-success.active,.btn.btn-outline-success.focus,.btn.btn-outline-success:active,.btn.btn-outline-success:focus,.btn.btn-outline-success:hover,.open>.btn-outline-success.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,60%,.2);border-color:#4caf50}.btn-outline-success.active.custom-file-control:focus:before,.btn-outline-success.active.custom-file-control:hover:before,.btn-outline-success.active.focus.custom-file-control:before,.btn-outline-success.custom-file-control:active.focus:before,.btn-outline-success.custom-file-control:active:focus:before,.btn-outline-success.custom-file-control:active:hover:before,.btn.btn-outline-success.active.focus,.btn.btn-outline-success.active:focus,.btn.btn-outline-success.active:hover,.btn.btn-outline-success:active.focus,.btn.btn-outline-success:active:focus,.btn.btn-outline-success:active:hover,.open>.btn-outline-success.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-success.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-success.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-success.dropdown-toggle.focus,.open>.btn.btn-outline-success.dropdown-toggle:focus,.open>.btn.btn-outline-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,60%,.4);border-color:#4caf50}.open>.btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-success.custom-file-control:disabled.focus:before,.btn-outline-success.custom-file-control:disabled:focus:before,.btn-outline-success.custom-file-control:disabled:hover:before,.btn-outline-success.disabled.custom-file-control:focus:before,.btn-outline-success.disabled.custom-file-control:hover:before,.btn-outline-success.disabled.focus.custom-file-control:before,.btn.btn-outline-success.disabled.focus,.btn.btn-outline-success.disabled:focus,.btn.btn-outline-success.disabled:hover,.btn.btn-outline-success:disabled.focus,.btn.btn-outline-success:disabled:focus,.btn.btn-outline-success:disabled:hover{background-color:inherit;border-color:#4caf50}.bg-inverse .btn-outline-success.custom-file-control:before,.bg-inverse .btn.btn-outline-success{color:#4caf50;background-color:inherit;border-color:#4caf50}.bg-inverse .btn-outline-success.active.custom-file-control:before,.bg-inverse .btn-outline-success.custom-file-control:active:before,.bg-inverse .btn-outline-success.custom-file-control:focus:before,.bg-inverse .btn-outline-success.custom-file-control:hover:before,.bg-inverse .btn-outline-success.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-success.active,.bg-inverse .btn.btn-outline-success.focus,.bg-inverse .btn.btn-outline-success:active,.bg-inverse .btn.btn-outline-success:focus,.bg-inverse .btn.btn-outline-success:hover,.open>.bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle{color:#4caf50;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-success.active.custom-file-control:focus:before,.bg-inverse .btn-outline-success.active.custom-file-control:hover:before,.bg-inverse .btn-outline-success.active.focus.custom-file-control:before,.bg-inverse .btn-outline-success.custom-file-control:active.focus:before,.bg-inverse .btn-outline-success.custom-file-control:active:focus:before,.bg-inverse .btn-outline-success.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-success.active.focus,.bg-inverse .btn.btn-outline-success.active:focus,.bg-inverse .btn.btn-outline-success.active:hover,.bg-inverse .btn.btn-outline-success:active.focus,.bg-inverse .btn.btn-outline-success:active:focus,.bg-inverse .btn.btn-outline-success:active:hover,.open>.bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-success.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-success.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle:hover{color:#4caf50;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-success.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-success.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-success.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-success.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-success.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-success.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-success.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-success.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-success.disabled.focus,.bg-inverse .btn.btn-outline-success.disabled:focus,.bg-inverse .btn.btn-outline-success.disabled:hover,.bg-inverse .btn.btn-outline-success:disabled.focus,.bg-inverse .btn.btn-outline-success:disabled:focus,.bg-inverse .btn.btn-outline-success:disabled:hover{background-color:inherit;border-color:#4caf50}.btn-outline-success.btn-link.custom-file-control:before,.btn.btn-outline-success.btn-link{background-color:transparent}.btn-outline-warning.custom-file-control:before,.btn.btn-outline-warning{color:#ff5722;background-color:inherit;border-color:#ff5722}.btn-outline-warning.active.custom-file-control:before,.btn-outline-warning.custom-file-control:active:before,.btn-outline-warning.custom-file-control:focus:before,.btn-outline-warning.custom-file-control:hover:before,.btn-outline-warning.focus.custom-file-control:before,.btn.btn-outline-warning.active,.btn.btn-outline-warning.focus,.btn.btn-outline-warning:active,.btn.btn-outline-warning:focus,.btn.btn-outline-warning:hover,.open>.btn-outline-warning.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,60%,.2);border-color:#ff5722}.btn-outline-warning.active.custom-file-control:focus:before,.btn-outline-warning.active.custom-file-control:hover:before,.btn-outline-warning.active.focus.custom-file-control:before,.btn-outline-warning.custom-file-control:active.focus:before,.btn-outline-warning.custom-file-control:active:focus:before,.btn-outline-warning.custom-file-control:active:hover:before,.btn.btn-outline-warning.active.focus,.btn.btn-outline-warning.active:focus,.btn.btn-outline-warning.active:hover,.btn.btn-outline-warning:active.focus,.btn.btn-outline-warning:active:focus,.btn.btn-outline-warning:active:hover,.open>.btn-outline-warning.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-warning.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-warning.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-warning.dropdown-toggle.focus,.open>.btn.btn-outline-warning.dropdown-toggle:focus,.open>.btn.btn-outline-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,60%,.4);border-color:#ff5722}.open>.btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-warning.custom-file-control:disabled.focus:before,.btn-outline-warning.custom-file-control:disabled:focus:before,.btn-outline-warning.custom-file-control:disabled:hover:before,.btn-outline-warning.disabled.custom-file-control:focus:before,.btn-outline-warning.disabled.custom-file-control:hover:before,.btn-outline-warning.disabled.focus.custom-file-control:before,.btn.btn-outline-warning.disabled.focus,.btn.btn-outline-warning.disabled:focus,.btn.btn-outline-warning.disabled:hover,.btn.btn-outline-warning:disabled.focus,.btn.btn-outline-warning:disabled:focus,.btn.btn-outline-warning:disabled:hover{background-color:inherit;border-color:#ff5722}.bg-inverse .btn-outline-warning.custom-file-control:before,.bg-inverse .btn.btn-outline-warning{color:#ff5722;background-color:inherit;border-color:#ff5722}.bg-inverse .btn-outline-warning.active.custom-file-control:before,.bg-inverse .btn-outline-warning.custom-file-control:active:before,.bg-inverse .btn-outline-warning.custom-file-control:focus:before,.bg-inverse .btn-outline-warning.custom-file-control:hover:before,.bg-inverse .btn-outline-warning.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-warning.active,.bg-inverse .btn.btn-outline-warning.focus,.bg-inverse .btn.btn-outline-warning:active,.bg-inverse .btn.btn-outline-warning:focus,.bg-inverse .btn.btn-outline-warning:hover,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle{color:#ff5722;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-warning.active.custom-file-control:focus:before,.bg-inverse .btn-outline-warning.active.custom-file-control:hover:before,.bg-inverse .btn-outline-warning.active.focus.custom-file-control:before,.bg-inverse .btn-outline-warning.custom-file-control:active.focus:before,.bg-inverse .btn-outline-warning.custom-file-control:active:focus:before,.bg-inverse .btn-outline-warning.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-warning.active.focus,.bg-inverse .btn.btn-outline-warning.active:focus,.bg-inverse .btn.btn-outline-warning.active:hover,.bg-inverse .btn.btn-outline-warning:active.focus,.bg-inverse .btn.btn-outline-warning:active:focus,.bg-inverse .btn.btn-outline-warning:active:hover,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-warning.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle:hover{color:#ff5722;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-warning.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-warning.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-warning.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-warning.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-warning.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-warning.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-warning.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-warning.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-warning.disabled.focus,.bg-inverse .btn.btn-outline-warning.disabled:focus,.bg-inverse .btn.btn-outline-warning.disabled:hover,.bg-inverse .btn.btn-outline-warning:disabled.focus,.bg-inverse .btn.btn-outline-warning:disabled:focus,.bg-inverse .btn.btn-outline-warning:disabled:hover{background-color:inherit;border-color:#ff5722}.btn-outline-warning.btn-link.custom-file-control:before,.btn.btn-outline-warning.btn-link{background-color:transparent}.btn-outline-danger.custom-file-control:before,.btn.btn-outline-danger{color:#f44336;background-color:inherit;border-color:#f44336}.btn-outline-danger.active.custom-file-control:before,.btn-outline-danger.custom-file-control:active:before,.btn-outline-danger.custom-file-control:focus:before,.btn-outline-danger.custom-file-control:hover:before,.btn-outline-danger.focus.custom-file-control:before,.btn.btn-outline-danger.active,.btn.btn-outline-danger.focus,.btn.btn-outline-danger:active,.btn.btn-outline-danger:focus,.btn.btn-outline-danger:hover,.open>.btn-outline-danger.dropdown-toggle.custom-file-control:before,.open>.btn.btn-outline-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,60%,.2);border-color:#f44336}.btn-outline-danger.active.custom-file-control:focus:before,.btn-outline-danger.active.custom-file-control:hover:before,.btn-outline-danger.active.focus.custom-file-control:before,.btn-outline-danger.custom-file-control:active.focus:before,.btn-outline-danger.custom-file-control:active:focus:before,.btn-outline-danger.custom-file-control:active:hover:before,.btn.btn-outline-danger.active.focus,.btn.btn-outline-danger.active:focus,.btn.btn-outline-danger.active:hover,.btn.btn-outline-danger:active.focus,.btn.btn-outline-danger:active:focus,.btn.btn-outline-danger:active:hover,.open>.btn-outline-danger.dropdown-toggle.custom-file-control:focus:before,.open>.btn-outline-danger.dropdown-toggle.custom-file-control:hover:before,.open>.btn-outline-danger.dropdown-toggle.focus.custom-file-control:before,.open>.btn.btn-outline-danger.dropdown-toggle.focus,.open>.btn.btn-outline-danger.dropdown-toggle:focus,.open>.btn.btn-outline-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,60%,.4);border-color:#f44336}.open>.btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,60%,.2)}.btn-outline-danger.custom-file-control:disabled.focus:before,.btn-outline-danger.custom-file-control:disabled:focus:before,.btn-outline-danger.custom-file-control:disabled:hover:before,.btn-outline-danger.disabled.custom-file-control:focus:before,.btn-outline-danger.disabled.custom-file-control:hover:before,.btn-outline-danger.disabled.focus.custom-file-control:before,.btn.btn-outline-danger.disabled.focus,.btn.btn-outline-danger.disabled:focus,.btn.btn-outline-danger.disabled:hover,.btn.btn-outline-danger:disabled.focus,.btn.btn-outline-danger:disabled:focus,.btn.btn-outline-danger:disabled:hover{background-color:inherit;border-color:#f44336}.bg-inverse .btn-outline-danger.custom-file-control:before,.bg-inverse .btn.btn-outline-danger{color:#f44336;background-color:inherit;border-color:#f44336}.bg-inverse .btn-outline-danger.active.custom-file-control:before,.bg-inverse .btn-outline-danger.custom-file-control:active:before,.bg-inverse .btn-outline-danger.custom-file-control:focus:before,.bg-inverse .btn-outline-danger.custom-file-control:hover:before,.bg-inverse .btn-outline-danger.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-danger.active,.bg-inverse .btn.btn-outline-danger.focus,.bg-inverse .btn.btn-outline-danger:active,.bg-inverse .btn.btn-outline-danger:focus,.bg-inverse .btn.btn-outline-danger:hover,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle{color:#f44336;background-color:hsla(0,0%,80%,.15);border-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-danger.active.custom-file-control:focus:before,.bg-inverse .btn-outline-danger.active.custom-file-control:hover:before,.bg-inverse .btn-outline-danger.active.focus.custom-file-control:before,.bg-inverse .btn-outline-danger.custom-file-control:active.focus:before,.bg-inverse .btn-outline-danger.custom-file-control:active:focus:before,.bg-inverse .btn-outline-danger.custom-file-control:active:hover:before,.bg-inverse .btn.btn-outline-danger.active.focus,.bg-inverse .btn.btn-outline-danger.active:focus,.bg-inverse .btn.btn-outline-danger.active:hover,.bg-inverse .btn.btn-outline-danger:active.focus,.bg-inverse .btn.btn-outline-danger:active:focus,.bg-inverse .btn.btn-outline-danger:active:hover,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:focus:before,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.custom-file-control:hover:before,.open>.bg-inverse .btn-outline-danger.dropdown-toggle.focus.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle.focus,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle:focus,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle:hover{color:#f44336;background-color:hsla(0,0%,80%,.25);border-color:hsla(0,0%,80%,.25)}.open>.bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon{color:inherit;background-color:inherit}.open>.bg-inverse .btn-outline-danger.dropdown-toggle.bmd-btn-icon.custom-file-control:hover:before,.open>.bg-inverse .btn.btn-outline-danger.dropdown-toggle.bmd-btn-icon:hover{background-color:hsla(0,0%,80%,.15)}.bg-inverse .btn-outline-danger.custom-file-control:disabled.focus:before,.bg-inverse .btn-outline-danger.custom-file-control:disabled:focus:before,.bg-inverse .btn-outline-danger.custom-file-control:disabled:hover:before,.bg-inverse .btn-outline-danger.disabled.custom-file-control:focus:before,.bg-inverse .btn-outline-danger.disabled.custom-file-control:hover:before,.bg-inverse .btn-outline-danger.disabled.focus.custom-file-control:before,.bg-inverse .btn.btn-outline-danger.disabled.focus,.bg-inverse .btn.btn-outline-danger.disabled:focus,.bg-inverse .btn.btn-outline-danger.disabled:hover,.bg-inverse .btn.btn-outline-danger:disabled.focus,.bg-inverse .btn.btn-outline-danger:disabled:focus,.bg-inverse .btn.btn-outline-danger:disabled:hover{background-color:inherit;border-color:#f44336}.btn-outline-danger.btn-link.custom-file-control:before,.btn.btn-outline-danger.btn-link{background-color:transparent}.bmd-btn-fab.custom-file-control:before,.bmd-btn-icon.custom-file-control:before,.btn.bmd-btn-fab,.btn.bmd-btn-icon{overflow:hidden;font-size:1.5rem;line-height:normal}.bmd-btn-fab.custom-file-control:before,.bmd-btn-icon.custom-file-control:before,.btn-group-lg .bmd-btn-fab.custom-file-control:before,.btn-group-lg .bmd-btn-icon.custom-file-control:before,.btn-group-lg .btn.bmd-btn-fab,.btn-group-lg .btn.bmd-btn-icon,.btn-group-sm .bmd-btn-fab.custom-file-control:before,.btn-group-sm .bmd-btn-icon.custom-file-control:before,.btn-group-sm .btn.bmd-btn-fab,.btn-group-sm .btn.bmd-btn-icon,.btn.bmd-btn-fab,.btn.bmd-btn-icon{padding:0;border-radius:50%}.bmd-btn-fab.custom-file-control:before .material-icons,.bmd-btn-icon.custom-file-control:before .material-icons,.btn.bmd-btn-fab .material-icons,.btn.bmd-btn-icon .material-icons{position:absolute;top:50%;left:50%;width:1.5rem;line-height:1.5rem;-webkit-transform:translate(-.75rem,-.75rem);transform:translate(-.75rem,-.75rem)}.bmd-btn-fab.custom-file-control:before,.btn.bmd-btn-fab{width:3.5rem;min-width:3.5rem;height:3.5rem;box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.26)}.bmd-btn-fab.custom-file-control:before .ripple-container,.btn.bmd-btn-fab .ripple-container{border-radius:50%}.bmd-btn-fab.bmd-btn-fab-sm.custom-file-control:before,.btn-group-sm .bmd-btn-fab.custom-file-control:before,.btn-group-sm .btn.bmd-btn-fab,.btn.bmd-btn-fab.bmd-btn-fab-sm{width:2.5rem;min-width:2.5rem;height:2.5rem}.bmd-btn-icon.custom-file-control:before,.btn.bmd-btn-icon{width:2rem;min-width:2rem;height:2rem;margin:0;color:inherit}.bmd-btn-icon.bmd-btn-icon-sm.custom-file-control:before,.btn-group-sm .bmd-btn-icon.custom-file-control:before,.btn-group-sm .btn.bmd-btn-icon,.btn.bmd-btn-icon.bmd-btn-icon-sm{width:1.5rem;min-width:1.5rem;height:1.5rem;font-size:1.125rem}.bmd-btn-icon.bmd-btn-icon-sm.custom-file-control:before .material-icons,.btn-group-sm .bmd-btn-icon.custom-file-control:before .material-icons,.btn-group-sm .btn.bmd-btn-icon .material-icons,.btn.bmd-btn-icon.bmd-btn-icon-sm .material-icons{width:1.125rem;font-size:1.125rem;line-height:1;-webkit-transform:translate(-.5625rem,-.5625rem);transform:translate(-.5625rem,-.5625rem)}.btn .material-icons,.custom-file-control:before .material-icons{position:relative;top:.25em;margin-top:-1em;margin-bottom:-1em;font-size:1.5em}.btn-group-lg .btn,.btn-group-lg .custom-file-control:before,.btn-group-lg>.btn,.btn-group-lg>.custom-file-control:before,.btn-lg.custom-file-control:before,.btn.btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm .btn,.btn-group-sm .custom-file-control:before,.btn-group-sm>.btn,.btn-group-sm>.custom-file-control:before,.btn-sm.custom-file-control:before,.btn.btn-sm{padding:.40625rem .5rem;border-radius:.0625rem;font-size:.8125rem}.btn-group-vertical.disabled,.btn-group-vertical:disabled,.btn-group-vertical[disabled],.btn-group.disabled,.btn-group:disabled,.btn-group[disabled],.btn.disabled,.btn:disabled,.btn[disabled],.custom-file-control:disabled:before,.disabled.custom-file-control:before,.input-group-btn .btn.disabled,.input-group-btn .btn:disabled,.input-group-btn .btn[disabled],.input-group-btn .custom-file-control:disabled:before,.input-group-btn .disabled.custom-file-control:before,.input-group-btn [disabled].custom-file-control:before,[disabled].custom-file-control:before,fieldset[disabled][disabled] .btn,fieldset[disabled][disabled] .btn-group,fieldset[disabled][disabled] .btn-group-vertical,fieldset[disabled][disabled] .custom-file-control:before,fieldset[disabled][disabled] .input-group-btn .btn,fieldset[disabled][disabled] .input-group-btn .custom-file-control:before{color:rgba(0,0,0,.26)}.bg-inverse .btn-group-vertical.disabled,.bg-inverse .btn-group-vertical:disabled,.bg-inverse .btn-group-vertical[disabled],.bg-inverse .btn-group.disabled,.bg-inverse .btn-group:disabled,.bg-inverse .btn-group[disabled],.bg-inverse .btn.disabled,.bg-inverse .btn:disabled,.bg-inverse .btn[disabled],.bg-inverse .custom-file-control:disabled:before,.bg-inverse .disabled.custom-file-control:before,.bg-inverse .input-group-btn .btn.disabled,.bg-inverse .input-group-btn .btn:disabled,.bg-inverse .input-group-btn .btn[disabled],.bg-inverse .input-group-btn .custom-file-control:disabled:before,.bg-inverse .input-group-btn .disabled.custom-file-control:before,.bg-inverse .input-group-btn [disabled].custom-file-control:before,.bg-inverse [disabled].custom-file-control:before,.bg-inverse fieldset[disabled][disabled] .btn,.bg-inverse fieldset[disabled][disabled] .btn-group,.bg-inverse fieldset[disabled][disabled] .btn-group-vertical,.bg-inverse fieldset[disabled][disabled] .custom-file-control:before,.bg-inverse fieldset[disabled][disabled] .input-group-btn .btn,.bg-inverse fieldset[disabled][disabled] .input-group-btn .custom-file-control:before{color:hsla(0,0%,100%,.3)}.btn-group-vertical.disabled,.btn-group-vertical.disabled:focus,.btn-group-vertical.disabled:hover,.btn-group-vertical:disabled,.btn-group-vertical:disabled:focus,.btn-group-vertical:disabled:hover,.btn-group-vertical[disabled],.btn-group-vertical[disabled]:focus,.btn-group-vertical[disabled]:hover,.btn-group.disabled,.btn-group.disabled:focus,.btn-group.disabled:hover,.btn-group:disabled,.btn-group:disabled:focus,.btn-group:disabled:hover,.btn-group[disabled],.btn-group[disabled]:focus,.btn-group[disabled]:hover,.btn.disabled,.btn.disabled:focus,.btn.disabled:hover,.btn:disabled,.btn:disabled:focus,.btn:disabled:hover,.btn[disabled],.btn[disabled]:focus,.btn[disabled]:hover,.custom-file-control:disabled:before,.custom-file-control:disabled:focus:before,.custom-file-control:disabled:hover:before,.disabled.custom-file-control:before,.disabled.custom-file-control:focus:before,.disabled.custom-file-control:hover:before,.input-group-btn .btn.disabled,.input-group-btn .btn.disabled:focus,.input-group-btn .btn.disabled:hover,.input-group-btn .btn:disabled,.input-group-btn .btn:disabled:focus,.input-group-btn .btn:disabled:hover,.input-group-btn .btn[disabled],.input-group-btn .btn[disabled]:focus,.input-group-btn .btn[disabled]:hover,.input-group-btn .custom-file-control:disabled:before,.input-group-btn .custom-file-control:disabled:focus:before,.input-group-btn .custom-file-control:disabled:hover:before,.input-group-btn .disabled.custom-file-control:before,.input-group-btn .disabled.custom-file-control:focus:before,.input-group-btn .disabled.custom-file-control:hover:before,.input-group-btn [disabled].custom-file-control:before,.input-group-btn [disabled].custom-file-control:focus:before,.input-group-btn [disabled].custom-file-control:hover:before,[disabled].custom-file-control:before,[disabled].custom-file-control:focus:before,[disabled].custom-file-control:hover:before,fieldset[disabled][disabled] .btn,fieldset[disabled][disabled] .btn-group,fieldset[disabled][disabled] .btn-group-vertical,fieldset[disabled][disabled] .btn-group-vertical:focus,fieldset[disabled][disabled] .btn-group-vertical:hover,fieldset[disabled][disabled] .btn-group:focus,fieldset[disabled][disabled] .btn-group:hover,fieldset[disabled][disabled] .btn:focus,fieldset[disabled][disabled] .btn:hover,fieldset[disabled][disabled] .custom-file-control:before,fieldset[disabled][disabled] .custom-file-control:focus:before,fieldset[disabled][disabled] .custom-file-control:hover:before,fieldset[disabled][disabled] .input-group-btn .btn,fieldset[disabled][disabled] .input-group-btn .btn:focus,fieldset[disabled][disabled] .input-group-btn .btn:hover,fieldset[disabled][disabled] .input-group-btn .custom-file-control:before,fieldset[disabled][disabled] .input-group-btn .custom-file-control:focus:before,fieldset[disabled][disabled] .input-group-btn .custom-file-control:hover:before{background:transparent}.btn-group,.btn-group-vertical{position:relative;margin:10px 1px}.btn-group-vertical .dropdown-menu,.btn-group .dropdown-menu{border-radius:0 0 .125rem .125rem}.btn-group-vertical.btn-group-raised,.btn-group.btn-group-raised{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.btn-group-vertical .btn,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.custom-file-control:before,.btn-group-vertical .btn-group,.btn-group-vertical .btn:active,.btn-group-vertical .custom-file-control:active:before,.btn-group-vertical .custom-file-control:before,.btn-group-vertical .custom-file-control:before+.btn,.btn-group-vertical .custom-file-control:before+.custom-file-control:before,.btn-group-vertical>.btn-group,.btn-group .btn,.btn-group .btn+.btn,.btn-group .btn+.custom-file-control:before,.btn-group .btn-group,.btn-group .btn:active,.btn-group .custom-file-control:active:before,.btn-group .custom-file-control:before,.btn-group .custom-file-control:before+.btn,.btn-group .custom-file-control:before+.custom-file-control:before,.btn-group>.btn-group{margin:0}.checkbox label,label.checkbox-inline{padding-left:1.5625rem;cursor:pointer}.checkbox label .checkbox-decorator,label.checkbox-inline .checkbox-decorator{position:absolute;top:.125rem;left:0;vertical-align:middle}.checkbox label .checkbox-decorator:before,label.checkbox-inline .checkbox-decorator:before{position:absolute;left:0;z-index:1;display:block;width:1.25rem;height:1.25rem;margin:0;content:"";background-color:rgba(0,0,0,.84);border-radius:100%;opacity:0;-webkit-transform:scale3d(2.3,2.3,1);transform:scale3d(2.3,2.3,1)}.checkbox label .checkbox-decorator .check,label.checkbox-inline .checkbox-decorator .check{position:relative;z-index:1;display:inline-block;width:1.25rem;height:1.25rem;overflow:hidden;border:.125rem solid rgba(0,0,0,.54);border-radius:.125rem}.checkbox label .checkbox-decorator .check:before,label.checkbox-inline .checkbox-decorator .check:before{position:absolute;display:block;width:0;height:0;margin-top:-4px;margin-left:6px;content:"";box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-animation:c;animation:c}.is-focused .checkbox label .checkbox-decorator .check:before,.is-focused label.checkbox-inline .checkbox-decorator .check:before{-webkit-animation:c .3s forwards;animation:c .3s forwards}.checkbox label input[type=checkbox],label.checkbox-inline input[type=checkbox]{position:absolute;left:0;z-index:-1;width:0;height:0;margin:0;overflow:hidden;pointer-events:none;opacity:0}.checkbox label input[type=checkbox]:focus+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox]:focus+.checkbox-decorator .check:after{opacity:.2}.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check{color:#009688;border-color:#009688}.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check:before,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check:before{color:#009688;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px;-webkit-animation:b .3s forwards;animation:b .3s forwards}.checkbox label input[type=checkbox]:checked+.checkbox-decorator:before,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator:before{-webkit-animation:d;animation:d}.is-focused .checkbox label input[type=checkbox]:checked+.checkbox-decorator:before,.is-focused label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator:before{-webkit-animation:d .5s;animation:d .5s}.checkbox label input[type=checkbox]:checked+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox]:checked+.checkbox-decorator .check:after{-webkit-animation:d .5s forwards;animation:d .5s forwards}.checkbox label input[type=checkbox]:not(:checked)+.checkbox-decorator:before,label.checkbox-inline input[type=checkbox]:not(:checked)+.checkbox-decorator:before{-webkit-animation:d;animation:d}.is-focused .checkbox label input[type=checkbox]:not(:checked)+.checkbox-decorator:before,.is-focused label.checkbox-inline input[type=checkbox]:not(:checked)+.checkbox-decorator:before{-webkit-animation:d .5s;animation:d .5s}.checkbox label input[type=checkbox]:not(:checked)+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox]:not(:checked)+.checkbox-decorator .check:after{-webkit-animation:d .5s forwards;animation:d .5s forwards}.checkbox label input[type=checkbox][disabled]+.checkbox-decorator .check:after,.checkbox label input[type=checkbox][disabled] .check:after,fieldset[disabled] .checkbox label input[type=checkbox]+.checkbox-decorator .check:after,fieldset[disabled] .checkbox label input[type=checkbox] .check:after,fieldset[disabled] label.checkbox-inline input[type=checkbox]+.checkbox-decorator .check:after,fieldset[disabled] label.checkbox-inline input[type=checkbox] .check:after,label.checkbox-inline input[type=checkbox][disabled]+.checkbox-decorator .check:after,label.checkbox-inline input[type=checkbox][disabled] .check:after{background-color:rgba(0,0,0,.87);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.checkbox label input[type=checkbox][disabled]+.checkbox-decorator .check,.checkbox label input[type=checkbox][disabled] .check,fieldset[disabled] .checkbox label input[type=checkbox]+.checkbox-decorator .check,fieldset[disabled] .checkbox label input[type=checkbox] .check,fieldset[disabled] label.checkbox-inline input[type=checkbox]+.checkbox-decorator .check,fieldset[disabled] label.checkbox-inline input[type=checkbox] .check,label.checkbox-inline input[type=checkbox][disabled]+.checkbox-decorator .check,label.checkbox-inline input[type=checkbox][disabled] .check{border-color:rgba(0,0,0,.26)}@-webkit-keyframes b{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}to{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@keyframes b{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px}50%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px 2px 0 11px}to{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px}}@-webkit-keyframes c{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}50%{width:0;height:0;margin-top:-4px;margin-left:6px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,inset 0 0 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}51%{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0;-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes c{0%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}25%{box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,20px -12px 0 11px,inset 0 0 0 0}50%{width:0;height:0;margin-top:-4px;margin-left:6px;box-shadow:0 0 0 10px,10px -10px 0 10px,32px 0 0 20px,0 32px 0 20px,-5px 5px 0 10px,15px 2px 0 11px,inset 0 0 0 0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}51%{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 10px;-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{width:20px;height:20px;margin-top:-2px;margin-left:-2px;box-shadow:0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,0 0 0 0,inset 0 0 0 0;-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes d{0%{opacity:0}50%{opacity:.2}to{opacity:0}}.custom-file-control [class*=' bmd-label'],.custom-file-control [class^=bmd-label]{color:rgba(0,0,0,.26)}.custom-file-control .custom-file-control,.custom-file-control .form-control,.is-focused .custom-file-control .custom-file-control,.is-focused .custom-file-control .form-control{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:invalid,.custom-file-control .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:-moz-read-only,.custom-file-control .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:read-only,.custom-file-control .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control .custom-file-control:disabled,.custom-file-control .disabled.custom-file-control,.custom-file-control .form-control.disabled,.custom-file-control .form-control:disabled,.custom-file-control .form-control[disabled],.custom-file-control [disabled].custom-file-control,fieldset[disabled][disabled] .custom-file-control .custom-file-control,fieldset[disabled][disabled] .custom-file-control .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.custom-file-control .form-control-success.custom-file-control,.custom-file-control .form-control.form-control-success,.is-focused .custom-file-control .form-control-success.custom-file-control,.is-focused .custom-file-control .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.custom-file-control .form-control-warning.custom-file-control,.custom-file-control .form-control.form-control-warning,.is-focused .custom-file-control .form-control-warning.custom-file-control,.is-focused .custom-file-control .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.custom-file-control .form-control-danger.custom-file-control,.custom-file-control .form-control.form-control-danger,.is-focused .custom-file-control .form-control-danger.custom-file-control,.is-focused .custom-file-control .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.custom-file-control.is-focused .checkbox,.custom-file-control .is-focused .checkbox,.custom-file-control.is-focused .checkbox-inline,.custom-file-control .is-focused .checkbox-inline,.custom-file-control.is-focused.checkbox-inline label,.custom-file-control .is-focused.checkbox-inline label,.custom-file-control.is-focused.checkbox label,.custom-file-control .is-focused.checkbox label,.custom-file-control.is-focused .custom-control,.custom-file-control .is-focused .custom-control,.custom-file-control.is-focused .form-control-feedback,.custom-file-control .is-focused .form-control-feedback,.custom-file-control.is-focused .form-control-label,.custom-file-control .is-focused .form-control-label,.custom-file-control.is-focused .radio,.custom-file-control .is-focused .radio,.custom-file-control.is-focused .radio-inline,.custom-file-control .is-focused .radio-inline,.custom-file-control.is-focused.radio-inline label,.custom-file-control .is-focused.radio-inline label,.custom-file-control.is-focused.radio label,.custom-file-control .is-focused.radio label{color:rgba(0,0,0,.26)}.custom-file-control.is-focused .input-group-addon,.custom-file-control .is-focused .input-group-addon{color:rgba(0,0,0,.26);border-color:rgba(0,0,0,.26);background-color:hsla(0,0%,40%,.26)}.custom-file-control.is-focused .form-control-feedback,.custom-file-control .is-focused .form-control-feedback{color:rgba(0,0,0,.26)}.custom-file-control.is-focused [class*=' bmd-label'],.custom-file-control .is-focused [class*=' bmd-label'],.custom-file-control.is-focused [class^=bmd-label],.custom-file-control .is-focused [class^=bmd-label]{color:#009688}.custom-file-control.is-focused .bmd-label-placeholder,.custom-file-control .is-focused .bmd-label-placeholder{color:rgba(0,0,0,.26)}.custom-file-control.is-focused .custom-file-control,.custom-file-control .is-focused .custom-file-control,.custom-file-control.is-focused .form-control,.custom-file-control .is-focused .form-control{border-color:rgba(0,0,0,.26)}.custom-file-control.is-focused .bmd-help,.custom-file-control .is-focused .bmd-help{color:rgba(0,0,0,.54)}.custom-file-control:before{position:absolute;height:calc(100% - 1px)}.switch label{position:relative;padding-left:2.4375rem}.switch label .bmd-switch-track{position:absolute;top:.3125rem;left:0;display:inline-block;width:2.125rem;height:.875rem;cursor:pointer;background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(50%,rgba(0,0,0,.26)),color-stop(50%,#49dcce),to(#49dcce));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 50%,#49dcce 0,#49dcce);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 50%,#49dcce 0,#49dcce);background-position:0;background-size:4.25rem .875rem;border-radius:2.125rem;-webkit-transition:background-position .2s ease-in;transition:background-position .2s ease-in}.switch label .bmd-switch-track:after{position:absolute;top:50%;left:0;display:block;-ms-flex-item-align:center;align-self:center;width:1.25rem;height:1.25rem;content:"";background:#f1f1f1;border-radius:100%;box-shadow:0 1px 3px rgba(0,0,0,.5);-webkit-transition:left .2s ease-in,background-color .2s ease-in,-webkit-transform .3s ease;transition:left .2s ease-in,background-color .2s ease-in,-webkit-transform .3s ease;transition:left .2s ease-in,background-color .2s ease-in,transform .3s ease;transition:left .2s ease-in,background-color .2s ease-in,transform .3s ease,-webkit-transform .3s ease;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch label .bmd-switch-track:active:after{-webkit-transform:translateY(-50%) scale3d(1.15,.85,1);transform:translateY(-50%) scale3d(1.15,.85,1)}.switch label input{position:absolute;display:block;width:0;height:0;opacity:0}.switch label input:checked+.bmd-switch-track{background-position:-100%}.switch label input:checked+.bmd-switch-track:after{left:calc(100% - 1.25rem);background-color:#009688}.switch label input:disabled+.bmd-switch-track:active:after{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch label input:disabled+.bmd-switch-track{cursor:default;background:rgba(0,0,0,.12)}.switch label input:disabled+.bmd-switch-track:after{background:#bdbdbd}.radio label,label.radio-inline{position:relative;padding-left:1.5625rem}.radio label .bmd-radio-inner-circle,.radio label .bmd-radio-outer-circle,label.radio-inline .bmd-radio-inner-circle,label.radio-inline .bmd-radio-outer-circle{position:absolute;top:.125rem;left:0;display:inline-block;width:1.25rem;height:1.25rem;cursor:pointer;-webkit-transition-duration:.2s;transition-duration:.2s}.radio label .bmd-radio-inner-circle.bmd-radio-outer-circle,.radio label .bmd-radio-outer-circle.bmd-radio-outer-circle,label.radio-inline .bmd-radio-inner-circle.bmd-radio-outer-circle,label.radio-inline .bmd-radio-outer-circle.bmd-radio-outer-circle{border:.125rem solid rgba(0,0,0,.54);border-radius:50%;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.radio label .bmd-radio-inner-circle.bmd-radio-inner-circle,.radio label .bmd-radio-outer-circle.bmd-radio-inner-circle,label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle,label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle{display:inline-block;background-color:#009688;border-radius:50%;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;-webkit-transform:scale3d(0,0,0);transform:scale3d(0,0,0)}.radio label .bmd-radio-inner-circle.bmd-radio-inner-circle:after,.radio label .bmd-radio-outer-circle.bmd-radio-inner-circle:after,label.radio-inline .bmd-radio-inner-circle.bmd-radio-inner-circle:after,label.radio-inline .bmd-radio-outer-circle.bmd-radio-inner-circle:after{position:absolute;top:-1em;left:-1em;z-index:1;display:block;width:50px;height:50px;margin:0;content:"";background-color:rgba(0,0,0,.87);border-radius:100%;opacity:0;-webkit-transform:scale3d(1.5,1.5,1);transform:scale3d(1.5,1.5,1)}.radio label input[type=radio],label.radio-inline input[type=radio]{position:absolute;left:0;z-index:-1;width:0;height:0;margin:0;overflow:hidden;pointer-events:none;opacity:0}.radio label input[type=radio]:checked~.bmd-radio-inner-circle,label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle{background-color:#009688}.radio label input[type=radio]:checked~.bmd-radio-outer-circle,label.radio-inline input[type=radio]:checked~.bmd-radio-outer-circle{border-color:#009688}.radio label input[type=radio]:checked~.bmd-radio-inner-circle,label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle{-webkit-transform:scale3d(.55,.55,1);transform:scale3d(.55,.55,1)}.radio label input[type=radio]:checked~.bmd-radio-inner-circle:after,label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle:after{-webkit-animation:d;animation:d}.is-focused .radio label input[type=radio]:checked~.bmd-radio-inner-circle:after,.is-focused label.radio-inline input[type=radio]:checked~.bmd-radio-inner-circle:after,.radio label input[type=radio]:not(:checked)~.bmd-radio-inner-circle:after,label.radio-inline input[type=radio]:not(:checked)~.bmd-radio-inner-circle:after{-webkit-animation:d .5s;animation:d .5s}.radio label input[type=radio]:disabled+.bmd-radio-outer-circle,.radio label input[type=radio][disabled]+.bmd-radio-outer-circle,fieldset[disabled] .radio label input[type=radio]+.bmd-radio-outer-circle,fieldset[disabled] label.radio-inline input[type=radio]+.bmd-radio-outer-circle,label.radio-inline input[type=radio]:disabled+.bmd-radio-outer-circle,label.radio-inline input[type=radio][disabled]+.bmd-radio-outer-circle{cursor:default}.radio label input[type=radio]:disabled~.bmd-radio-inner-circle,.radio label input[type=radio][disabled]~.bmd-radio-inner-circle,fieldset[disabled] .radio label input[type=radio]~.bmd-radio-inner-circle,fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-inner-circle,label.radio-inline input[type=radio]:disabled~.bmd-radio-inner-circle,label.radio-inline input[type=radio][disabled]~.bmd-radio-inner-circle{background-color:rgba(0,0,0,.26)}.radio label input[type=radio]:disabled~.bmd-radio-outer-circle,.radio label input[type=radio][disabled]~.bmd-radio-outer-circle,fieldset[disabled] .radio label input[type=radio]~.bmd-radio-outer-circle,fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-outer-circle,label.radio-inline input[type=radio]:disabled~.bmd-radio-outer-circle,label.radio-inline input[type=radio][disabled]~.bmd-radio-outer-circle{border-color:rgba(0,0,0,.26)}.bg-inverse .radio label input[type=radio]:disabled~.bmd-radio-inner-circle,.bg-inverse .radio label input[type=radio][disabled]~.bmd-radio-inner-circle,.bg-inverse fieldset[disabled] .radio label input[type=radio]~.bmd-radio-inner-circle,.bg-inverse fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-inner-circle,.bg-inverse label.radio-inline input[type=radio]:disabled~.bmd-radio-inner-circle,.bg-inverse label.radio-inline input[type=radio][disabled]~.bmd-radio-inner-circle{background-color:hsla(0,0%,100%,.3)}.bg-inverse .radio label input[type=radio]:disabled~.bmd-radio-outer-circle,.bg-inverse .radio label input[type=radio][disabled]~.bmd-radio-outer-circle,.bg-inverse fieldset[disabled] .radio label input[type=radio]~.bmd-radio-outer-circle,.bg-inverse fieldset[disabled] label.radio-inline input[type=radio]~.bmd-radio-outer-circle,.bg-inverse label.radio-inline input[type=radio]:disabled~.bmd-radio-outer-circle,.bg-inverse label.radio-inline input[type=radio][disabled]~.bmd-radio-outer-circle{border-color:hsla(0,0%,100%,.3)}@keyframes d{0%{opacity:0}50%{opacity:.2}to{opacity:0}}form{margin-bottom:1.125rem}.navbar form{margin-bottom:0}.navbar form .bmd-form-group{display:inline-block;padding-top:0}.navbar form .btn,.navbar form .custom-file-control:before{margin-bottom:0}.custom-file-control,.form-control{background:no-repeat bottom,50% calc(100% - 1px);background-size:0 100%,100% 100%;border:0;-webkit-transition:background 0s ease-out;transition:background 0s ease-out}.bmd-form-group.is-focused .custom-file-control,.bmd-form-group.is-focused .form-control,.custom-file-control:focus,.form-control:focus{background-size:100% 100%,100% 100%;-webkit-transition-duration:.3s;transition-duration:.3s}.bmd-help{position:absolute;display:none;font-size:.8rem;font-weight:400}.bmd-form-group.is-focused .bmd-help{display:block}.bmd-help:nth-of-type(2){padding-top:1rem}.bmd-help+.bmd-help{position:relative;margin-bottom:0}.checkbox-inline,.checkbox label,.is-focused .checkbox-inline,.is-focused .checkbox label,.is-focused .radio-inline,.is-focused .radio label,.is-focused .switch label,.radio-inline,.radio label,.switch label{color:rgba(0,0,0,.26)}.checkbox-inline:active,.checkbox-inline:focus,.checkbox-inline:hover,.checkbox label:active,.checkbox label:focus,.checkbox label:hover,.is-focused .checkbox-inline:active,.is-focused .checkbox-inline:focus,.is-focused .checkbox-inline:hover,.is-focused .checkbox label:active,.is-focused .checkbox label:focus,.is-focused .checkbox label:hover,.is-focused .radio-inline:active,.is-focused .radio-inline:focus,.is-focused .radio-inline:hover,.is-focused .radio label:active,.is-focused .radio label:focus,.is-focused .radio label:hover,.is-focused .switch label:active,.is-focused .switch label:focus,.is-focused .switch label:hover,.radio-inline:active,.radio-inline:focus,.radio-inline:hover,.radio label:active,.radio label:focus,.radio label:hover,.switch label:active,.switch label:focus,.switch label:hover{color:rgba(0,0,0,.54)}.checkbox-inline label:has(input[type=checkbox][disabled]),.checkbox-inline label:has(input[type=checkbox][disabled]):focus,.checkbox-inline label:has(input[type=checkbox][disabled]):hover,.checkbox-inline label:has(input[type=radio][disabled]),.checkbox-inline label:has(input[type=radio][disabled]):focus,.checkbox-inline label:has(input[type=radio][disabled]):hover,.checkbox label label:has(input[type=checkbox][disabled]),.checkbox label label:has(input[type=checkbox][disabled]):focus,.checkbox label label:has(input[type=checkbox][disabled]):hover,.checkbox label label:has(input[type=radio][disabled]),.checkbox label label:has(input[type=radio][disabled]):focus,.checkbox label label:has(input[type=radio][disabled]):hover,.is-focused .checkbox-inline label:has(input[type=checkbox][disabled]),.is-focused .checkbox-inline label:has(input[type=checkbox][disabled]):focus,.is-focused .checkbox-inline label:has(input[type=checkbox][disabled]):hover,.is-focused .checkbox-inline label:has(input[type=radio][disabled]),.is-focused .checkbox-inline label:has(input[type=radio][disabled]):focus,.is-focused .checkbox-inline label:has(input[type=radio][disabled]):hover,.is-focused .checkbox label label:has(input[type=checkbox][disabled]),.is-focused .checkbox label label:has(input[type=checkbox][disabled]):focus,.is-focused .checkbox label label:has(input[type=checkbox][disabled]):hover,.is-focused .checkbox label label:has(input[type=radio][disabled]),.is-focused .checkbox label label:has(input[type=radio][disabled]):focus,.is-focused .checkbox label label:has(input[type=radio][disabled]):hover,.is-focused .radio-inline label:has(input[type=checkbox][disabled]),.is-focused .radio-inline label:has(input[type=checkbox][disabled]):focus,.is-focused .radio-inline label:has(input[type=checkbox][disabled]):hover,.is-focused .radio-inline label:has(input[type=radio][disabled]),.is-focused .radio-inline label:has(input[type=radio][disabled]):focus,.is-focused .radio-inline label:has(input[type=radio][disabled]):hover,.is-focused .radio label label:has(input[type=checkbox][disabled]),.is-focused .radio label label:has(input[type=checkbox][disabled]):focus,.is-focused .radio label label:has(input[type=checkbox][disabled]):hover,.is-focused .radio label label:has(input[type=radio][disabled]),.is-focused .radio label label:has(input[type=radio][disabled]):focus,.is-focused .radio label label:has(input[type=radio][disabled]):hover,.is-focused .switch label label:has(input[type=checkbox][disabled]),.is-focused .switch label label:has(input[type=checkbox][disabled]):focus,.is-focused .switch label label:has(input[type=checkbox][disabled]):hover,.is-focused .switch label label:has(input[type=radio][disabled]),.is-focused .switch label label:has(input[type=radio][disabled]):focus,.is-focused .switch label label:has(input[type=radio][disabled]):hover,.radio-inline label:has(input[type=checkbox][disabled]),.radio-inline label:has(input[type=checkbox][disabled]):focus,.radio-inline label:has(input[type=checkbox][disabled]):hover,.radio-inline label:has(input[type=radio][disabled]),.radio-inline label:has(input[type=radio][disabled]):focus,.radio-inline label:has(input[type=radio][disabled]):hover,.radio label label:has(input[type=checkbox][disabled]),.radio label label:has(input[type=checkbox][disabled]):focus,.radio label label:has(input[type=checkbox][disabled]):hover,.radio label label:has(input[type=radio][disabled]),.radio label label:has(input[type=radio][disabled]):focus,.radio label label:has(input[type=radio][disabled]):hover,.switch label label:has(input[type=checkbox][disabled]),.switch label label:has(input[type=checkbox][disabled]):focus,.switch label label:has(input[type=checkbox][disabled]):hover,.switch label label:has(input[type=radio][disabled]),.switch label label:has(input[type=radio][disabled]):focus,.switch label label:has(input[type=radio][disabled]):hover,[class*=' bmd-label'],[class^=bmd-label],fieldset[disabled] .checkbox-inline,fieldset[disabled] .checkbox-inline:focus,fieldset[disabled] .checkbox-inline:hover,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox label:focus,fieldset[disabled] .checkbox label:hover,fieldset[disabled] .is-focused .checkbox-inline,fieldset[disabled] .is-focused .checkbox-inline:focus,fieldset[disabled] .is-focused .checkbox-inline:hover,fieldset[disabled] .is-focused .checkbox label,fieldset[disabled] .is-focused .checkbox label:focus,fieldset[disabled] .is-focused .checkbox label:hover,fieldset[disabled] .is-focused .radio-inline,fieldset[disabled] .is-focused .radio-inline:focus,fieldset[disabled] .is-focused .radio-inline:hover,fieldset[disabled] .is-focused .radio label,fieldset[disabled] .is-focused .radio label:focus,fieldset[disabled] .is-focused .radio label:hover,fieldset[disabled] .is-focused .switch label,fieldset[disabled] .is-focused .switch label:focus,fieldset[disabled] .is-focused .switch label:hover,fieldset[disabled] .radio-inline,fieldset[disabled] .radio-inline:focus,fieldset[disabled] .radio-inline:hover,fieldset[disabled] .radio label,fieldset[disabled] .radio label:focus,fieldset[disabled] .radio label:hover,fieldset[disabled] .switch label,fieldset[disabled] .switch label:focus,fieldset[disabled] .switch label:hover{color:rgba(0,0,0,.26)}.custom-file-control,.form-control,.is-focused .custom-file-control,.is-focused .form-control{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:invalid,.form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:-moz-read-only,.form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:read-only,.form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.custom-file-control:disabled,.disabled.custom-file-control,.form-control.disabled,.form-control:disabled,.form-control[disabled],[disabled].custom-file-control,fieldset[disabled][disabled] .custom-file-control,fieldset[disabled][disabled] .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.form-control-success.custom-file-control,.form-control.form-control-success,.is-focused .form-control-success.custom-file-control,.is-focused .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.form-control-warning.custom-file-control,.form-control.form-control-warning,.is-focused .form-control-warning.custom-file-control,.is-focused .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.form-control-danger.custom-file-control,.form-control.form-control-danger,.is-focused .form-control-danger.custom-file-control,.is-focused .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#009688 2px,rgba(0,150,136,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#009688 2px,rgba(0,150,136,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.is-focused .checkbox,.is-focused .checkbox-inline,.is-focused.checkbox-inline label,.is-focused.checkbox label,.is-focused .custom-control,.is-focused .form-control-feedback,.is-focused .form-control-label,.is-focused .radio,.is-focused .radio-inline,.is-focused.radio-inline label,.is-focused.radio label{color:rgba(0,0,0,.26)}.is-focused .input-group-addon{color:rgba(0,0,0,.26);border-color:rgba(0,0,0,.26);background-color:hsla(0,0%,40%,.26)}.is-focused .form-control-feedback{color:rgba(0,0,0,.26)}.is-focused [class*=' bmd-label'],.is-focused [class^=bmd-label]{color:#009688}.is-focused .bmd-label-placeholder{color:rgba(0,0,0,.26)}.is-focused .custom-file-control,.is-focused .form-control{border-color:rgba(0,0,0,.26)}.is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-success [class*=' bmd-label'],.has-success [class^=bmd-label]{color:#4caf50}.has-success .custom-file-control,.has-success .form-control,.is-focused .has-success .custom-file-control,.is-focused .has-success .form-control{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:invalid,.has-success .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:-moz-read-only,.has-success .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:read-only,.has-success .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-success .custom-file-control:disabled,.has-success .disabled.custom-file-control,.has-success .form-control.disabled,.has-success .form-control:disabled,.has-success .form-control[disabled],.has-success [disabled].custom-file-control,fieldset[disabled][disabled] .has-success .custom-file-control,fieldset[disabled][disabled] .has-success .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-success .form-control-success.custom-file-control,.has-success .form-control.form-control-success,.is-focused .has-success .form-control-success.custom-file-control,.is-focused .has-success .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-success .form-control-warning.custom-file-control,.has-success .form-control.form-control-warning,.is-focused .has-success .form-control-warning.custom-file-control,.is-focused .has-success .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-success .form-control-danger.custom-file-control,.has-success .form-control.form-control-danger,.is-focused .has-success .form-control-danger.custom-file-control,.is-focused .has-success .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#4caf50 2px,rgba(76,175,80,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#4caf50 2px,rgba(76,175,80,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-success.is-focused .checkbox,.has-success .is-focused .checkbox,.has-success.is-focused .checkbox-inline,.has-success .is-focused .checkbox-inline,.has-success.is-focused.checkbox-inline label,.has-success .is-focused.checkbox-inline label,.has-success.is-focused.checkbox label,.has-success .is-focused.checkbox label,.has-success.is-focused .custom-control,.has-success .is-focused .custom-control,.has-success.is-focused .form-control-feedback,.has-success .is-focused .form-control-feedback,.has-success.is-focused .form-control-label,.has-success .is-focused .form-control-label,.has-success.is-focused .radio,.has-success .is-focused .radio,.has-success.is-focused .radio-inline,.has-success .is-focused .radio-inline,.has-success.is-focused.radio-inline label,.has-success .is-focused.radio-inline label,.has-success.is-focused.radio label,.has-success .is-focused.radio label{color:#4caf50}.has-success.is-focused .input-group-addon,.has-success .is-focused .input-group-addon{color:#4caf50;border-color:#4caf50;background-color:#d9eeda}.has-success.is-focused .bmd-label-placeholder,.has-success .is-focused .bmd-label-placeholder,.has-success.is-focused .form-control-feedback,.has-success .is-focused .form-control-feedback,.has-success.is-focused [class*=' bmd-label'],.has-success .is-focused [class*=' bmd-label'],.has-success.is-focused [class^=bmd-label],.has-success .is-focused [class^=bmd-label]{color:#4caf50}.has-success.is-focused .custom-file-control,.has-success .is-focused .custom-file-control,.has-success.is-focused .form-control,.has-success .is-focused .form-control{border-color:#4caf50}.has-success.is-focused .bmd-help,.has-success .is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-info [class*=' bmd-label'],.has-info [class^=bmd-label]{color:#03a9f4}.has-info .custom-file-control,.has-info .form-control,.is-focused .has-info .custom-file-control,.is-focused .has-info .form-control{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:invalid,.has-info .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:-moz-read-only,.has-info .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:read-only,.has-info .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-info .custom-file-control:disabled,.has-info .disabled.custom-file-control,.has-info .form-control.disabled,.has-info .form-control:disabled,.has-info .form-control[disabled],.has-info [disabled].custom-file-control,fieldset[disabled][disabled] .has-info .custom-file-control,fieldset[disabled][disabled] .has-info .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-info .form-control-success.custom-file-control,.has-info .form-control.form-control-success,.is-focused .has-info .form-control-success.custom-file-control,.is-focused .has-info .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-info .form-control-warning.custom-file-control,.has-info .form-control.form-control-warning,.is-focused .has-info .form-control-warning.custom-file-control,.is-focused .has-info .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-info .form-control-danger.custom-file-control,.has-info .form-control.form-control-danger,.is-focused .has-info .form-control-danger.custom-file-control,.is-focused .has-info .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#03a9f4 2px,rgba(3,169,244,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#03a9f4 2px,rgba(3,169,244,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-info.is-focused .checkbox,.has-info .is-focused .checkbox,.has-info.is-focused .checkbox-inline,.has-info .is-focused .checkbox-inline,.has-info.is-focused.checkbox-inline label,.has-info .is-focused.checkbox-inline label,.has-info.is-focused.checkbox label,.has-info .is-focused.checkbox label,.has-info.is-focused .custom-control,.has-info .is-focused .custom-control,.has-info.is-focused .form-control-feedback,.has-info .is-focused .form-control-feedback,.has-info.is-focused .form-control-label,.has-info .is-focused .form-control-label,.has-info.is-focused .radio,.has-info .is-focused .radio,.has-info.is-focused .radio-inline,.has-info .is-focused .radio-inline,.has-info.is-focused.radio-inline label,.has-info .is-focused.radio-inline label,.has-info.is-focused.radio label,.has-info .is-focused.radio label{color:#03a9f4}.has-info.is-focused .input-group-addon,.has-info .is-focused .input-group-addon{color:#03a9f4;border-color:#03a9f4;background-color:#c5ecfe}.has-info.is-focused .bmd-label-placeholder,.has-info .is-focused .bmd-label-placeholder,.has-info.is-focused .form-control-feedback,.has-info .is-focused .form-control-feedback,.has-info.is-focused [class*=' bmd-label'],.has-info .is-focused [class*=' bmd-label'],.has-info.is-focused [class^=bmd-label],.has-info .is-focused [class^=bmd-label]{color:#03a9f4}.has-info.is-focused .custom-file-control,.has-info .is-focused .custom-file-control,.has-info.is-focused .form-control,.has-info .is-focused .form-control{border-color:#03a9f4}.has-info.is-focused .bmd-help,.has-info .is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-warning [class*=' bmd-label'],.has-warning [class^=bmd-label]{color:#ff5722}.has-warning .custom-file-control,.has-warning .form-control,.is-focused .has-warning .custom-file-control,.is-focused .has-warning .form-control{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:invalid,.has-warning .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:-moz-read-only,.has-warning .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:read-only,.has-warning .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-warning .custom-file-control:disabled,.has-warning .disabled.custom-file-control,.has-warning .form-control.disabled,.has-warning .form-control:disabled,.has-warning .form-control[disabled],.has-warning [disabled].custom-file-control,fieldset[disabled][disabled] .has-warning .custom-file-control,fieldset[disabled][disabled] .has-warning .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-warning .form-control-success.custom-file-control,.has-warning .form-control.form-control-success,.is-focused .has-warning .form-control-success.custom-file-control,.is-focused .has-warning .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-warning .form-control-warning.custom-file-control,.has-warning .form-control.form-control-warning,.is-focused .has-warning .form-control-warning.custom-file-control,.is-focused .has-warning .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-warning .form-control-danger.custom-file-control,.has-warning .form-control.form-control-danger,.is-focused .has-warning .form-control-danger.custom-file-control,.is-focused .has-warning .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#ff5722 2px,rgba(255,87,34,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#ff5722 2px,rgba(255,87,34,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-warning.is-focused .checkbox,.has-warning .is-focused .checkbox,.has-warning.is-focused .checkbox-inline,.has-warning .is-focused .checkbox-inline,.has-warning.is-focused.checkbox-inline label,.has-warning .is-focused.checkbox-inline label,.has-warning.is-focused.checkbox label,.has-warning .is-focused.checkbox label,.has-warning.is-focused .custom-control,.has-warning .is-focused .custom-control,.has-warning.is-focused .form-control-feedback,.has-warning .is-focused .form-control-feedback,.has-warning.is-focused .form-control-label,.has-warning .is-focused .form-control-label,.has-warning.is-focused .radio,.has-warning .is-focused .radio,.has-warning.is-focused .radio-inline,.has-warning .is-focused .radio-inline,.has-warning.is-focused.radio-inline label,.has-warning .is-focused.radio-inline label,.has-warning.is-focused.radio label,.has-warning .is-focused.radio label{color:#ff5722}.has-warning.is-focused .input-group-addon,.has-warning .is-focused .input-group-addon{color:#ff5722;border-color:#ff5722;background-color:#fff2ee}.has-warning.is-focused .bmd-label-placeholder,.has-warning .is-focused .bmd-label-placeholder,.has-warning.is-focused .form-control-feedback,.has-warning .is-focused .form-control-feedback,.has-warning.is-focused [class*=' bmd-label'],.has-warning .is-focused [class*=' bmd-label'],.has-warning.is-focused [class^=bmd-label],.has-warning .is-focused [class^=bmd-label]{color:#ff5722}.has-warning.is-focused .custom-file-control,.has-warning .is-focused .custom-file-control,.has-warning.is-focused .form-control,.has-warning .is-focused .form-control{border-color:#ff5722}.has-warning.is-focused .bmd-help,.has-warning .is-focused .bmd-help{color:rgba(0,0,0,.54)}.has-danger [class*=' bmd-label'],.has-danger [class^=bmd-label]{color:#f44336}.has-danger .custom-file-control,.has-danger .form-control,.is-focused .has-danger .custom-file-control,.is-focused .has-danger .form-control{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:invalid,.has-danger .form-control:invalid{background-image:-webkit-linear-gradient(bottom,#d50000 2px,rgba(213,0,0,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,#d50000 2px,rgba(213,0,0,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:-moz-read-only,.has-danger .form-control:-moz-read-only{background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:read-only,.has-danger .form-control:read-only{background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0);background-image:linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0)}.has-danger .custom-file-control:disabled,.has-danger .disabled.custom-file-control,.has-danger .form-control.disabled,.has-danger .form-control:disabled,.has-danger .form-control[disabled],.has-danger [disabled].custom-file-control,fieldset[disabled][disabled] .has-danger .custom-file-control,fieldset[disabled][disabled] .has-danger .form-control{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.26)),color-stop(30%,rgba(0,0,0,.26)),color-stop(30%,transparent),to(transparent));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.26),rgba(0,0,0,.26) 30%,transparent 0,transparent);background-image:linear-gradient(90deg,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 30%,transparent 0,transparent);background-repeat:repeat-x;background-size:3px 1px}.has-danger .form-control-success.custom-file-control,.has-danger .form-control.form-control-success,.is-focused .has-danger .form-control-success.custom-file-control,.is-focused .has-danger .form-control.form-control-success{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235cb85c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E")}.has-danger .form-control-warning.custom-file-control,.has-danger .form-control.form-control-warning,.is-focused .has-danger .form-control-warning.custom-file-control,.is-focused .has-danger .form-control.form-control-warning{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23f0ad4e' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E")}.has-danger .form-control-danger.custom-file-control,.has-danger .form-control.form-control-danger,.is-focused .has-danger .form-control-danger.custom-file-control,.is-focused .has-danger .form-control.form-control-danger{background-image:-webkit-linear-gradient(bottom,#f44336 2px,rgba(244,67,54,0) 0),-webkit-linear-gradient(bottom,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-image:linear-gradient(0deg,#f44336 2px,rgba(244,67,54,0) 0),linear-gradient(0deg,rgba(0,0,0,.26) 1px,transparent 0),url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d9534f' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E")}.has-danger.is-focused .checkbox,.has-danger .is-focused .checkbox,.has-danger.is-focused .checkbox-inline,.has-danger .is-focused .checkbox-inline,.has-danger.is-focused.checkbox-inline label,.has-danger .is-focused.checkbox-inline label,.has-danger.is-focused.checkbox label,.has-danger .is-focused.checkbox label,.has-danger.is-focused .custom-control,.has-danger .is-focused .custom-control,.has-danger.is-focused .form-control-feedback,.has-danger .is-focused .form-control-feedback,.has-danger.is-focused .form-control-label,.has-danger .is-focused .form-control-label,.has-danger.is-focused .radio,.has-danger .is-focused .radio,.has-danger.is-focused .radio-inline,.has-danger .is-focused .radio-inline,.has-danger.is-focused.radio-inline label,.has-danger .is-focused.radio-inline label,.has-danger.is-focused.radio label,.has-danger .is-focused.radio label{color:#f44336}.has-danger.is-focused .input-group-addon,.has-danger .is-focused .input-group-addon{color:#f44336;border-color:#f44336;background-color:#fff8f7}.has-danger.is-focused .bmd-label-placeholder,.has-danger .is-focused .bmd-label-placeholder,.has-danger.is-focused .form-control-feedback,.has-danger .is-focused .form-control-feedback,.has-danger.is-focused [class*=' bmd-label'],.has-danger .is-focused [class*=' bmd-label'],.has-danger.is-focused [class^=bmd-label],.has-danger .is-focused [class^=bmd-label]{color:#f44336}.has-danger.is-focused .custom-file-control,.has-danger .is-focused .custom-file-control,.has-danger.is-focused .form-control,.has-danger .is-focused .form-control{border-color:#f44336}.has-danger.is-focused .bmd-help,.has-danger .is-focused .bmd-help{color:rgba(0,0,0,.54)}.bmd-form-group{position:relative;padding-top:1.75rem}.bmd-form-group [class*=' bmd-label'],.bmd-form-group [class^=bmd-label]{position:absolute;pointer-events:none;-webkit-transition:all .3s ease;transition:all .3s ease}.bmd-form-group [class*=' bmd-label'].bmd-label-floating,.bmd-form-group [class^=bmd-label].bmd-label-floating{will-change:left,top,contents}.bmd-form-group.is-filled .bmd-label-placeholder{display:none}.bmd-form-group.bmd-collapse-inline{padding:0}.bmd-form-group.bmd-collapse-inline .collapse.in{max-width:600px}.bmd-form-group.bmd-collapse-inline .collapse.in,.bmd-form-group.bmd-collapse-inline .collapsing,.bmd-form-group.bmd-collapse-inline .width:not(.collapse){display:inline-block}.bmd-form-group.bmd-collapse-inline .collapsing{-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input::-webkit-input-placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input::-moz-placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input:-ms-input-placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .custom-file-control,.bmd-form-group .form-control,.bmd-form-group input::placeholder,.bmd-form-group label{line-height:1}.bmd-form-group .checkbox label,.bmd-form-group .radio label,.bmd-form-group .switch label,.bmd-form-group label.checkbox-inline,.bmd-form-group label.radio-inline{line-height:1.5}.bmd-form-group input::-webkit-input-placeholder{font-size:1rem}.bmd-form-group input::-moz-placeholder{font-size:1rem}.bmd-form-group input:-ms-input-placeholder{font-size:1rem}.bmd-form-group .checkbox label,.bmd-form-group .radio label,.bmd-form-group input::placeholder,.bmd-form-group label{font-size:1rem}.bmd-form-group .bmd-label-floating,.bmd-form-group .bmd-label-placeholder{top:2.1875rem}.bmd-form-group .bmd-label-static,.bmd-form-group.is-filled .bmd-label-floating,.bmd-form-group .is-filled .bmd-label-floating,.bmd-form-group.is-focused .bmd-label-floating,.bmd-form-group .is-focused .bmd-label-floating{top:1rem;left:0;font-size:.75rem}.bmd-form-group .bmd-help{margin-top:0;font-size:.75rem}.bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group .form-control-success.custom-file-control,.bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group .form-control.form-control-danger,.bmd-form-group .form-control.form-control-success,.bmd-form-group .form-control.form-control-warning{background-size:0 100%,100% 100%,.9375rem .9375rem}.bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group .form-control-danger.custom-file-control:focus,.bmd-form-group .form-control-success.custom-file-control,.bmd-form-group .form-control-success.custom-file-control:focus,.bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group .form-control-warning.custom-file-control:focus,.bmd-form-group .form-control.form-control-danger,.bmd-form-group .form-control.form-control-danger:focus,.bmd-form-group .form-control.form-control-success,.bmd-form-group .form-control.form-control-success:focus,.bmd-form-group .form-control.form-control-warning,.bmd-form-group .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .46875rem}.bmd-form-group .form-control-danger.custom-file-control:focus,.bmd-form-group .form-control-success.custom-file-control:focus,.bmd-form-group .form-control-warning.custom-file-control:focus,.bmd-form-group .form-control.form-control-danger:focus,.bmd-form-group .form-control.form-control-success:focus,.bmd-form-group .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group .form-control.form-control-warning{background-size:100% 100%,100% 100%,.9375rem .9375rem}.bmd-form-group.bmd-form-group-sm{padding-top:1.40625rem}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input::-moz-placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control,.bmd-form-group.bmd-form-group-sm input::placeholder,.bmd-form-group.bmd-form-group-sm label{line-height:1}.bmd-form-group.bmd-form-group-sm .checkbox label,.bmd-form-group.bmd-form-group-sm .radio label,.bmd-form-group.bmd-form-group-sm .switch label,.bmd-form-group.bmd-form-group-sm label.checkbox-inline,.bmd-form-group.bmd-form-group-sm label.radio-inline{line-height:1.5}.bmd-form-group.bmd-form-group-sm input::-webkit-input-placeholder{font-size:.875rem}.bmd-form-group.bmd-form-group-sm input::-moz-placeholder{font-size:.875rem}.bmd-form-group.bmd-form-group-sm input:-ms-input-placeholder{font-size:.875rem}.bmd-form-group.bmd-form-group-sm .checkbox label,.bmd-form-group.bmd-form-group-sm .radio label,.bmd-form-group.bmd-form-group-sm input::placeholder,.bmd-form-group.bmd-form-group-sm label{font-size:.875rem}.bmd-form-group.bmd-form-group-sm .bmd-label-floating,.bmd-form-group.bmd-form-group-sm .bmd-label-placeholder{top:1.65625rem}.bmd-form-group.bmd-form-group-sm .bmd-label-static,.bmd-form-group.bmd-form-group-sm.is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-sm .is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-sm.is-focused .bmd-label-floating,.bmd-form-group.bmd-form-group-sm .is-focused .bmd-label-floating{top:.75rem;left:0;font-size:.65625rem}.bmd-form-group.bmd-form-group-sm .bmd-help{margin-top:0;font-size:.65625rem}.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning{background-size:0 100%,100% 100%,.6875rem .6875rem}.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .34375rem}.bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-sm .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-sm .form-control.form-control-warning{background-size:100% 100%,100% 100%,.6875rem .6875rem}.bmd-form-group.bmd-form-group-lg{padding-top:1.9375rem}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input::-moz-placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control,.bmd-form-group.bmd-form-group-lg input::placeholder,.bmd-form-group.bmd-form-group-lg label{line-height:1}.bmd-form-group.bmd-form-group-lg .checkbox label,.bmd-form-group.bmd-form-group-lg .radio label,.bmd-form-group.bmd-form-group-lg .switch label,.bmd-form-group.bmd-form-group-lg label.checkbox-inline,.bmd-form-group.bmd-form-group-lg label.radio-inline{line-height:1.5}.bmd-form-group.bmd-form-group-lg input::-webkit-input-placeholder{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg input::-moz-placeholder{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg input:-ms-input-placeholder{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg .checkbox label,.bmd-form-group.bmd-form-group-lg .radio label,.bmd-form-group.bmd-form-group-lg input::placeholder,.bmd-form-group.bmd-form-group-lg label{font-size:1.25rem}.bmd-form-group.bmd-form-group-lg .bmd-label-floating,.bmd-form-group.bmd-form-group-lg .bmd-label-placeholder{top:2.5rem}.bmd-form-group.bmd-form-group-lg .bmd-label-static,.bmd-form-group.bmd-form-group-lg.is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-lg .is-filled .bmd-label-floating,.bmd-form-group.bmd-form-group-lg.is-focused .bmd-label-floating,.bmd-form-group.bmd-form-group-lg .is-focused .bmd-label-floating{top:1rem;left:0;font-size:.9375rem}.bmd-form-group.bmd-form-group-lg .bmd-help{margin-top:0;font-size:.9375rem}.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning{background-size:0 100%,100% 100%,1.1875rem 1.1875rem}.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .59375rem}.bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-danger:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-success:focus,.bmd-form-group.bmd-form-group-lg .form-control.form-control-warning:focus,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-danger.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-success.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control-warning.custom-file-control,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-danger,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-success,.bmd-form-group.is-focused .bmd-form-group.bmd-form-group-lg .form-control.form-control-warning{background-size:100% 100%,100% 100%,1.1875rem 1.1875rem}.custom-file-control,.form-control,input::-webkit-input-placeholder,label{line-height:1}.custom-file-control,.form-control,input::-moz-placeholder,label{line-height:1}.custom-file-control,.form-control,input:-ms-input-placeholder,label{line-height:1}.custom-file-control,.form-control,input::placeholder,label{line-height:1}.checkbox label,.radio label,.switch label,label.checkbox-inline,label.radio-inline{line-height:1.5}input::-webkit-input-placeholder{font-size:1rem}input::-moz-placeholder{font-size:1rem}input:-ms-input-placeholder{font-size:1rem}.checkbox label,.radio label,input::placeholder,label{font-size:1rem}.bmd-label-floating,.bmd-label-placeholder{top:2.1875rem}.bmd-label-static,.is-filled .bmd-label-floating,.is-focused .bmd-label-floating{top:1rem;left:0;font-size:.75rem}.bmd-help{margin-top:0;font-size:.75rem}.form-control-danger.custom-file-control,.form-control-success.custom-file-control,.form-control-warning.custom-file-control,.form-control.form-control-danger,.form-control.form-control-success,.form-control.form-control-warning{background-size:0 100%,100% 100%,.9375rem .9375rem}.bmd-form-group.is-focused .form-control-danger.custom-file-control,.bmd-form-group.is-focused .form-control-success.custom-file-control,.bmd-form-group.is-focused .form-control-warning.custom-file-control,.bmd-form-group.is-focused .form-control.form-control-danger,.bmd-form-group.is-focused .form-control.form-control-success,.bmd-form-group.is-focused .form-control.form-control-warning,.form-control-danger.custom-file-control,.form-control-danger.custom-file-control:focus,.form-control-success.custom-file-control,.form-control-success.custom-file-control:focus,.form-control-warning.custom-file-control,.form-control-warning.custom-file-control:focus,.form-control.form-control-danger,.form-control.form-control-danger:focus,.form-control.form-control-success,.form-control.form-control-success:focus,.form-control.form-control-warning,.form-control.form-control-warning:focus{padding-right:0;background-repeat:no-repeat,no-repeat;background-position:bottom,50% calc(100% - 1px),center right .46875rem}.bmd-form-group.is-focused .form-control-danger.custom-file-control,.bmd-form-group.is-focused .form-control-success.custom-file-control,.bmd-form-group.is-focused .form-control-warning.custom-file-control,.bmd-form-group.is-focused .form-control.form-control-danger,.bmd-form-group.is-focused .form-control.form-control-success,.bmd-form-group.is-focused .form-control.form-control-warning,.form-control-danger.custom-file-control:focus,.form-control-success.custom-file-control:focus,.form-control-warning.custom-file-control:focus,.form-control.form-control-danger:focus,.form-control.form-control-success:focus,.form-control.form-control-warning:focus{background-size:100% 100%,100% 100%,.9375rem .9375rem}select,select.custom-file-control,select.form-control{-moz-appearance:none;-webkit-appearance:none}@media (min-width:544px){.form-inline .input-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}.input-group .input-group-addon{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:transparent;border-color:transparent}.input-group .input-group-addon+input,.input-group input+.input-group-addon{margin-left:.75rem}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:.5rem 0}.list-group.bmd-list-group-sm{padding:.25rem 0}.list-group.bmd-list-group-sm .list-group-item{padding:.5rem 1rem}.bmd-list-group-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.bmd-list-group-col,.list-group-item{display:-webkit-box;display:-ms-flexbox;display:flex}.list-group-item{-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:1rem;line-height:1}.list-group-item .list-group-item-text{min-width:0;max-height:2.188rem;overflow:hidden;text-overflow:ellipsis}.list-group-item :first-child{margin-right:2rem}.list-group-item>*~.label:last-child,.list-group-item>*~.material-icons:last-child,.list-group-item>.pull-lg-right,.list-group-item>.pull-md-right,.list-group-item>.pull-sm-right,.list-group-item>.pull-xl-right,.list-group-item>.pull-xs-right{margin-right:0;margin-left:auto}.list-group-item .material-icons.pull-lg-right,.list-group-item .material-icons.pull-md-right,.list-group-item .material-icons.pull-sm-right,.list-group-item .material-icons.pull-xl-right,.list-group-item .material-icons.pull-xs-right,.list-group-item .material-icons~.material-icons:last-child{padding-left:1rem}.list-group-item .list-group-item-text{font-size:.875rem;color:rgba(0,0,0,.54)}.table-inverse{color:hsla(0,0%,100%,.84)}.nav-link{text-transform:uppercase}.navbar-nav .nav-link{padding:.5321rem;font-size:.875rem;font-weight:400}.nav-pills,.nav-tabs{border:0}.nav-pills .nav-link,.nav-tabs .nav-link{padding:1.4286em .8575em;font-size:.875rem;font-weight:500;border:0}.nav-tabs .nav-link{border-bottom:.214rem solid transparent;color:rgba(0,0,0,.54)}.nav-tabs .nav-link.active{color:rgba(0,0,0,.87);border-color:#009688}.nav-tabs .nav-link.active:focus,.nav-tabs .nav-link.active:hover{border-color:#009688}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:focus,.nav-tabs .nav-link.disabled:hover{color:rgba(0,0,0,.26)}.nav-tabs.bg-primary .nav-link{color:#fff}.nav-tabs.bg-primary .nav-link.active{color:#fff;border-color:#fff}.nav-tabs.bg-primary .nav-link.active:focus,.nav-tabs.bg-primary .nav-link.active:hover{border-color:#fff}.nav-tabs.bg-primary .nav-link.disabled,.nav-tabs.bg-primary .nav-link.disabled:focus,.nav-tabs.bg-primary .nav-link.disabled:hover{color:hsla(0,0%,100%,.84)}.nav-tabs.bg-inverse .nav-link{color:#fff}.nav-tabs.bg-inverse .nav-link.active{color:#fff;border-color:#fff}.nav-tabs.bg-inverse .nav-link.active:focus,.nav-tabs.bg-inverse .nav-link.active:hover{border-color:#fff}.nav-tabs.bg-inverse .nav-link.disabled,.nav-tabs.bg-inverse .nav-link.disabled:focus,.nav-tabs.bg-inverse .nav-link.disabled:hover{color:hsla(0,0%,100%,.84)}.nav .nav-item{position:relative}.navbar{z-index:1;border:0;border-radius:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}.navbar .navbar-brand{position:relative}.navbar>*{-ms-flex-negative:0;flex-shrink:0}.navbar>.container{-webkit-box-flex:1;-ms-flex:1;flex:1}.alert{border:0;border-radius:0}.progress{height:4px;background:#c8c8c8;border-radius:0}.progress,.progress .progress-bar{box-shadow:none}.page-item:first-child .page-link{border-bottom-left-radius:4em;border-top-left-radius:4em}.page-item:last-child .page-link{border-bottom-right-radius:4em;border-top-right-radius:4em;margin-right:0}.page-item:first-child .page-link,.page-item:last-child .page-link{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-right:0;padding-left:0}.page-item:first-child .page-link>.material-icons,.page-item:last-child .page-link>.material-icons{font-size:1.5em}.page-link{min-width:2.6em;margin-right:.5em;text-align:center;border-radius:4em}.page-link:focus,.page-link:hover{text-decoration:none}.pagination-lg .page-link{min-width:2.8em;padding:.75rem 0;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:4em;border-top-left-radius:4em}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:4em;border-top-right-radius:4em}.pagination-sm .page-link{min-width:2.2em;padding:.275rem 0;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:4em;border-top-left-radius:4em}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:4em;border-top-right-radius:4em}h6{font-weight:500}.card{border:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.card .card-header{padding:1rem}.card .card-block{padding:1.5rem 1rem 1rem}.card h1.card-title,.card h2.card-title,.card h3.card-title,.card h4.card-title,.card h5.card-title,.card h6.card-title{font-size:1.5rem;font-weight:300}.card .bmd-card-actions,.card .card-footer{padding:.5rem}.card.bmd-card-raised{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}@media (min-width:992px){.card.bmd-card-flat{box-shadow:none}}.modal-content{border:0;border-radius:.125rem}.modal-content .modal-header{padding:24px 24px 0;border-bottom:0}.modal-content .modal-body{padding:20px 24px 24px}.modal-content .modal-footer{padding:8px 8px 8px 24px;border-top:0}.modal-content .modal-footer .btn,.modal-content .modal-footer .custom-file-control:before{margin:0}.modal-content .modal-footer .btn+.btn,.modal-content .modal-footer .btn+.custom-file-control:before,.modal-content .modal-footer .custom-file-control:before+.btn,.modal-content .modal-footer .custom-file-control:before+.custom-file-control:before{margin-left:8px}.dropdown-menu{display:block;padding:.25rem 0;border:0;opacity:0;-webkit-transition:opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),-webkit-transform .3s cubic-bezier(.4,0,.2,1);-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;will-change:transform;right:0;left:auto;-webkit-transform-origin:100% 0;transform-origin:100% 0}@media (min-width:768px){.dropdown-menu{padding:.5rem 0}}.open>.dropdown-menu{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.dropdown-menu.dropdown-menu-left{top:100%;left:0;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-menu.dropdown-menu-right{right:0;left:auto;-webkit-transform-origin:100% 0;transform-origin:100% 0}.dropdown-menu .dropdown-item{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:7rem;max-width:17.5rem;min-height:3rem;padding:.8rem 1rem;overflow:hidden;line-height:1;text-overflow:ellipsis;word-wrap:break-word}@media (min-width:768px){.dropdown-menu .dropdown-item{padding-right:1.5rem;padding-left:1.5rem}}.dropdown-toggle.bmd-btn-fab:after,.dropdown-toggle.bmd-btn-icon:after{display:none}.dropdown-toggle.bmd-btn-fab~.dropdown-menu.dropdown-menu-top-left,.dropdown-toggle.bmd-btn-fab~.dropdown-menu.dropdown-menu-top-right,.dropdown-toggle.bmd-btn-icon~.dropdown-menu.dropdown-menu-top-left,.dropdown-toggle.bmd-btn-icon~.dropdown-menu.dropdown-menu-top-right{bottom:2rem}.dropdown-toggle.bmd-btn-fab-sm~.dropdown-menu.dropdown-menu-top-left,.dropdown-toggle.bmd-btn-fab-sm~.dropdown-menu.dropdown-menu-top-right{bottom:2.5rem}.dropdown-toggle.bmd-btn-icon~.dropdown-menu{margin:0}.bmd-layout-drawer{position:absolute;z-index:5;box-sizing:border-box;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;max-height:100%;overflow:visible;overflow-y:auto;font-size:.875rem;-webkit-transition:-webkit-transform;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform;will-change:transform;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);transition-timing-function:cubic-bezier(.4,0,.2,1)}.bmd-layout-drawer>*{-ms-flex-negative:0;flex-shrink:0}.bmd-layout-drawer>header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem}.bmd-layout-drawer>header .navbar-brand{padding-left:1.5rem;font-size:1.25rem}.bmd-layout-drawer>.list-group{padding-top:1rem}.bmd-layout-drawer>.list-group .list-group-item{padding-right:2.5rem;padding-left:2.5rem;font-size:.8125rem;font-weight:500}.bmd-drawer-f-l>.bmd-layout-drawer{top:0;left:0;width:240px;height:100%;-webkit-transform:translateX(-250px);transform:translateX(-250px)}.bmd-drawer-f-l>.bmd-layout-content,.bmd-drawer-f-l>.bmd-layout-header{margin-left:0}.bmd-drawer-f-r>.bmd-layout-drawer{top:0;right:0;width:240px;height:100%;-webkit-transform:translateX(250px);transform:translateX(250px)}.bmd-drawer-f-r>.bmd-layout-content,.bmd-drawer-f-r>.bmd-layout-header{margin-right:0}.bmd-drawer-f-t>.bmd-layout-drawer{top:0;left:0;width:100%;height:100px;-webkit-transform:translateY(-110px);transform:translateY(-110px)}.bmd-drawer-f-t>.bmd-layout-content{margin-top:0}.bmd-drawer-f-b>.bmd-layout-drawer{bottom:0;left:0;width:100%;height:100px;-webkit-transform:translateY(110px);transform:translateY(110px)}.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay.bmd-drawer-overlay.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}@media (min-width:544px){:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:544px){:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-sm-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}@media (max-width:767px){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}}@media (max-width:767px){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-sm-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}}@media (min-width:768px){:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:768px){:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-md-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}@media (max-width:991px){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}}@media (max-width:991px){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-md-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-md-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}}@media (min-width:992px){:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:992px){:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-lg-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}@media (max-width:1199px){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}}@media (max-width:1199px){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-lg-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}}@media (min-width:1200px){:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l>.bmd-layout-header{width:calc(100% - 240px);margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-l>.bmd-layout-content{margin-left:240px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r>.bmd-layout-header{width:calc(100% - 240px);margin-right:240px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r>.bmd-layout-drawer{-webkit-transform:translateX(0);transform:translateX(0)}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-r>.bmd-layout-content{margin-right:240px}}@media (min-width:1200px){:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t>.bmd-layout-header{margin-top:100px}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b>.bmd-layout-drawer,:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-t>.bmd-layout-drawer{-webkit-transform:translateY(0);transform:translateY(0)}:not(.bmd-drawer-out).bmd-drawer-in-xl-up.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:100px}}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-l>.bmd-layout-header{width:100%;margin-left:0}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r>.bmd-layout-content,:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-r>.bmd-layout-header{width:100%;margin-right:0}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down>.bmd-layout-backdrop .in{visibility:visible;background-color:rgba(0,0,0,.5)}@supports (pointer-events:auto){:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down>.bmd-layout-backdrop.in{pointer-events:auto;opacity:1}}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-t>.bmd-layout-header{margin-top:0}:not(.bmd-drawer-out).bmd-drawer-overlay-xl-down.bmd-drawer-f-b>.bmd-layout-content{margin-bottom:0}.ripple{position:relative}.ripple-container{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;overflow:hidden;pointer-events:none;border-radius:inherit}.ripple-container .ripple-decorator{position:absolute;width:20px;height:20px;margin-top:-10px;margin-left:-10px;pointer-events:none;background-color:rgba(0,0,0,.05);border-radius:100%;opacity:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50%;transform-origin:50%}.ripple-container .ripple-decorator.ripple-on{opacity:.1;-webkit-transition:opacity .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s;transition:opacity .15s ease-in 0s,transform .5s cubic-bezier(.4,0,.2,1) .1s,-webkit-transform .5s cubic-bezier(.4,0,.2,1) .1s}.ripple-container .ripple-decorator.ripple-out{opacity:0;-webkit-transition:opacity .1s linear 0s!important;transition:opacity .1s linear 0s!important} \ No newline at end of file
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js
new file mode 100644
index 0000000..0d7c689
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js
@@ -0,0 +1,2936 @@
+/*!
+ * bootstrap-material-design v4.0.2 (https://github.com/FezVrasta/bootstrap-material-design)
+ * Copyright 2016 Federico Zivolo and contributors
+ * Licensed under MIT
+ */
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('babel-polyfill'), require('bootstrap/dist/js/bootstrap')) :
+ typeof define === 'function' && define.amd ? define(['babel-polyfill', 'bootstrap/dist/js/bootstrap'], factory) :
+ (factory(global.babelPolyfill,global.bootstrap_dist_js_bootstrap));
+}(this, function (babelPolyfill,bootstrap_dist_js_bootstrap) { 'use strict';
+
+ var Util = function () {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Private TransitionEnd Helpers
+ * ------------------------------------------------------------------------
+ */
+
+ var transitionEnd = false;
+ var _transitionEndSelector = '';
+
+ var TransitionEndEvent = {
+ WebkitTransition: 'webkitTransitionEnd',
+ MozTransition: 'transitionend',
+ OTransition: 'oTransitionEnd otransitionend',
+ transition: 'transitionend'
+ };
+
+ function transitionEndTest() {
+ if (window.QUnit) {
+ return false;
+ }
+
+ var el = document.createElement('bmd');
+
+ for (var name in TransitionEndEvent) {
+ if (el.style[name] !== undefined) {
+ return TransitionEndEvent[name]; // { end: TransitionEndEvent[name] }
+ }
+ }
+
+ return false;
+ }
+
+ function setTransitionEndSupport() {
+ transitionEnd = transitionEndTest();
+
+ // generate a concatenated transition end event selector
+ for (var name in TransitionEndEvent) {
+ _transitionEndSelector += ' ' + TransitionEndEvent[name];
+ }
+ }
+
+ /**
+ * --------------------------------------------------------------------------
+ * Public Util Api
+ * --------------------------------------------------------------------------
+ */
+
+ var Util = {
+ transitionEndSupported: function transitionEndSupported() {
+ return transitionEnd;
+ },
+ transitionEndSelector: function transitionEndSelector() {
+ return _transitionEndSelector;
+ },
+ isChar: function isChar(event) {
+ if (typeof event.which === 'undefined') {
+ return true;
+ } else if (typeof event.which === 'number' && event.which > 0) {
+ return !event.ctrlKey && !event.metaKey && !event.altKey && event.which !== 8 // backspace
+ && event.which !== 9 // tab
+ && event.which !== 13 // enter
+ && event.which !== 16 // shift
+ && event.which !== 17 // ctrl
+ && event.which !== 20 // caps lock
+ && event.which !== 27 // escape
+ ;
+ }
+ return false;
+ },
+ assert: function assert($element, invalidTest, message) {
+ if (invalidTest) {
+ if (!$element === undefined) {
+ $element.css('border', '1px solid red');
+ }
+ console.error(message, $element); // eslint-disable-line no-console
+ throw message;
+ }
+ },
+ describe: function describe($element) {
+ if ($element === undefined) {
+ return 'undefined';
+ } else if ($element.length === 0) {
+ return '(no matching elements)';
+ }
+ return $element[0].outerHTML.split('>')[0] + '>';
+ }
+ };
+
+ setTransitionEndSupport();
+ return Util;
+ }(jQuery);
+
+ var classCallCheck = function (instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+ };
+
+ var createClass = function () {
+ function defineProperties(target, props) {
+ for (var i = 0; i < props.length; i++) {
+ var descriptor = props[i];
+ descriptor.enumerable = descriptor.enumerable || false;
+ descriptor.configurable = true;
+ if ("value" in descriptor) descriptor.writable = true;
+ Object.defineProperty(target, descriptor.key, descriptor);
+ }
+ }
+
+ return function (Constructor, protoProps, staticProps) {
+ if (protoProps) defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) defineProperties(Constructor, staticProps);
+ return Constructor;
+ };
+ }();
+
+ var get = function get(object, property, receiver) {
+ if (object === null) object = Function.prototype;
+ var desc = Object.getOwnPropertyDescriptor(object, property);
+
+ if (desc === undefined) {
+ var parent = Object.getPrototypeOf(object);
+
+ if (parent === null) {
+ return undefined;
+ } else {
+ return get(parent, property, receiver);
+ }
+ } else if ("value" in desc) {
+ return desc.value;
+ } else {
+ var getter = desc.get;
+
+ if (getter === undefined) {
+ return undefined;
+ }
+
+ return getter.call(receiver);
+ }
+ };
+
+ var inherits = function (subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ enumerable: false,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
+ };
+
+ var possibleConstructorReturn = function (self, call) {
+ if (!self) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return call && (typeof call === "object" || typeof call === "function") ? call : self;
+ };
+
+ var Base = function ($) {
+
+ var ClassName = {
+ BMD_FORM_GROUP: 'bmd-form-group',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused'
+ };
+
+ var Selector = {
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP
+ };
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Base = function () {
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function Base($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, Base);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+
+ // set properties for use in the constructor initialization
+ for (var key in properties) {
+ this[key] = properties[key];
+ }
+ }
+
+ createClass(Base, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ this.$element.data(dataKey, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'addFormGroupFocus',
+ value: function addFormGroupFocus() {
+ if (!this.$element.prop('disabled')) {
+ this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED);
+ }
+ }
+ }, {
+ key: 'removeFormGroupFocus',
+ value: function removeFormGroupFocus() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED);
+ }
+ }, {
+ key: 'removeIsFilled',
+ value: function removeIsFilled() {
+ this.$bmdFormGroup.removeClass(ClassName.IS_FILLED);
+ }
+ }, {
+ key: 'addIsFilled',
+ value: function addIsFilled() {
+ this.$bmdFormGroup.addClass(ClassName.IS_FILLED);
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findMdbFormGroup',
+ value: function findMdbFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var mfg = this.$element.closest(Selector.BMD_FORM_GROUP);
+ if (mfg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return mfg;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return Base;
+ }();
+
+ return Base;
+ }(jQuery);
+
+ var BaseInput = function ($) {
+
+ var ClassName = {
+ FORM_GROUP: 'form-group',
+ BMD_FORM_GROUP: 'bmd-form-group',
+ BMD_LABEL: 'bmd-label',
+ BMD_LABEL_STATIC: 'bmd-label-static',
+ BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',
+ BMD_LABEL_FLOATING: 'bmd-label-floating',
+ HAS_DANGER: 'has-danger',
+ IS_FILLED: 'is-filled',
+ IS_FOCUSED: 'is-focused',
+ INPUT_GROUP: 'input-group'
+ };
+
+ var Selector = {
+ FORM_GROUP: '.' + ClassName.FORM_GROUP,
+ BMD_FORM_GROUP: '.' + ClassName.BMD_FORM_GROUP,
+ BMD_LABEL_WILDCARD: 'label[class^=\'' + ClassName.BMD_LABEL + '\'], label[class*=\' ' + ClassName.BMD_LABEL + '\']' // match any label variant if specified
+ };
+
+ var Default = {
+ validate: false,
+ formGroup: {
+ required: false
+ },
+ bmdFormGroup: {
+ template: '<span class=\'' + ClassName.BMD_FORM_GROUP + '\'></span>',
+ create: true, // create a wrapper if form-group not found
+ required: true // not recommended to turn this off, only used for inline components
+ },
+ label: {
+ required: false,
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ selectors: ['.form-control-label', // in the case of horizontal or inline forms, this will be marked
+ '> label' // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.
+ ],
+ className: ClassName.BMD_LABEL_STATIC
+ },
+ requiredClasses: [],
+ invalidComponentMatches: [],
+ convertInputSizeVariations: true
+ };
+
+ var FormControlSizeMarkers = {
+ 'form-control-lg': 'bmd-form-group-lg',
+ 'form-control-sm': 'bmd-form-group-sm'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseInput = function (_Base) {
+ inherits(BaseInput, _Base);
+
+ /**
+ *
+ * @param element
+ * @param config
+ * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`
+ */
+ function BaseInput($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseInput);
+
+ // Enforce no overlap between components to prevent side effects
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseInput).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this._rejectInvalidComponentMatches();
+
+ // Enforce expected structure (if any)
+ _this.rejectWithoutRequiredStructure();
+
+ // Enforce required classes for a consistent rendering
+ _this._rejectWithoutRequiredClasses();
+
+ // Resolve the form-group first, it will be used for bmd-form-group if possible
+ // note: different components have different rules
+ _this.$formGroup = _this.findFormGroup(_this.config.formGroup.required);
+
+ // Will add bmd-form-group to form-group or create an bmd-form-group
+ // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid
+ // rendering changes once added.
+ _this.$bmdFormGroup = _this.resolveMdbFormGroup();
+
+ // Resolve and mark the bmdLabel if necessary as defined by the config
+ _this.$bmdLabel = _this.resolveMdbLabel();
+
+ // Signal to the bmd-form-group that a form-control-* variation is being used
+ _this.resolveMdbFormGroupSizing();
+
+ _this.addFocusListener();
+ _this.addChangeListener();
+
+ if (_this.$element.val() != '') {
+ _this.addIsFilled();
+ }
+ return _this;
+ }
+
+ createClass(BaseInput, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseInput.prototype), 'dispose', this).call(this, dataKey);
+ this.$bmdFormGroup = null;
+ this.$formGroup = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // implement
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$element.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.on('keydown paste', function (event) {
+ if (Util.isChar(event)) {
+ _this3.addIsFilled();
+ }
+ }).on('keyup change', function () {
+
+ // make sure empty is added back when there is a programmatic value change.
+ // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')
+ if (_this3.isEmpty()) {
+ _this3.removeIsFilled();
+ } else {
+ _this3.addIsFilled();
+ }
+
+ if (_this3.config.validate) {
+ // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/
+ // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter
+ // the form-group on change.
+ //
+ // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.
+ // BUT, I've left it here for backwards compatibility.
+ var isValid = typeof _this3.$element[0].checkValidity === 'undefined' || _this3.$element[0].checkValidity();
+ if (isValid) {
+ _this3.removeHasDanger();
+ } else {
+ _this3.addHasDanger();
+ }
+ }
+ });
+ }
+ }, {
+ key: 'addHasDanger',
+ value: function addHasDanger() {
+ this.$bmdFormGroup.addClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'removeHasDanger',
+ value: function removeHasDanger() {
+ this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER);
+ }
+ }, {
+ key: 'isEmpty',
+ value: function isEmpty() {
+ return this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '';
+ }
+
+ // Will add bmd-form-group to form-group or create a bmd-form-group if necessary
+
+ }, {
+ key: 'resolveMdbFormGroup',
+ value: function resolveMdbFormGroup() {
+ var mfg = this.findMdbFormGroup(false);
+ if (mfg === undefined || mfg.length === 0) {
+ if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {
+ // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).
+ // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.
+
+ // this may be an input-group, wrap that instead
+ if (this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)) {
+ this.outerElement().parent().wrap(this.config.bmdFormGroup.template);
+ } else {
+ this.outerElement().wrap(this.config.bmdFormGroup.template);
+ }
+ } else {
+ // a form-group does exist, add our marker class to it
+ this.$formGroup.addClass(ClassName.BMD_FORM_GROUP);
+
+ // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable
+ // A form-group does exist, so add an bmd-form-group wrapping it's internal contents
+ //fg.wrapInner(this.config.bmdFormGroup.template)
+ }
+
+ mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required);
+ }
+
+ return mfg;
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+ // Subclasses such as file inputs may have different structures
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ return this.$element;
+ }
+
+ // Will add bmd-label to bmd-form-group if not already specified
+
+ }, {
+ key: 'resolveMdbLabel',
+ value: function resolveMdbLabel() {
+
+ var label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD);
+ if (label === undefined || label.length === 0) {
+ // we need to find it based on the configured selectors
+ label = this.findMdbLabel(this.config.label.required);
+
+ if (label === undefined || label.length === 0) {
+ // no label found, and finder did not require one
+ } else {
+ // a candidate label was found, add the configured default class name
+ label.addClass(this.config.label.className);
+ }
+ }
+
+ return label;
+ }
+
+ // Find bmd-label variant based on the config selectors
+
+ }, {
+ key: 'findMdbLabel',
+ value: function findMdbLabel() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var label = null;
+
+ // use the specified selector order
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ for (var _iterator = this.config.label.selectors[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ var selector = _step.value;
+
+ if ($.isFunction(selector)) {
+ label = selector(this);
+ } else {
+ label = this.$bmdFormGroup.find(selector);
+ }
+
+ if (label !== undefined && label.length > 0) {
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ if (label.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BMD_LABEL_WILDCARD + ' within form-group for ' + Util.describe(this.$element));
+ }
+ return label;
+ }
+
+ // Find bmd-form-group
+
+ }, {
+ key: 'findFormGroup',
+ value: function findFormGroup() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ var fg = this.$element.closest(Selector.FORM_GROUP);
+ if (fg.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.FORM_GROUP + ' for ' + Util.describe(this.$element));
+ }
+ return fg;
+ }
+
+ // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on
+ // a found form-control-* size
+
+ }, {
+ key: 'resolveMdbFormGroupSizing',
+ value: function resolveMdbFormGroupSizing() {
+ if (!this.config.convertInputSizeVariations) {
+ return;
+ }
+
+ // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)
+ for (var inputSize in FormControlSizeMarkers) {
+ if (this.$element.hasClass(inputSize)) {
+ //this.$element.removeClass(inputSize)
+ this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize]);
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_rejectInvalidComponentMatches',
+ value: function _rejectInvalidComponentMatches() {
+ var _iteratorNormalCompletion2 = true;
+ var _didIteratorError2 = false;
+ var _iteratorError2 = undefined;
+
+ try {
+ for (var _iterator2 = this.config.invalidComponentMatches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
+ var otherComponent = _step2.value;
+
+ otherComponent.rejectMatch(this.constructor.name, this.$element);
+ }
+ } catch (err) {
+ _didIteratorError2 = true;
+ _iteratorError2 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion2 && _iterator2.return) {
+ _iterator2.return();
+ }
+ } finally {
+ if (_didIteratorError2) {
+ throw _iteratorError2;
+ }
+ }
+ }
+ }
+ }, {
+ key: '_rejectWithoutRequiredClasses',
+ value: function _rejectWithoutRequiredClasses() {
+ var _iteratorNormalCompletion3 = true;
+ var _didIteratorError3 = false;
+ var _iteratorError3 = undefined;
+
+ try {
+ for (var _iterator3 = this.config.requiredClasses[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
+ var requiredClass = _step3.value;
+
+
+ var found = false;
+ // allow one of several classes to be passed in x||y
+ if (requiredClass.indexOf('||') !== -1) {
+ var oneOf = requiredClass.split('||');
+ var _iteratorNormalCompletion4 = true;
+ var _didIteratorError4 = false;
+ var _iteratorError4 = undefined;
+
+ try {
+ for (var _iterator4 = oneOf[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
+ var _requiredClass = _step4.value;
+
+ if (this.$element.hasClass(_requiredClass)) {
+ found = true;
+ break;
+ }
+ }
+ } catch (err) {
+ _didIteratorError4 = true;
+ _iteratorError4 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion4 && _iterator4.return) {
+ _iterator4.return();
+ }
+ } finally {
+ if (_didIteratorError4) {
+ throw _iteratorError4;
+ }
+ }
+ }
+ } else if (this.$element.hasClass(requiredClass)) {
+ found = true;
+ }
+
+ // error if not found
+ if (!found) {
+ $.error(this.constructor.name + ' element: ' + Util.describe(this.$element) + ' requires class: ' + requiredClass);
+ }
+ }
+ } catch (err) {
+ _didIteratorError3 = true;
+ _iteratorError3 = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion3 && _iterator3.return) {
+ _iterator3.return();
+ }
+ } finally {
+ if (_didIteratorError3) {
+ throw _iteratorError3;
+ }
+ }
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseInput;
+ }(Base);
+
+ return BaseInput;
+ }(jQuery);
+
+ var BaseSelection = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ label: {
+ required: false
+
+ // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup
+ // - a function(thisComponent); or
+ // - a string selector used like $bmdFormGroup.find(selector)
+ //
+ // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)
+ //
+ //selectors: [
+ // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked
+ // `> label` // usual case for text inputs
+ //]
+ }
+ };
+
+ var Selector = {
+ LABEL: 'label'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseSelection = function (_BaseInput) {
+ inherits(BaseSelection, _BaseInput);
+
+ function BaseSelection($element, config, properties) {
+ classCallCheck(this, BaseSelection);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseSelection).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // properties = {inputType: checkbox, outerClass: checkbox-inline}
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+
+ _this.decorateMarkup();
+ return _this;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ createClass(BaseSelection, [{
+ key: 'decorateMarkup',
+ value: function decorateMarkup() {
+ this.$element.after(this.config.template);
+ }
+
+ // Demarcation element (e.g. first child of a form-group)
+
+ }, {
+ key: 'outerElement',
+ value: function outerElement() {
+ // .checkbox|switch|radio > label > input[type=checkbox|radio]
+ // label.checkbox-inline > input[type=checkbox|radio]
+ // .${this.outerClass} > label > input[type=${this.inputType}]
+ return this.$element.parent().closest('.' + this.outerClass);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // '.checkbox|switch|radio > label > input[type=checkbox|radio]'
+ // '.${this.outerClass} > label > input[type=${this.inputType}]'
+ Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' outer element should have class ' + this.outerClass + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ // checkboxes didn't appear to bubble to the document, so we'll bind these directly
+ this.$element.closest(Selector.LABEL).hover(function () {
+ _this2.addFormGroupFocus();
+ }, function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ this.$element.change(function () {
+ _this3.$element.blur();
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }]);
+ return BaseSelection;
+ }(BaseInput);
+
+ return BaseSelection;
+ }(jQuery);
+
+ var Checkbox = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkbox';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'checkbox-decorator\'><span class=\'check\'></span></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Checkbox = function (_BaseSelection) {
+ inherits(Checkbox, _BaseSelection);
+
+ function Checkbox($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Checkbox);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Checkbox).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},
+ Default, config), properties));
+ }
+
+ createClass(Checkbox, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Checkbox.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.checkbox > label > input[type=checkbox]'
+ if ($element.attr('type') === 'checkbox') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'checkbox\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Checkbox($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Checkbox;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Checkbox._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Checkbox;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Checkbox._jQueryInterface;
+ };
+
+ return Checkbox;
+ }(jQuery);
+
+ var CheckboxInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'checkboxInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CheckboxInline = function (_Checkbox) {
+ inherits(CheckboxInline, _Checkbox);
+
+ function CheckboxInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'checkbox-inline' } : arguments[2];
+ classCallCheck(this, CheckboxInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(CheckboxInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(CheckboxInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CheckboxInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ //static matches($element) {
+ // // '.checkbox-inline > input[type=checkbox]'
+ // if ($element.attr('type') === 'checkbox') {
+ // return true
+ // }
+ // return false
+ //}
+ //
+ //static rejectMatch(component, $element) {
+ // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)
+ //}
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CheckboxInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CheckboxInline;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CheckboxInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CheckboxInline._jQueryInterface;
+ };
+
+ return CheckboxInline;
+ }(jQuery);
+
+ var CollapseInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'collapseInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Selector = {
+ ANY_INPUT: 'input, select, textarea'
+ };
+
+ var ClassName = {
+ IN: 'in',
+ COLLAPSE: 'collapse',
+ COLLAPSING: 'collapsing',
+ COLLAPSED: 'collapsed',
+ WIDTH: 'width'
+ };
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var CollapseInline = function (_Base) {
+ inherits(CollapseInline, _Base);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="collapse" data-target="#search-field" aria-expanded="false" aria-controls="search-field">
+ function CollapseInline($element, config) {
+ classCallCheck(this, CollapseInline);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(CollapseInline).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$bmdFormGroup = _this.findMdbFormGroup(true);
+
+ var collapseSelector = $element.data('target');
+ _this.$collapse = $(collapseSelector);
+
+ Util.assert($element, _this.$collapse.length === 0, 'Cannot find collapse target for ' + Util.describe($element));
+ Util.assert(_this.$collapse, !_this.$collapse.hasClass(ClassName.COLLAPSE), Util.describe(_this.$collapse) + ' is expected to have the \'' + ClassName.COLLAPSE + '\' class. It is being targeted by ' + Util.describe($element));
+
+ // find the first input for focusing
+ var $inputs = _this.$bmdFormGroup.find(Selector.ANY_INPUT);
+ if ($inputs.length > 0) {
+ _this.$input = $inputs.first();
+ }
+
+ // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten
+ if (!_this.$collapse.hasClass(ClassName.WIDTH)) {
+ _this.$collapse.addClass(ClassName.WIDTH);
+ }
+
+ if (_this.$input) {
+ // add a listener to set focus
+ _this.$collapse.on('shown.bs.collapse', function () {
+ _this.$input.focus();
+ });
+
+ // add a listener to collapse field
+ _this.$input.blur(function () {
+ _this.$collapse.collapse('hide');
+ });
+ }
+ return _this;
+ }
+
+ createClass(CollapseInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(CollapseInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$bmdFormGroup = null;
+ this.$collapse = null;
+ this.$input = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new CollapseInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return CollapseInline;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = CollapseInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return CollapseInline._jQueryInterface;
+ };
+
+ return CollapseInline;
+ }(jQuery);
+
+ var File = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'file';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ var ClassName = {
+ FILE: NAME,
+ IS_FILE: 'is-file'
+ };
+
+ var Selector = {
+ FILENAMES: 'input.form-control[readonly]'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var File = function (_BaseInput) {
+ inherits(File, _BaseInput);
+
+ function File($element, config) {
+ classCallCheck(this, File);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(File).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},
+ Default, config)));
+
+ _this.$bmdFormGroup.addClass(ClassName.IS_FILE);
+ return _this;
+ }
+
+ createClass(File, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(File.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }, {
+ key: 'outerElement',
+
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Demarcation element (e.g. first child of a form-group)
+ value: function outerElement() {
+ // label.file > input[type=file]
+ return this.$element.parent().closest('.' + ClassName.FILE);
+ }
+ }, {
+ key: 'rejectWithoutRequiredStructure',
+ value: function rejectWithoutRequiredStructure() {
+ // label.file > input[type=file]
+ Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should be <label>.');
+ Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), this.constructor.name + '\'s ' + Util.describe(this.$element) + ' parent element ' + Util.describe(this.outerElement()) + ' should have class .' + ClassName.FILE + '.');
+ }
+ }, {
+ key: 'addFocusListener',
+ value: function addFocusListener() {
+ var _this2 = this;
+
+ this.$bmdFormGroup.on('focus', function () {
+ _this2.addFormGroupFocus();
+ }).on('blur', function () {
+ _this2.removeFormGroupFocus();
+ });
+ }
+ }, {
+ key: 'addChangeListener',
+ value: function addChangeListener() {
+ var _this3 = this;
+
+ // set the fileinput readonly field with the name of the file
+ this.$element.on('change', function () {
+ var value = '';
+ $.each(_this3.$element.files, function (i, file) {
+ value += file.name + ' , ';
+ });
+ value = value.substring(0, value.length - 2);
+ if (value) {
+ _this3.addIsFilled();
+ } else {
+ _this3.removeIsFilled();
+ }
+ _this3.$bmdFormGroup.find(Selector.FILENAMES).val(value);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'file') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'file\'.');
+ }
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new File($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return File;
+ }(BaseInput);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = File._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = File;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return File._jQueryInterface;
+ };
+
+ return File;
+ }(jQuery);
+
+ var Radio = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radio';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-radio-outer-circle\'></span><span class=\'bmd-radio-inner-circle\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Radio = function (_BaseSelection) {
+ inherits(Radio, _BaseSelection);
+
+ function Radio($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: NAME, outerClass: NAME } : arguments[2];
+ classCallCheck(this, Radio);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Radio).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Switch, Text]},
+ Default, config), properties));
+ }
+
+ createClass(Radio, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Radio.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ // '.radio > label > input[type=radio]'
+ if ($element.attr('type') === 'radio') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'radio\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ //decorateMarkup() {
+ // this.$element.after(this.config.template)
+ //}
+
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Radio($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Radio;
+ }(BaseSelection);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Radio._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Radio;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Radio._jQueryInterface;
+ };
+
+ return Radio;
+ }(jQuery);
+
+ var RadioInline = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'radioInline';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ bmdFormGroup: {
+ create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.
+ required: false
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var RadioInline = function (_Radio) {
+ inherits(RadioInline, _Radio);
+
+ function RadioInline($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'radio', outerClass: 'radio-inline' } : arguments[2];
+ classCallCheck(this, RadioInline);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(RadioInline).call(this, $element, $.extend(true, {}, Default, config), properties));
+ }
+
+ createClass(RadioInline, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(RadioInline.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new RadioInline($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return RadioInline;
+ }(Radio);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = RadioInline._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = RadioInline;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return RadioInline._jQueryInterface;
+ };
+
+ return RadioInline;
+ }(jQuery);
+
+ var BaseFormControl = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var Default = {
+ requiredClasses: ['form-control']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseFormControl = function (_BaseInput) {
+ inherits(BaseFormControl, _BaseInput);
+
+ function BaseFormControl($element, config) {
+ classCallCheck(this, BaseFormControl);
+
+ // Initially mark as empty
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseFormControl).call(this, $element, $.extend(true, Default, config)));
+
+ if (_this.isEmpty()) {
+ _this.removeIsFilled();
+ }
+ return _this;
+ }
+
+ return BaseFormControl;
+ }(BaseInput);
+
+ return BaseFormControl;
+ }(jQuery);
+
+ var Select = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'select';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ requiredClasses: ['form-control||custom-select']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Select = function (_BaseFormControl) {
+ inherits(Select, _BaseFormControl);
+
+ function Select($element, config) {
+ classCallCheck(this, Select);
+
+ // floating labels will cover the options, so trigger them to be above (if used)
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Select).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},
+ Default, config)));
+
+ _this.addIsFilled();
+ return _this;
+ }
+
+ createClass(Select, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Select.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'select') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <select>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Select($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Select;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Select._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Select;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Select._jQueryInterface;
+ };
+
+ return Select;
+ }(jQuery);
+
+ var Switch = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'switch';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {
+ template: '<span class=\'bmd-switch-track\'></span>'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Switch = function (_Checkbox) {
+ inherits(Switch, _Checkbox);
+
+ function Switch($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? { inputType: 'checkbox', outerClass: 'switch' } : arguments[2];
+ classCallCheck(this, Switch);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Switch).call(this, $element, $.extend(true, {}, Default, config), properties));
+ // selector: '.switch > label > input[type=checkbox]'
+ }
+
+ createClass(Switch, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Switch.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Switch($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Switch;
+ }(Checkbox);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Switch._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Switch;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Switch._jQueryInterface;
+ };
+
+ return Switch;
+ }(jQuery);
+
+ var Text = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'text';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Text = function (_BaseFormControl) {
+ inherits(Text, _BaseFormControl);
+
+ function Text($element, config) {
+ classCallCheck(this, Text);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Text).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},
+ Default, config)));
+ }
+
+ createClass(Text, [{
+ key: 'dispose',
+ value: function dispose() {
+ var dataKey = arguments.length <= 0 || arguments[0] === undefined ? DATA_KEY : arguments[0];
+
+ get(Object.getPrototypeOf(Text.prototype), 'dispose', this).call(this, dataKey);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.attr('type') === 'text') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for type=\'text\'.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Text($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Text;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Text._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Text;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Text._jQueryInterface;
+ };
+
+ return Text;
+ }(jQuery);
+
+ var Textarea = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'textarea';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Textarea = function (_BaseFormControl) {
+ inherits(Textarea, _BaseFormControl);
+
+ function Textarea($element, config) {
+ classCallCheck(this, Textarea);
+ return possibleConstructorReturn(this, Object.getPrototypeOf(Textarea).call(this, $element, $.extend(true,
+ //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},
+ Default, config)));
+ }
+
+ createClass(Textarea, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Textarea.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+ }], [{
+ key: 'matches',
+ value: function matches($element) {
+ if ($element.prop('tagName') === 'textarea') {
+ return true;
+ }
+ return false;
+ }
+ }, {
+ key: 'rejectMatch',
+ value: function rejectMatch(component, $element) {
+ Util.assert(this.$element, this.matches($element), component + ' component element ' + Util.describe($element) + ' is invalid for <textarea>.');
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }, {
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Textarea($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Textarea;
+ }(BaseFormControl);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Textarea._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Textarea;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Textarea._jQueryInterface;
+ };
+
+ return Textarea;
+ }(jQuery);
+
+ var BaseLayout = function ($) {
+
+ var ClassName = {
+ CANVAS: 'bmd-layout-canvas',
+ CONTAINER: 'bmd-layout-container',
+ BACKDROP: 'bmd-layout-backdrop'
+ };
+
+ var Selector = {
+ CANVAS: '.' + ClassName.CANVAS,
+ CONTAINER: '.' + ClassName.CONTAINER,
+ BACKDROP: '.' + ClassName.BACKDROP
+ };
+
+ var Default = {
+ canvas: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.CANVAS + '"></div>'
+ },
+ backdrop: {
+ create: true,
+ required: true,
+ template: '<div class="' + ClassName.BACKDROP + '"></div>'
+ }
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BaseLayout = function (_Base) {
+ inherits(BaseLayout, _Base);
+
+ function BaseLayout($element, config) {
+ var properties = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
+ classCallCheck(this, BaseLayout);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(BaseLayout).call(this, $element, $.extend(true, {}, Default, config), properties));
+
+ _this.$container = _this.findContainer(true);
+ _this.$backdrop = _this.resolveBackdrop();
+ _this.resolveCanvas();
+ return _this;
+ }
+
+ createClass(BaseLayout, [{
+ key: 'dispose',
+ value: function dispose(dataKey) {
+ get(Object.getPrototypeOf(BaseLayout.prototype), 'dispose', this).call(this, dataKey);
+ this.$container = null;
+ this.$backdrop = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // protected
+
+ // Will wrap container in bmd-layout-canvas if necessary
+
+ }, {
+ key: 'resolveCanvas',
+ value: function resolveCanvas() {
+ var bd = this.findCanvas(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.canvas.create) {
+ this.$container.wrap(this.config.canvas.template);
+ }
+
+ bd = this.findCanvas(this.config.canvas.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findCanvas',
+ value: function findCanvas() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var canvas = context.closest(Selector.CANVAS);
+ if (canvas.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CANVAS + ' for ' + Util.describe(context));
+ }
+ return canvas;
+ }
+
+ // Will add bmd-layout-backdrop to bmd-layout-container if necessary
+
+ }, {
+ key: 'resolveBackdrop',
+ value: function resolveBackdrop() {
+ var bd = this.findBackdrop(false);
+ if (bd === undefined || bd.length === 0) {
+ if (this.config.backdrop.create) {
+ this.$container.append(this.config.backdrop.template);
+ }
+
+ bd = this.findBackdrop(this.config.backdrop.required);
+ }
+
+ return bd;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findBackdrop',
+ value: function findBackdrop() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$container : arguments[1];
+
+ var backdrop = context.find('> ' + Selector.BACKDROP);
+ if (backdrop.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.BACKDROP + ' for ' + Util.describe(context));
+ }
+ return backdrop;
+ }
+
+ // Find closest bmd-layout-container based on the given context
+
+ }, {
+ key: 'findContainer',
+ value: function findContainer() {
+ var raiseError = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+ var context = arguments.length <= 1 || arguments[1] === undefined ? this.$element : arguments[1];
+
+ var container = context.closest(Selector.CONTAINER);
+ if (container.length === 0 && raiseError) {
+ $.error('Failed to find ' + Selector.CONTAINER + ' for ' + Util.describe(context));
+ }
+ return container;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }]);
+ return BaseLayout;
+ }(Base);
+
+ return BaseLayout;
+ }(jQuery);
+
+ var Drawer = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'drawer';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Keycodes = {
+ ESCAPE: 27
+ //ENTER: 13,
+ //SPACE: 32
+ };
+
+ var ClassName = {
+ IN: 'in',
+ DRAWER_IN: 'bmd-drawer-in',
+ DRAWER_OUT: 'bmd-drawer-out',
+ DRAWER: 'bmd-layout-drawer',
+ CONTAINER: 'bmd-layout-container'
+ };
+
+ var Default = {
+ focusSelector: 'a, button, input'
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Drawer = function (_BaseLayout) {
+ inherits(Drawer, _BaseLayout);
+
+ // $element is expected to be the trigger
+ // i.e. <button class="btn bmd-btn-icon" for="search" data-toggle="drawer" data-target="#my-side-nav-drawer" aria-expanded="false" aria-controls="my-side-nav-drawer">
+ function Drawer($element, config) {
+ classCallCheck(this, Drawer);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Drawer).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this.$toggles = $('[data-toggle="drawer"][href="#' + _this.$element[0].id + '"], [data-toggle="drawer"][data-target="#' + _this.$element[0].id + '"]');
+
+ _this._addAria();
+
+ // click or escape on the backdrop closes the drawer
+ _this.$backdrop.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ }).click(function () {
+ _this.hide();
+ });
+
+ // escape on the drawer closes it
+ _this.$element.keydown(function (ev) {
+ if (ev.which === Keycodes.ESCAPE) {
+ _this.hide();
+ }
+ });
+
+ // any toggle button clicks
+ _this.$toggles.click(function () {
+ _this.toggle();
+ });
+ return _this;
+ }
+
+ createClass(Drawer, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Drawer.prototype), 'dispose', this).call(this, DATA_KEY);
+ this.$toggles = null;
+ }
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this._isOpen()) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ }
+ }, {
+ key: 'show',
+ value: function show() {
+ if (this._isForcedClosed() || this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', true);
+ this.$element.attr('aria-expanded', true);
+ this.$element.attr('aria-hidden', false);
+
+ // focus on the first focusable item
+ var $focusOn = this.$element.find(this.config.focusSelector);
+ if ($focusOn.length > 0) {
+ $focusOn.first().focus();
+ }
+
+ this.$container.addClass(ClassName.DRAWER_IN);
+ // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.
+ this.$backdrop.addClass(ClassName.IN);
+ }
+ }, {
+ key: 'hide',
+ value: function hide() {
+ if (!this._isOpen()) {
+ return;
+ }
+
+ this.$toggles.attr('aria-expanded', false);
+ this.$element.attr('aria-expanded', false);
+ this.$element.attr('aria-hidden', true);
+
+ this.$container.removeClass(ClassName.DRAWER_IN);
+ this.$backdrop.removeClass(ClassName.IN);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_isOpen',
+ value: function _isOpen() {
+ return this.$container.hasClass(ClassName.DRAWER_IN);
+ }
+ }, {
+ key: '_isForcedClosed',
+ value: function _isForcedClosed() {
+ return this.$container.hasClass(ClassName.DRAWER_OUT);
+ }
+ }, {
+ key: '_addAria',
+ value: function _addAria() {
+ var isOpen = this._isOpen();
+ this.$element.attr('aria-expanded', isOpen);
+ this.$element.attr('aria-hidden', isOpen);
+
+ if (this.$toggles.length) {
+ this.$toggles.attr('aria-expanded', isOpen);
+ }
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Drawer($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Drawer;
+ }(BaseLayout);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Drawer._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Drawer;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Drawer._jQueryInterface;
+ };
+
+ return Drawer;
+ }(jQuery);
+
+ var Ripples = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'ripples';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var ClassName = {
+ CONTAINER: 'ripple-container',
+ DECORATOR: 'ripple-decorator'
+ };
+
+ var Selector = {
+ CONTAINER: '.' + ClassName.CONTAINER,
+ DECORATOR: '.' + ClassName.DECORATOR //,
+ };
+
+ var Default = {
+ container: {
+ template: '<div class=\'' + ClassName.CONTAINER + '\'></div>'
+ },
+ decorator: {
+ template: '<div class=\'' + ClassName.DECORATOR + '\'></div>'
+ },
+ trigger: {
+ start: 'mousedown touchstart',
+ end: 'mouseup mouseleave touchend'
+ },
+ touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,
+ duration: 500
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Ripples = function () {
+ function Ripples($element, config) {
+ var _this = this;
+
+ classCallCheck(this, Ripples);
+
+ this.$element = $element;
+
+ //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console
+ this.config = $.extend(true, {}, Default, config);
+
+ // attach initial listener
+ this.$element.on(this.config.trigger.start, function (event) {
+ _this._onStartRipple(event);
+ });
+ }
+
+ createClass(Ripples, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.$container = null;
+ this.$decorator = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_onStartRipple',
+ value: function _onStartRipple(event) {
+ var _this2 = this;
+
+ // Verify if the user is just touching on a device and return if so
+ if (this._isTouch() && event.type === 'mousedown') {
+ return;
+ }
+
+ // Find or create the ripple container element
+ this._findOrCreateContainer();
+
+ // Get relY and relX positions of the container element
+ var relY = this._getRelY(event);
+ var relX = this._getRelX(event);
+
+ // If relY and/or relX are false, return the event
+ if (!relY && !relX) {
+ return;
+ }
+
+ // set the location and color each time (even if element is cached)
+ this.$decorator.css({
+ left: relX,
+ top: relY,
+ 'background-color': this._getRipplesColor()
+ });
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+ this._forceStyleApplication();
+
+ // Turn on the ripple animation
+ this.rippleOn();
+
+ // Call the rippleEnd function when the transition 'on' ends
+ setTimeout(function () {
+ _this2.rippleEnd();
+ }, this.config.duration);
+
+ // Detect when the user leaves the element to cleanup if not already done?
+ this.$element.on(this.config.trigger.end, function () {
+ if (_this2.$decorator) {
+ // guard against race condition/mouse attack
+ _this2.$decorator.data('mousedown', 'off');
+
+ if (_this2.$decorator.data('animating') === 'off') {
+ _this2.rippleOut();
+ }
+ }
+ });
+ }
+ }, {
+ key: '_findOrCreateContainer',
+ value: function _findOrCreateContainer() {
+ if (!this.$container || !this.$container.length > 0) {
+ this.$element.append(this.config.container.template);
+ this.$container = this.$element.find(Selector.CONTAINER);
+ }
+
+ // always add the rippleElement, it is always removed
+ this.$container.append(this.config.decorator.template);
+ this.$decorator = this.$container.find(Selector.DECORATOR);
+ }
+
+ // Make sure the ripple has the styles applied (ugly hack but it works)
+
+ }, {
+ key: '_forceStyleApplication',
+ value: function _forceStyleApplication() {
+ return window.getComputedStyle(this.$decorator[0]).opacity;
+ }
+
+ /**
+ * Get the relX
+ */
+
+ }, {
+ key: '_getRelX',
+ value: function _getRelX(event) {
+ var wrapperOffset = this.$container.offset();
+
+ var result = null;
+ if (!this._isTouch()) {
+ // Get the mouse position relative to the ripple wrapper
+ result = event.pageX - wrapperOffset.left;
+ } else {
+ // Make sure the user is using only one finger and then get the touch
+ // position relative to the ripple wrapper
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageX - wrapperOffset.left;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the relY
+ */
+
+ }, {
+ key: '_getRelY',
+ value: function _getRelY(event) {
+ var containerOffset = this.$container.offset();
+ var result = null;
+
+ if (!this._isTouch()) {
+ /**
+ * Get the mouse position relative to the ripple wrapper
+ */
+ result = event.pageY - containerOffset.top;
+ } else {
+ /**
+ * Make sure the user is using only one finger and then get the touch
+ * position relative to the ripple wrapper
+ */
+ event = event.originalEvent;
+
+ if (event.touches.length === 1) {
+ result = event.touches[0].pageY - containerOffset.top;
+ } else {
+ result = false;
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * Get the ripple color
+ */
+
+ }, {
+ key: '_getRipplesColor',
+ value: function _getRipplesColor() {
+ var color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color;
+ return color;
+ }
+
+ /**
+ * Verify if the client is using a mobile device
+ */
+
+ }, {
+ key: '_isTouch',
+ value: function _isTouch() {
+ return this.config.touchUserAgentRegex.test(navigator.userAgent);
+ }
+
+ /**
+ * End the animation of the ripple
+ */
+
+ }, {
+ key: 'rippleEnd',
+ value: function rippleEnd() {
+ if (this.$decorator) {
+ // guard against race condition/mouse attack
+ this.$decorator.data('animating', 'off');
+
+ if (this.$decorator.data('mousedown') === 'off') {
+ this.rippleOut(this.$decorator);
+ }
+ }
+ }
+
+ /**
+ * Turn off the ripple effect
+ */
+
+ }, {
+ key: 'rippleOut',
+ value: function rippleOut() {
+ var _this3 = this;
+
+ this.$decorator.off();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.addClass('ripple-out');
+ } else {
+ this.$decorator.animate({ opacity: 0 }, 100, function () {
+ _this3.$decorator.trigger('transitionend');
+ });
+ }
+
+ this.$decorator.on(Util.transitionEndSelector(), function () {
+ if (_this3.$decorator) {
+ _this3.$decorator.remove();
+ _this3.$decorator = null;
+ }
+ });
+ }
+
+ /**
+ * Turn on the ripple effect
+ */
+
+ }, {
+ key: 'rippleOn',
+ value: function rippleOn() {
+ var _this4 = this;
+
+ var size = this._getNewSize();
+
+ if (Util.transitionEndSupported()) {
+ this.$decorator.css({
+ '-ms-transform': 'scale(' + size + ')',
+ '-moz-transform': 'scale(' + size + ')',
+ '-webkit-transform': 'scale(' + size + ')',
+ transform: 'scale(' + size + ')'
+ }).addClass('ripple-on').data('animating', 'on').data('mousedown', 'on');
+ } else {
+ this.$decorator.animate({
+ width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,
+ 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * -1,
+ opacity: 0.2
+ }, this.config.duration, function () {
+ _this4.$decorator.trigger('transitionend');
+ });
+ }
+ }
+
+ /**
+ * Get the new size based on the element height/width and the ripple width
+ */
+
+ }, {
+ key: '_getNewSize',
+ value: function _getNewSize() {
+ return Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth() * 2.5;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Ripples($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Ripples;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Ripples._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Ripples;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Ripples._jQueryInterface;
+ };
+
+ return Ripples;
+ }(jQuery);
+
+ var Autofill = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'autofill';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = 'bmd' + (NAME.charAt(0).toUpperCase() + NAME.slice(1));
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ var Default = {};
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var Autofill = function (_Base) {
+ inherits(Autofill, _Base);
+
+ function Autofill($element, config) {
+ classCallCheck(this, Autofill);
+
+ var _this = possibleConstructorReturn(this, Object.getPrototypeOf(Autofill).call(this, $element, $.extend(true, {}, Default, config)));
+
+ _this._watchLoading();
+ _this._attachEventHandlers();
+ return _this;
+ }
+
+ createClass(Autofill, [{
+ key: 'dispose',
+ value: function dispose() {
+ get(Object.getPrototypeOf(Autofill.prototype), 'dispose', this).call(this, DATA_KEY);
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_watchLoading',
+ value: function _watchLoading() {
+ var _this2 = this;
+
+ // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them
+ setTimeout(function () {
+ clearInterval(_this2._onLoading);
+ }, 10000);
+ }
+
+ // This part of code will detect autofill when the page is loading (username and password inputs for example)
+
+ }, {
+ key: '_onLoading',
+ value: function _onLoading() {
+ setInterval(function () {
+ $('input[type!=checkbox]').each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() && $element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }
+ }, {
+ key: '_attachEventHandlers',
+ value: function _attachEventHandlers() {
+ // Listen on inputs of the focused form
+ // (because user can select from the autofill dropdown only when the input has focus)
+ var focused = null;
+ $(document).on('focus', 'input', function (event) {
+ var $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]');
+ focused = setInterval(function () {
+ $inputs.each(function (index, element) {
+ var $element = $(element);
+ if ($element.val() !== $element.attr('value')) {
+ $element.trigger('change');
+ }
+ });
+ }, 100);
+ }).on('blur', '.form-group input', function () {
+ clearInterval(focused);
+ });
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new Autofill($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return Autofill;
+ }(Base);
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = Autofill._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = Autofill;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return Autofill._jQueryInterface;
+ };
+
+ return Autofill;
+ }(jQuery);
+
+ /**
+ * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally
+ * used in Bootstrap Material Design. You may pass overrides to the configurations
+ * which will be passed into each component, or you may omit use of this class and
+ * configure each component separately.
+ */
+ var BootstrapMaterialDesign = function ($) {
+
+ /**
+ * ------------------------------------------------------------------------
+ * Constants
+ * ------------------------------------------------------------------------
+ */
+ var NAME = 'bootstrapMaterialDesign';
+ var DATA_KEY = 'bmd.' + NAME;
+ var JQUERY_NAME = NAME; // retain this full name since it is long enough not to conflict
+ var JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME];
+
+ /**
+ * Global configuration:
+ * The global configuration hash will be mixed in to each components' config.
+ * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component
+ *
+ *
+ * Component configuration:
+ * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector
+ * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })
+ *
+ * @see each individual component for more configuration settings.
+ */
+ var Default = {
+ global: {
+ validate: false,
+ label: {
+ className: 'bmd-label-static' // default style of label to be used if not specified in the html markup
+ }
+ },
+ autofill: {
+ selector: 'body'
+ },
+ checkbox: {
+ selector: '.checkbox > label > input[type=checkbox]'
+ },
+ checkboxInline: {
+ selector: 'label.checkbox-inline > input[type=checkbox]'
+ },
+ collapseInline: {
+ selector: '.bmd-collapse-inline [data-toggle="collapse"]'
+ },
+ drawer: {
+ selector: '.bmd-layout-drawer'
+ },
+ file: {
+ selector: 'input[type=file]'
+ },
+ radio: {
+ selector: '.radio > label > input[type=radio]'
+ },
+ radioInline: {
+ selector: 'label.radio-inline > input[type=radio]'
+ },
+ ripples: {
+ //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only
+ selector: ['.btn:not(.btn-link):not(.ripple-none)', '.card-image:not(.ripple-none)', '.navbar a:not(.ripple-none)', '.dropdown-menu a:not(.ripple-none)', '.nav-tabs a:not(.ripple-none)', '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)', '.ripple' // generic marker class to add ripple to elements
+ ]
+ },
+ select: {
+ selector: ['select']
+ },
+ switch: {
+ selector: '.switch > label > input[type=checkbox]'
+ },
+ text: {
+ // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.
+ selector: ['input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])']
+ },
+ textarea: {
+ selector: ['textarea']
+ },
+ arrive: true,
+ // create an ordered component list for instantiation
+ instantiation: ['ripples', 'checkbox', 'checkboxInline', 'collapseInline', 'drawer',
+ //'file',
+ 'radio', 'radioInline', 'switch', 'text', 'textarea', 'select', 'autofill']
+ };
+
+ /**
+ * ------------------------------------------------------------------------
+ * Class Definition
+ * ------------------------------------------------------------------------
+ */
+
+ var BootstrapMaterialDesign = function () {
+ function BootstrapMaterialDesign($element, config) {
+ var _this = this;
+
+ classCallCheck(this, BootstrapMaterialDesign);
+
+ this.$element = $element;
+ this.config = $.extend(true, {}, Default, config);
+ var $document = $(document);
+
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ var _loop = function _loop() {
+ var component = _step.value;
+
+
+ // the component's config fragment is passed in directly, allowing users to override
+ var componentConfig = _this.config[component];
+
+ // check to make sure component config is enabled (not `false`)
+ if (componentConfig) {
+ (function () {
+
+ // assemble the selector as it may be an array
+ var selector = _this._resolveSelector(componentConfig);
+
+ // mix in global options
+ componentConfig = $.extend(true, {}, _this.config.global, componentConfig);
+
+ // create the jquery fn name e.g. 'bmdText' for 'text'
+ var componentName = '' + (component.charAt(0).toUpperCase() + component.slice(1));
+ var jqueryFn = 'bmd' + componentName;
+
+ try {
+ // safely instantiate component on selector elements with config, report errors and move on.
+ // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console
+ $(selector)[jqueryFn](componentConfig);
+
+ // add to arrive if present and enabled
+ if (document.arrive && _this.config.arrive) {
+ $document.arrive(selector, function () {
+ // eslint-disable-line no-loop-func
+ $(this)[jqueryFn](componentConfig);
+ });
+ }
+ } catch (e) {
+ var message = 'Failed to instantiate component: $(\'' + selector + '\')[' + jqueryFn + '](' + componentConfig + ')';
+ console.error(message, e, '\nSelected elements: ', $(selector)); // eslint-disable-line no-console
+ throw e;
+ }
+ })();
+ }
+ };
+
+ for (var _iterator = this.config.instantiation[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ _loop();
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+ }
+
+ createClass(BootstrapMaterialDesign, [{
+ key: 'dispose',
+ value: function dispose() {
+ this.$element.data(DATA_KEY, null);
+ this.$element = null;
+ this.config = null;
+ }
+
+ // ------------------------------------------------------------------------
+ // private
+
+ }, {
+ key: '_resolveSelector',
+ value: function _resolveSelector(componentConfig) {
+ var selector = componentConfig.selector;
+ if (Array.isArray(selector)) {
+ selector = selector.join(', ');
+ }
+
+ return selector;
+ }
+
+ // ------------------------------------------------------------------------
+ // static
+
+ }], [{
+ key: '_jQueryInterface',
+ value: function _jQueryInterface(config) {
+ return this.each(function () {
+ var $element = $(this);
+ var data = $element.data(DATA_KEY);
+
+ if (!data) {
+ data = new BootstrapMaterialDesign($element, config);
+ $element.data(DATA_KEY, data);
+ }
+ });
+ }
+ }]);
+ return BootstrapMaterialDesign;
+ }();
+
+ /**
+ * ------------------------------------------------------------------------
+ * jQuery
+ * ------------------------------------------------------------------------
+ */
+
+
+ $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface;
+ $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign;
+ $.fn[JQUERY_NAME].noConflict = function () {
+ $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT;
+ return BootstrapMaterialDesign._jQueryInterface;
+ };
+
+ return BootstrapMaterialDesign;
+ }(jQuery);
+
+}));
+//# sourceMappingURL=bootstrap-material-design.umd.js.map
diff --git a/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map
new file mode 100644
index 0000000..5bea307
--- /dev/null
+++ b/templates/assets/bootstrap-material-design/dist/bootstrap-material-design.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":null,"sources":["../js/util.js","../js/base.js","../js/baseInput.js","../js/baseSelection.js","../js/checkbox.js","../js/checkboxInline.js","../js/collapseInline.js","../js/file.js","../js/radio.js","../js/radioInline.js","../js/baseFormControl.js","../js/select.js","../js/switch.js","../js/text.js","../js/textarea.js","../js/baseLayout.js","../js/drawer.js","../js/ripples.js","../js/autofill.js","../js/bootstrapMaterialDesign.js"],"sourcesContent":["const Util = (() => {\n\n /**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\n let transitionEnd = false\n let transitionEndSelector = ''\n\n const TransitionEndEvent = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n }\n\n function transitionEndTest() {\n if (window.QUnit) {\n return false\n }\n\n let el = document.createElement('bmd')\n\n for (let name in TransitionEndEvent) {\n if (el.style[name] !== undefined) {\n return TransitionEndEvent[name] // { end: TransitionEndEvent[name] }\n }\n }\n\n return false\n }\n\n function setTransitionEndSupport() {\n transitionEnd = transitionEndTest()\n\n // generate a concatenated transition end event selector\n for (let name in TransitionEndEvent) {\n transitionEndSelector += ` ${TransitionEndEvent[name]}`\n }\n }\n\n /**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\n let Util = {\n\n transitionEndSupported() {\n return transitionEnd\n },\n\n transitionEndSelector() {\n return transitionEndSelector\n },\n\n isChar(event) {\n if (typeof event.which === 'undefined') {\n return true\n } else if (typeof event.which === 'number' && event.which > 0) {\n return (\n !event.ctrlKey\n && !event.metaKey\n && !event.altKey\n && event.which !== 8 // backspace\n && event.which !== 9 // tab\n && event.which !== 13 // enter\n && event.which !== 16 // shift\n && event.which !== 17 // ctrl\n && event.which !== 20 // caps lock\n && event.which !== 27 // escape\n )\n }\n return false\n },\n\n assert($element, invalidTest, message) {\n if (invalidTest) {\n if (!$element === undefined) {\n $element.css('border', '1px solid red')\n }\n console.error(message, $element) // eslint-disable-line no-console\n throw message\n }\n },\n\n describe($element) {\n if ($element === undefined) {\n return 'undefined'\n } else if ($element.length === 0) {\n return '(no matching elements)'\n }\n return `${$element[0].outerHTML.split('>')[0]}>`\n }\n }\n\n setTransitionEndSupport()\n return Util\n\n})(jQuery)\n\nexport default Util\n","import Util from './util'\n\nconst Base = (($) => {\n\n const ClassName = {\n BMD_FORM_GROUP: 'bmd-form-group',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused'\n }\n\n const Selector = {\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`\n }\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n\n // set properties for use in the constructor initialization\n for (let key in properties) {\n this[key] = properties[key]\n }\n }\n\n dispose(dataKey) {\n this.$element.data(dataKey, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n addFormGroupFocus() {\n if (!this.$element.prop('disabled')) {\n this.$bmdFormGroup.addClass(ClassName.IS_FOCUSED)\n }\n }\n\n removeFormGroupFocus() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FOCUSED)\n }\n\n removeIsFilled() {\n this.$bmdFormGroup.removeClass(ClassName.IS_FILLED)\n }\n\n addIsFilled() {\n this.$bmdFormGroup.addClass(ClassName.IS_FILLED)\n }\n\n // Find bmd-form-group\n findMdbFormGroup(raiseError = true) {\n let mfg = this.$element.closest(Selector.BMD_FORM_GROUP)\n if (mfg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return mfg\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return Base\n\n})(jQuery)\n\nexport default Base\n","import Base from './base'\nimport Util from './util'\n\nconst BaseInput = (($) => {\n\n const ClassName = {\n FORM_GROUP: 'form-group',\n BMD_FORM_GROUP: 'bmd-form-group',\n BMD_LABEL: 'bmd-label',\n BMD_LABEL_STATIC: 'bmd-label-static',\n BMD_LABEL_PLACEHOLDER: 'bmd-label-placeholder',\n BMD_LABEL_FLOATING: 'bmd-label-floating',\n HAS_DANGER: 'has-danger',\n IS_FILLED: 'is-filled',\n IS_FOCUSED: 'is-focused',\n INPUT_GROUP: 'input-group'\n }\n\n const Selector = {\n FORM_GROUP: `.${ClassName.FORM_GROUP}`,\n BMD_FORM_GROUP: `.${ClassName.BMD_FORM_GROUP}`,\n BMD_LABEL_WILDCARD: `label[class^='${ClassName.BMD_LABEL}'], label[class*=' ${ClassName.BMD_LABEL}']` // match any label variant if specified\n }\n\n const Default = {\n validate: false,\n formGroup: {\n required: false\n },\n bmdFormGroup: {\n template: `<span class='${ClassName.BMD_FORM_GROUP}'></span>`,\n create: true, // create a wrapper if form-group not found\n required: true // not recommended to turn this off, only used for inline components\n },\n label: {\n required: false,\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n selectors: [\n `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n `> label` // usual case for text inputs, first child. Deeper would find toggle labels so don't do that.\n ],\n className: ClassName.BMD_LABEL_STATIC\n },\n requiredClasses: [],\n invalidComponentMatches: [],\n convertInputSizeVariations: true\n }\n\n const FormControlSizeMarkers = {\n 'form-control-lg': 'bmd-form-group-lg',\n 'form-control-sm': 'bmd-form-group-sm'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseInput extends Base {\n\n /**\n *\n * @param element\n * @param config\n * @param properties - anything that needs to be set as this[key] = value. Works around the need to call `super` before using `this`\n */\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n // Enforce no overlap between components to prevent side effects\n this._rejectInvalidComponentMatches()\n\n // Enforce expected structure (if any)\n this.rejectWithoutRequiredStructure()\n\n // Enforce required classes for a consistent rendering\n this._rejectWithoutRequiredClasses()\n\n // Resolve the form-group first, it will be used for bmd-form-group if possible\n // note: different components have different rules\n this.$formGroup = this.findFormGroup(this.config.formGroup.required)\n\n // Will add bmd-form-group to form-group or create an bmd-form-group\n // Performance Note: for those forms that are really performance driven, create the markup with the .bmd-form-group to avoid\n // rendering changes once added.\n this.$bmdFormGroup = this.resolveMdbFormGroup()\n\n // Resolve and mark the bmdLabel if necessary as defined by the config\n this.$bmdLabel = this.resolveMdbLabel()\n\n // Signal to the bmd-form-group that a form-control-* variation is being used\n this.resolveMdbFormGroupSizing()\n\n this.addFocusListener()\n this.addChangeListener()\n\n if(this.$element.val() != ''){\n this.addIsFilled()\n }\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$bmdFormGroup = null\n this.$formGroup = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n rejectWithoutRequiredStructure() {\n // implement\n }\n\n addFocusListener() {\n this.$element\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element\n .on('keydown paste', (event) => {\n if (Util.isChar(event)) {\n this.addIsFilled()\n }\n })\n .on('keyup change', () => {\n\n // make sure empty is added back when there is a programmatic value change.\n // NOTE: programmatic changing of value using $.val() must trigger the change event i.e. $.val('x').trigger('change')\n if (this.isEmpty()) {\n this.removeIsFilled()\n } else {\n this.addIsFilled()\n }\n\n if (this.config.validate) {\n // Validation events do not bubble, so they must be attached directly to the text: http://jsfiddle.net/PEpRM/1/\n // Further, even the bind method is being caught, but since we are already calling #checkValidity here, just alter\n // the form-group on change.\n //\n // NOTE: I'm not sure we should be intervening regarding validation, this seems better as a README and snippet of code.\n // BUT, I've left it here for backwards compatibility.\n let isValid = (typeof this.$element[0].checkValidity === 'undefined' || this.$element[0].checkValidity())\n if (isValid) {\n this.removeHasDanger()\n } else {\n this.addHasDanger()\n }\n }\n })\n }\n\n addHasDanger() {\n this.$bmdFormGroup.addClass(ClassName.HAS_DANGER)\n }\n\n removeHasDanger() {\n this.$bmdFormGroup.removeClass(ClassName.HAS_DANGER)\n }\n\n isEmpty() {\n return (this.$element.val() === null || this.$element.val() === undefined || this.$element.val() === '')\n }\n\n // Will add bmd-form-group to form-group or create a bmd-form-group if necessary\n resolveMdbFormGroup() {\n let mfg = this.findMdbFormGroup(false)\n if (mfg === undefined || mfg.length === 0) {\n if (this.config.bmdFormGroup.create && (this.$formGroup === undefined || this.$formGroup.length === 0)) {\n // If a form-group doesn't exist (not recommended), take a guess and wrap the element (assuming no label).\n // note: it's possible to make this smarter, but I need to see valid cases before adding any complexity.\n\n // this may be an input-group, wrap that instead\n if(this.outerElement().parent().hasClass(ClassName.INPUT_GROUP)){\n this.outerElement().parent().wrap(this.config.bmdFormGroup.template)\n }\n else{\n this.outerElement().wrap(this.config.bmdFormGroup.template)\n }\n } else {\n // a form-group does exist, add our marker class to it\n this.$formGroup.addClass(ClassName.BMD_FORM_GROUP)\n\n // OLD: may want to implement this after all, see how the styling turns out, but using an existing form-group is less manipulation of the dom and therefore preferable\n // A form-group does exist, so add an bmd-form-group wrapping it's internal contents\n //fg.wrapInner(this.config.bmdFormGroup.template)\n }\n\n mfg = this.findMdbFormGroup(this.config.bmdFormGroup.required)\n }\n\n return mfg\n }\n\n // Demarcation element (e.g. first child of a form-group)\n // Subclasses such as file inputs may have different structures\n outerElement() {\n return this.$element\n }\n\n // Will add bmd-label to bmd-form-group if not already specified\n resolveMdbLabel() {\n\n let label = this.$bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD)\n if (label === undefined || label.length === 0) {\n // we need to find it based on the configured selectors\n label = this.findMdbLabel(this.config.label.required)\n\n if (label === undefined || label.length === 0) {\n // no label found, and finder did not require one\n } else {\n // a candidate label was found, add the configured default class name\n label.addClass(this.config.label.className)\n }\n }\n\n return label\n }\n\n // Find bmd-label variant based on the config selectors\n findMdbLabel(raiseError = true) {\n let label = null\n\n // use the specified selector order\n for (let selector of this.config.label.selectors) {\n if ($.isFunction(selector)) {\n label = selector(this)\n } else {\n label = this.$bmdFormGroup.find(selector)\n }\n\n if (label !== undefined && label.length > 0) {\n break\n }\n }\n\n if (label.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BMD_LABEL_WILDCARD} within form-group for ${Util.describe(this.$element)}`)\n }\n return label\n }\n\n // Find bmd-form-group\n findFormGroup(raiseError = true) {\n let fg = this.$element.closest(Selector.FORM_GROUP)\n if (fg.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.FORM_GROUP} for ${Util.describe(this.$element)}`)\n }\n return fg\n }\n\n // Due to the interconnected nature of labels/inputs/help-blocks, signal the bmd-form-group-* size variation based on\n // a found form-control-* size\n resolveMdbFormGroupSizing() {\n if (!this.config.convertInputSizeVariations) {\n return\n }\n\n // Modification - Change text-sm/lg to form-group-sm/lg instead (preferred standard and simpler css/less variants)\n for (let inputSize in FormControlSizeMarkers) {\n if (this.$element.hasClass(inputSize)) {\n //this.$element.removeClass(inputSize)\n this.$bmdFormGroup.addClass(FormControlSizeMarkers[inputSize])\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // private\n _rejectInvalidComponentMatches() {\n for (let otherComponent of this.config.invalidComponentMatches) {\n otherComponent.rejectMatch(this.constructor.name, this.$element)\n }\n }\n\n _rejectWithoutRequiredClasses() {\n for (let requiredClass of this.config.requiredClasses) {\n\n let found = false\n // allow one of several classes to be passed in x||y\n if (requiredClass.indexOf('||') !== -1) {\n let oneOf = requiredClass.split('||')\n for (let requiredClass of oneOf) {\n if (this.$element.hasClass(requiredClass)) {\n found = true\n break\n }\n }\n } else if (this.$element.hasClass(requiredClass)) {\n found = true\n }\n\n // error if not found\n if (!found) {\n $.error(`${this.constructor.name} element: ${Util.describe(this.$element)} requires class: ${requiredClass}`)\n }\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseInput\n\n})(jQuery)\n\nexport default BaseInput\n","import BaseInput from './baseInput'\nimport Util from './util'\n\nconst BaseSelection = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n label: {\n required: false\n\n // Prioritized find order for resolving the label to be used as an bmd-label if not specified in the markup\n // - a function(thisComponent); or\n // - a string selector used like $bmdFormGroup.find(selector)\n //\n // Note this only runs if $bmdFormGroup.find(Selector.BMD_LABEL_WILDCARD) fails to find a label (as authored in the markup)\n //\n //selectors: [\n // `.form-control-label`, // in the case of horizontal or inline forms, this will be marked\n // `> label` // usual case for text inputs\n //]\n }\n }\n\n const Selector = {\n LABEL: 'label'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseSelection extends BaseInput {\n\n constructor($element, config, properties) {\n // properties = {inputType: checkbox, outerClass: checkbox-inline}\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n\n super($element, $.extend(true, {}, Default, config), properties)\n this.decorateMarkup()\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n decorateMarkup() {\n this.$element.after(this.config.template)\n }\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // .checkbox|switch|radio > label > input[type=checkbox|radio]\n // label.checkbox-inline > input[type=checkbox|radio]\n // .${this.outerClass} > label > input[type=${this.inputType}]\n return this.$element.parent().closest(`.${this.outerClass}`)\n }\n\n rejectWithoutRequiredStructure() {\n // '.checkbox|switch|radio > label > input[type=checkbox|radio]'\n // '.${this.outerClass} > label > input[type=${this.inputType}]'\n Util.assert(this.$element, !this.$element.parent().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(this.outerClass), `${this.constructor.name}'s ${Util.describe(this.$element)} outer element should have class ${this.outerClass}.`)\n }\n\n addFocusListener() {\n // checkboxes didn't appear to bubble to the document, so we'll bind these directly\n this.$element.closest(Selector.LABEL).hover(() => {\n this.addFormGroupFocus()\n }, () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n this.$element.change(() => {\n this.$element.blur()\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n }\n\n return BaseSelection\n\n})(jQuery)\n\nexport default BaseSelection\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Radio from './radio'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Checkbox = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkbox'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='checkbox-decorator'><span class='check'></span></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Checkbox extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [File, Radio, Text, Textarea, Select]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.checkbox > label > input[type=checkbox]'\n if ($element.attr('type') === 'checkbox') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Checkbox($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Checkbox._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Checkbox\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Checkbox._jQueryInterface\n }\n\n return Checkbox\n\n})(jQuery)\n\nexport default Checkbox\n","import Checkbox from './checkbox'\n\nconst CheckboxInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'checkboxInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CheckboxInline extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'checkbox-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n //static matches($element) {\n // // '.checkbox-inline > input[type=checkbox]'\n // if ($element.attr('type') === 'checkbox') {\n // return true\n // }\n // return false\n //}\n //\n //static rejectMatch(component, $element) {\n // Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='checkbox'.`)\n //}\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CheckboxInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CheckboxInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CheckboxInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CheckboxInline._jQueryInterface\n }\n\n return CheckboxInline\n\n})(jQuery)\n\nexport default CheckboxInline\n","import Base from './base'\nimport Util from './util'\n\nconst CollapseInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'collapseInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Selector = {\n ANY_INPUT: 'input, select, textarea'\n }\n\n const ClassName = {\n IN: 'in',\n COLLAPSE: 'collapse',\n COLLAPSING: 'collapsing',\n COLLAPSED: 'collapsed',\n WIDTH: 'width'\n }\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class CollapseInline extends Base {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"collapse\" data-target=\"#search-field\" aria-expanded=\"false\" aria-controls=\"search-field\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n this.$bmdFormGroup = this.findMdbFormGroup(true)\n\n let collapseSelector = $element.data('target')\n this.$collapse = $(collapseSelector)\n\n Util.assert($element, this.$collapse.length === 0, `Cannot find collapse target for ${Util.describe($element)}`)\n Util.assert(this.$collapse, !this.$collapse.hasClass(ClassName.COLLAPSE), `${Util.describe(this.$collapse)} is expected to have the '${ClassName.COLLAPSE}' class. It is being targeted by ${Util.describe($element)}`)\n\n // find the first input for focusing\n let $inputs = this.$bmdFormGroup.find(Selector.ANY_INPUT)\n if ($inputs.length > 0) {\n this.$input = $inputs.first()\n }\n\n // automatically add the marker class to collapse width instead of height - nice convenience because it is easily forgotten\n if (!this.$collapse.hasClass(ClassName.WIDTH)) {\n this.$collapse.addClass(ClassName.WIDTH)\n }\n\n if (this.$input) {\n // add a listener to set focus\n this.$collapse.on('shown.bs.collapse', () => {\n this.$input.focus()\n })\n\n // add a listener to collapse field\n this.$input.blur(() => {\n this.$collapse.collapse('hide')\n })\n }\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$bmdFormGroup = null\n this.$collapse = null\n this.$input = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new CollapseInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = CollapseInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = CollapseInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return CollapseInline._jQueryInterface\n }\n\n return CollapseInline\n\n})(jQuery)\n\nexport default CollapseInline\n","import BaseInput from './baseInput'\n//import Checkbox from './checkbox'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst File = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'file'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n const ClassName = {\n FILE: NAME,\n IS_FILE: 'is-file'\n }\n\n const Selector = {\n FILENAMES: 'input.form-control[readonly]'\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class File extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, Radio, Text, Textarea, Select, Switch]},\n Default, config))\n\n this.$bmdFormGroup.addClass(ClassName.IS_FILE)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'file') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='file'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Demarcation element (e.g. first child of a form-group)\n outerElement() {\n // label.file > input[type=file]\n return this.$element.parent().closest(`.${ClassName.FILE}`)\n }\n\n rejectWithoutRequiredStructure() {\n // label.file > input[type=file]\n Util.assert(this.$element, !this.outerElement().prop('tagName') === 'label', `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should be <label>.`)\n Util.assert(this.$element, !this.outerElement().hasClass(ClassName.FILE), `${this.constructor.name}'s ${Util.describe(this.$element)} parent element ${Util.describe(this.outerElement())} should have class .${ClassName.FILE}.`)\n }\n\n addFocusListener() {\n this.$bmdFormGroup\n .on('focus', () => {\n this.addFormGroupFocus()\n })\n .on('blur', () => {\n this.removeFormGroupFocus()\n })\n }\n\n addChangeListener() {\n // set the fileinput readonly field with the name of the file\n this.$element.on('change', () => {\n let value = ''\n $.each(this.$element.files, (i, file) => {\n value += `${file.name} , `\n })\n value = value.substring(0, value.length - 2)\n if (value) {\n this.addIsFilled()\n } else {\n this.removeIsFilled()\n }\n this.$bmdFormGroup.find(Selector.FILENAMES).val(value)\n })\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new File($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = File._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = File\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return File._jQueryInterface\n }\n\n return File\n\n})(jQuery)\n\nexport default File\n","import BaseSelection from './baseSelection'\n//import Text from './text'\n//import File from './file'\n//import Checkbox from './checkbox'\n//import Switch from './switch'\nimport Util from './util'\n\nconst Radio = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radio'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-radio-outer-circle'></span><span class='bmd-radio-inner-circle'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Radio extends BaseSelection {\n\n constructor($element, config, properties = {inputType: NAME, outerClass: NAME}) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Switch, Text]},\n Default, config), properties)\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n // '.radio > label > input[type=radio]'\n if ($element.attr('type') === 'radio') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='radio'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n //decorateMarkup() {\n // this.$element.after(this.config.template)\n //}\n\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Radio($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Radio._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Radio\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Radio._jQueryInterface\n }\n\n return Radio\n\n})(jQuery)\n\nexport default Radio\n","import Radio from './radio'\n\nconst RadioInline = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'radioInline'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n bmdFormGroup: {\n create: false, // no bmd-form-group creation if form-group not present. It messes with the layout.\n required: false\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class RadioInline extends Radio {\n\n constructor($element, config, properties = {inputType: 'radio', outerClass: 'radio-inline'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new RadioInline($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = RadioInline._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = RadioInline\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return RadioInline._jQueryInterface\n }\n\n return RadioInline\n\n})(jQuery)\n\nexport default RadioInline\n","import BaseInput from './baseInput'\n\nconst BaseFormControl = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const Default = {\n requiredClasses: ['form-control']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseFormControl extends BaseInput {\n\n constructor($element, config) {\n super($element, $.extend(true, Default, config))\n\n // Initially mark as empty\n if (this.isEmpty()) {\n this.removeIsFilled()\n }\n }\n }\n\n\n return BaseFormControl\n\n})(jQuery)\n\nexport default BaseFormControl\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Textarea from './textarea'\nimport Util from './util'\n\nconst Select = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'select'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n requiredClasses: ['form-control||custom-select']\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Select extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Text, Textarea]},\n Default, config))\n\n // floating labels will cover the options, so trigger them to be above (if used)\n this.addIsFilled()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'select') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <select>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Select($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Select._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Select\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Select._jQueryInterface\n }\n\n return Select\n\n})(jQuery)\n\nexport default Select\n","import Checkbox from './checkbox'\n\nconst Switch = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'switch'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {\n template: `<span class='bmd-switch-track'></span>`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Switch extends Checkbox {\n\n constructor($element, config, properties = {inputType: 'checkbox', outerClass: 'switch'}) {\n super($element, $.extend(true, {}, Default, config), properties)\n // selector: '.switch > label > input[type=checkbox]'\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Switch($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Switch._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Switch\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Switch._jQueryInterface\n }\n\n return Switch\n\n})(jQuery)\n\nexport default Switch\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Textarea from './textarea'\n//import Select from './select'\nimport Util from './util'\n\nconst Text = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'text'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Text extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Switch, Select, Textarea]},\n Default, config))\n }\n\n dispose(dataKey = DATA_KEY) {\n super.dispose(dataKey)\n }\n\n static matches($element) {\n if ($element.attr('type') === 'text') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for type='text'.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Text($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Text._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Text\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Text._jQueryInterface\n }\n\n return Text\n\n})(jQuery)\n\nexport default Text\n","import BaseFormControl from './baseFormControl'\n//import Checkbox from './checkbox'\n//import File from './file'\n//import Radio from './radio'\n//import Switch from './switch'\n//import Text from './text'\n//import Select from './select'\nimport Util from './util'\n\nconst Textarea = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'textarea'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Textarea extends BaseFormControl {\n\n constructor($element, config) {\n super($element, $.extend(true,\n //{invalidComponentMatches: [Checkbox, File, Radio, Text, Select, Switch]},\n Default, config))\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n static matches($element) {\n if ($element.prop('tagName') === 'textarea') {\n return true\n }\n return false\n }\n\n static rejectMatch(component, $element) {\n Util.assert(this.$element, this.matches($element), `${component} component element ${Util.describe($element)} is invalid for <textarea>.`)\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Textarea($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Textarea._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Textarea\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Textarea._jQueryInterface\n }\n\n return Textarea\n\n})(jQuery)\n\nexport default Textarea\n","import Base from './base'\nimport Util from './util'\n\nconst BaseLayout = (($) => {\n\n const ClassName = {\n CANVAS: 'bmd-layout-canvas',\n CONTAINER: 'bmd-layout-container',\n BACKDROP: `bmd-layout-backdrop`\n }\n\n const Selector = {\n CANVAS: `.${ClassName.CANVAS}`,\n CONTAINER: `.${ClassName.CONTAINER}`,\n BACKDROP: `.${ClassName.BACKDROP}`\n }\n\n const Default = {\n canvas: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.CANVAS}\"></div>`\n },\n backdrop: {\n create: true,\n required: true,\n template: `<div class=\"${ClassName.BACKDROP}\"></div>`\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BaseLayout extends Base {\n\n constructor($element, config, properties = {}) {\n super($element, $.extend(true, {}, Default, config), properties)\n\n this.$container = this.findContainer(true)\n this.$backdrop = this.resolveBackdrop()\n this.resolveCanvas();\n }\n\n dispose(dataKey) {\n super.dispose(dataKey)\n this.$container = null\n this.$backdrop = null\n }\n\n // ------------------------------------------------------------------------\n // protected\n\n // Will wrap container in bmd-layout-canvas if necessary\n resolveCanvas() {\n let bd = this.findCanvas(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.canvas.create) {\n this.$container.wrap(this.config.canvas.template)\n }\n\n bd = this.findCanvas(this.config.canvas.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findCanvas(raiseError = true, context = this.$container) {\n let canvas = context.closest(Selector.CANVAS)\n if (canvas.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CANVAS} for ${Util.describe(context)}`)\n }\n return canvas\n }\n\n // Will add bmd-layout-backdrop to bmd-layout-container if necessary\n resolveBackdrop() {\n let bd = this.findBackdrop(false)\n if (bd === undefined || bd.length === 0) {\n if (this.config.backdrop.create) {\n this.$container.append(this.config.backdrop.template)\n }\n\n bd = this.findBackdrop(this.config.backdrop.required)\n }\n\n return bd\n }\n\n // Find closest bmd-layout-container based on the given context\n findBackdrop(raiseError = true, context = this.$container) {\n let backdrop = context.find(`> ${Selector.BACKDROP}`)\n if (backdrop.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.BACKDROP} for ${Util.describe(context)}`)\n }\n return backdrop\n }\n\n // Find closest bmd-layout-container based on the given context\n findContainer(raiseError = true, context = this.$element) {\n let container = context.closest(Selector.CONTAINER)\n if (container.length === 0 && raiseError) {\n $.error(`Failed to find ${Selector.CONTAINER} for ${Util.describe(context)}`)\n }\n return container\n }\n\n // ------------------------------------------------------------------------\n // private\n\n // ------------------------------------------------------------------------\n // static\n\n }\n\n return BaseLayout\n\n})(jQuery)\n\nexport default BaseLayout\n","import BaseLayout from './baseLayout'\n\nconst Drawer = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'drawer'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Keycodes = {\n ESCAPE: 27\n //ENTER: 13,\n //SPACE: 32\n }\n\n const ClassName = {\n IN: 'in',\n DRAWER_IN: `bmd-drawer-in`,\n DRAWER_OUT: `bmd-drawer-out`,\n DRAWER: 'bmd-layout-drawer',\n CONTAINER: 'bmd-layout-container'\n }\n\n const Default = {\n focusSelector: `a, button, input`\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Drawer extends BaseLayout {\n\n // $element is expected to be the trigger\n // i.e. <button class=\"btn bmd-btn-icon\" for=\"search\" data-toggle=\"drawer\" data-target=\"#my-side-nav-drawer\" aria-expanded=\"false\" aria-controls=\"my-side-nav-drawer\">\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this.$toggles = $(`[data-toggle=\"drawer\"][href=\"#${this.$element[0].id}\"], [data-toggle=\"drawer\"][data-target=\"#${this.$element[0].id}\"]`)\n\n this._addAria()\n\n // click or escape on the backdrop closes the drawer\n this.$backdrop.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n }).click(() => {\n this.hide()\n })\n\n // escape on the drawer closes it\n this.$element.keydown((ev) => {\n if (ev.which === Keycodes.ESCAPE) {\n this.hide()\n }\n })\n\n // any toggle button clicks\n this.$toggles.click(() => {\n this.toggle()\n })\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n this.$toggles = null\n }\n\n toggle() {\n if (this._isOpen()) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isForcedClosed() || this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', true)\n this.$element.attr('aria-expanded', true)\n this.$element.attr('aria-hidden', false)\n\n // focus on the first focusable item\n let $focusOn = this.$element.find(this.config.focusSelector)\n if ($focusOn.length > 0) {\n $focusOn.first().focus()\n }\n\n this.$container.addClass(ClassName.DRAWER_IN)\n // backdrop is responsively styled based on bmd-drawer-overlay, therefore style is none of our concern, simply add the marker class and let the scss determine if it should be displayed or not.\n this.$backdrop.addClass(ClassName.IN)\n }\n\n hide() {\n if (!this._isOpen()) {\n return\n }\n\n this.$toggles.attr('aria-expanded', false)\n this.$element.attr('aria-expanded', false)\n this.$element.attr('aria-hidden', true)\n\n this.$container.removeClass(ClassName.DRAWER_IN)\n this.$backdrop.removeClass(ClassName.IN)\n }\n\n\n // ------------------------------------------------------------------------\n // private\n\n _isOpen() {\n return this.$container.hasClass(ClassName.DRAWER_IN)\n }\n\n _isForcedClosed() {\n return this.$container.hasClass(ClassName.DRAWER_OUT)\n }\n\n _addAria() {\n let isOpen = this._isOpen()\n this.$element.attr('aria-expanded', isOpen)\n this.$element.attr('aria-hidden', isOpen)\n\n if (this.$toggles.length) {\n this.$toggles.attr('aria-expanded', isOpen)\n }\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Drawer($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Drawer._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Drawer\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Drawer._jQueryInterface\n }\n\n return Drawer\n\n})(jQuery)\n\nexport default Drawer\n","import Util from './util'\n\nconst Ripples = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'ripples'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const ClassName = {\n CONTAINER: 'ripple-container',\n DECORATOR: 'ripple-decorator'\n }\n\n const Selector = {\n CONTAINER: `.${ClassName.CONTAINER}`,\n DECORATOR: `.${ClassName.DECORATOR}` //,\n }\n\n\n const Default = {\n container: {\n template: `<div class='${ClassName.CONTAINER}'></div>`\n },\n decorator: {\n template: `<div class='${ClassName.DECORATOR}'></div>`\n },\n trigger: {\n start: 'mousedown touchstart',\n end: 'mouseup mouseleave touchend'\n },\n touchUserAgentRegex: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i,\n duration: 500\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Ripples {\n\n constructor($element, config) {\n this.$element = $element\n\n //console.log(`Adding ripples to ${Util.describe(this.$element)}`) // eslint-disable-line no-console\n this.config = $.extend(true, {}, Default, config)\n\n // attach initial listener\n this.$element.on(this.config.trigger.start, (event) => {\n this._onStartRipple(event)\n })\n }\n\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.$container = null\n this.$decorator = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _onStartRipple(event) {\n\n // Verify if the user is just touching on a device and return if so\n if (this._isTouch() && event.type === 'mousedown') {\n return\n }\n\n // Find or create the ripple container element\n this._findOrCreateContainer()\n\n // Get relY and relX positions of the container element\n let relY = this._getRelY(event)\n let relX = this._getRelX(event)\n\n // If relY and/or relX are false, return the event\n if (!relY && !relX) {\n return\n }\n\n // set the location and color each time (even if element is cached)\n this.$decorator.css({\n left: relX,\n top: relY,\n 'background-color': this._getRipplesColor()\n })\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n this._forceStyleApplication()\n\n // Turn on the ripple animation\n this.rippleOn()\n\n // Call the rippleEnd function when the transition 'on' ends\n setTimeout(() => {\n this.rippleEnd()\n }, this.config.duration)\n\n // Detect when the user leaves the element to cleanup if not already done?\n this.$element.on(this.config.trigger.end, () => {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('mousedown', 'off')\n\n if (this.$decorator.data('animating') === 'off') {\n this.rippleOut()\n }\n }\n })\n }\n\n _findOrCreateContainer() {\n if (!this.$container || !this.$container.length > 0) {\n this.$element.append(this.config.container.template)\n this.$container = this.$element.find(Selector.CONTAINER)\n }\n\n // always add the rippleElement, it is always removed\n this.$container.append(this.config.decorator.template)\n this.$decorator = this.$container.find(Selector.DECORATOR)\n }\n\n // Make sure the ripple has the styles applied (ugly hack but it works)\n _forceStyleApplication() {\n return window.getComputedStyle(this.$decorator[0]).opacity\n }\n\n\n /**\n * Get the relX\n */\n _getRelX(event) {\n let wrapperOffset = this.$container.offset()\n\n let result = null\n if (!this._isTouch()) {\n // Get the mouse position relative to the ripple wrapper\n result = event.pageX - wrapperOffset.left\n } else {\n // Make sure the user is using only one finger and then get the touch\n // position relative to the ripple wrapper\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageX - wrapperOffset.left\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the relY\n */\n _getRelY(event) {\n let containerOffset = this.$container.offset()\n let result = null\n\n if (!this._isTouch()) {\n /**\n * Get the mouse position relative to the ripple wrapper\n */\n result = event.pageY - containerOffset.top\n } else {\n /**\n * Make sure the user is using only one finger and then get the touch\n * position relative to the ripple wrapper\n */\n event = event.originalEvent\n\n if (event.touches.length === 1) {\n result = event.touches[0].pageY - containerOffset.top\n } else {\n result = false\n }\n }\n\n return result\n }\n\n /**\n * Get the ripple color\n */\n _getRipplesColor() {\n let color = this.$element.data('ripple-color') ? this.$element.data('ripple-color') : window.getComputedStyle(this.$element[0]).color\n return color\n }\n\n /**\n * Verify if the client is using a mobile device\n */\n _isTouch() {\n return this.config.touchUserAgentRegex.test(navigator.userAgent)\n }\n\n /**\n * End the animation of the ripple\n */\n rippleEnd() {\n if (this.$decorator) { // guard against race condition/mouse attack\n this.$decorator.data('animating', 'off')\n\n if (this.$decorator.data('mousedown') === 'off') {\n this.rippleOut(this.$decorator)\n }\n }\n }\n\n /**\n * Turn off the ripple effect\n */\n rippleOut() {\n this.$decorator.off()\n\n if (Util.transitionEndSupported()) {\n this.$decorator.addClass('ripple-out')\n } else {\n this.$decorator.animate({opacity: 0}, 100, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n\n this.$decorator.on(Util.transitionEndSelector(), () => {\n if (this.$decorator) {\n this.$decorator.remove()\n this.$decorator = null\n }\n })\n }\n\n /**\n * Turn on the ripple effect\n */\n rippleOn() {\n let size = this._getNewSize()\n\n if (Util.transitionEndSupported()) {\n this.$decorator\n .css({\n '-ms-transform': `scale(${size})`,\n '-moz-transform': `scale(${size})`,\n '-webkit-transform': `scale(${size})`,\n transform: `scale(${size})`\n })\n .addClass('ripple-on')\n .data('animating', 'on')\n .data('mousedown', 'on')\n } else {\n this.$decorator.animate({\n width: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n height: Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * 2,\n 'margin-left': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n 'margin-top': Math.max(this.$element.outerWidth(), this.$element.outerHeight()) * (-1),\n opacity: 0.2\n }, this.config.duration, () => {\n this.$decorator.trigger('transitionend')\n })\n }\n }\n\n /**\n * Get the new size based on the element height/width and the ripple width\n */\n _getNewSize() {\n return (Math.max(this.$element.outerWidth(), this.$element.outerHeight()) / this.$decorator.outerWidth()) * 2.5\n }\n\n // ------------------------------------------------------------------------\n // static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Ripples($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Ripples._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Ripples\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Ripples._jQueryInterface\n }\n\n return Ripples\n\n})(jQuery)\n\nexport default Ripples\n","import Base from './base'\n\nconst Autofill = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'autofill'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = `bmd${NAME.charAt(0).toUpperCase() + NAME.slice(1)}`\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n const Default = {}\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class Autofill extends Base {\n\n constructor($element, config) {\n super($element, $.extend(true, {}, Default, config))\n\n this._watchLoading()\n this._attachEventHandlers()\n }\n\n dispose() {\n super.dispose(DATA_KEY)\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _watchLoading() {\n // After 10 seconds we are quite sure all the needed inputs are autofilled then we can stop checking them\n setTimeout(() => {\n clearInterval(this._onLoading)\n }, 10000)\n }\n\n // This part of code will detect autofill when the page is loading (username and password inputs for example)\n _onLoading() {\n setInterval(() => {\n $('input[type!=checkbox]').each((index, element) => {\n let $element = $(element)\n if ($element.val() && $element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n }\n\n _attachEventHandlers() {\n // Listen on inputs of the focused form\n // (because user can select from the autofill dropdown only when the input has focus)\n let focused = null\n $(document)\n .on('focus', 'input', (event) => {\n let $inputs = $(event.currentTarget).closest('form').find('input').not('[type=file]')\n focused = setInterval(() => {\n $inputs.each((index, element) => {\n let $element = $(element)\n if ($element.val() !== $element.attr('value')) {\n $element.trigger('change')\n }\n })\n }, 100)\n })\n .on('blur', '.form-group input', () => {\n clearInterval(focused)\n })\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Autofill($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = Autofill._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = Autofill\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return Autofill._jQueryInterface\n }\n\n return Autofill\n\n})(jQuery)\n\nexport default Autofill\n","/**\n * $.bootstrapMaterialDesign(config) is a macro class to configure the components generally\n * used in Bootstrap Material Design. You may pass overrides to the configurations\n * which will be passed into each component, or you may omit use of this class and\n * configure each component separately.\n */\nconst BootstrapMaterialDesign = (($) => {\n\n /**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n const NAME = 'bootstrapMaterialDesign'\n const DATA_KEY = `bmd.${NAME}`\n const JQUERY_NAME = NAME // retain this full name since it is long enough not to conflict\n const JQUERY_NO_CONFLICT = $.fn[JQUERY_NAME]\n\n /**\n * Global configuration:\n * The global configuration hash will be mixed in to each components' config.\n * e.g. calling $.bootstrapMaterialDesign({global: { validate: true } }) would pass `validate:true` to every component\n *\n *\n * Component configuration:\n * - selector: may be a string or an array. Any array will be joined with a comma to generate the selector\n * - disable any component by defining it as false with an override. e.g. $.bootstrapMaterialDesign({ autofill: false })\n *\n * @see each individual component for more configuration settings.\n */\n const Default = {\n global: {\n validate: false,\n label: {\n className: 'bmd-label-static' // default style of label to be used if not specified in the html markup\n }\n },\n autofill: {\n selector: 'body'\n },\n checkbox: {\n selector: '.checkbox > label > input[type=checkbox]'\n },\n checkboxInline: {\n selector: 'label.checkbox-inline > input[type=checkbox]'\n },\n collapseInline: {\n selector: '.bmd-collapse-inline [data-toggle=\"collapse\"]'\n },\n drawer: {\n selector: '.bmd-layout-drawer'\n },\n file: {\n selector: 'input[type=file]'\n },\n radio: {\n selector: '.radio > label > input[type=radio]'\n },\n radioInline: {\n selector: 'label.radio-inline > input[type=radio]'\n },\n ripples: {\n //selector: ['.btn:not(.btn-link):not(.ripple-none)'] // testing only\n selector: [\n '.btn:not(.btn-link):not(.ripple-none)',\n '.card-image:not(.ripple-none)',\n '.navbar a:not(.ripple-none)',\n '.dropdown-menu a:not(.ripple-none)',\n '.nav-tabs a:not(.ripple-none)',\n '.pagination li:not(.active):not(.disabled) a:not(.ripple-none)',\n '.ripple' // generic marker class to add ripple to elements\n ]\n },\n select: {\n selector: ['select']\n },\n switch: {\n selector: '.switch > label > input[type=checkbox]'\n },\n text: {\n // omit inputs we have specialized components to handle - we need to match text, email, etc. The easiest way to do this appears to be just omit the ones we don't want to match and let the rest fall through to this.\n selector: [`input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=button]):not([type=submit]):not([type=reset])`]\n },\n textarea: {\n selector: ['textarea']\n },\n arrive: true,\n // create an ordered component list for instantiation\n instantiation: [\n 'ripples',\n 'checkbox',\n 'checkboxInline',\n 'collapseInline',\n 'drawer',\n //'file',\n 'radio',\n 'radioInline',\n 'switch',\n 'text',\n 'textarea',\n 'select',\n 'autofill'\n ]\n }\n\n /**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n class BootstrapMaterialDesign {\n\n constructor($element, config) {\n this.$element = $element\n this.config = $.extend(true, {}, Default, config)\n let $document = $(document)\n\n for (let component of this.config.instantiation) {\n\n // the component's config fragment is passed in directly, allowing users to override\n let componentConfig = this.config[component]\n\n // check to make sure component config is enabled (not `false`)\n if (componentConfig) {\n\n // assemble the selector as it may be an array\n let selector = this._resolveSelector(componentConfig)\n\n // mix in global options\n componentConfig = $.extend(true, {}, this.config.global, componentConfig)\n\n // create the jquery fn name e.g. 'bmdText' for 'text'\n let componentName = `${component.charAt(0).toUpperCase() + component.slice(1)}`\n let jqueryFn = `bmd${componentName}`\n\n try {\n // safely instantiate component on selector elements with config, report errors and move on.\n // console.debug(`instantiating: $('${selector}')[${jqueryFn}](${componentConfig})`) // eslint-disable-line no-console\n $(selector)[jqueryFn](componentConfig)\n\n // add to arrive if present and enabled\n if (document.arrive && this.config.arrive) {\n $document.arrive(selector, function(){ // eslint-disable-line no-loop-func\n $(this)[jqueryFn](componentConfig)\n })\n }\n } catch (e) {\n let message = `Failed to instantiate component: $('${selector}')[${jqueryFn}](${componentConfig})`\n console.error(message, e, `\\nSelected elements: `, $(selector)) // eslint-disable-line no-console\n throw e\n }\n }\n }\n }\n\n dispose() {\n this.$element.data(DATA_KEY, null)\n this.$element = null\n this.config = null\n }\n\n // ------------------------------------------------------------------------\n // private\n\n _resolveSelector(componentConfig) {\n let selector = componentConfig.selector\n if (Array.isArray(selector)) {\n selector = selector.join(', ')\n }\n\n return selector\n }\n\n // ------------------------------------------------------------------------\n // static\n static _jQueryInterface(config) {\n return this.each(function () {\n let $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new BootstrapMaterialDesign($element, config)\n $element.data(DATA_KEY, data)\n }\n })\n }\n }\n\n /**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n $.fn[JQUERY_NAME] = BootstrapMaterialDesign._jQueryInterface\n $.fn[JQUERY_NAME].Constructor = BootstrapMaterialDesign\n $.fn[JQUERY_NAME].noConflict = () => {\n $.fn[JQUERY_NAME] = JQUERY_NO_CONFLICT\n return BootstrapMaterialDesign._jQueryInterface\n }\n\n return BootstrapMaterialDesign\n\n})(jQuery)\n\nexport default BootstrapMaterialDesign\n"],"names":[],"mappings":"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"} \ No newline at end of file