*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block; }

body {
  margin: 0;
  font-family: Klein, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000;
  text-align: left;
  background-color: #fff; }

[tabindex="-1"]:focus {
  outline: 0 !important; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem; }

p {
  margin-top: 0;
  margin-bottom: 1rem; }

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  text-decoration-skip-ink: none; }

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: 700; }

dd {
  margin-bottom: .5rem;
  margin-left: 0; }

blockquote {
  margin: 0 0 1rem; }

b,
strong {
  font-weight: 700; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

a {
  color: #000;
  text-decoration: underline;
  background-color: transparent; }
  a:hover {
    color: #000;
    text-decoration: none; }

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none; }
  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em; }

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto; }

figure {
  margin: 0 0 1rem; }

img {
  vertical-align: middle;
  border-style: none; }

svg {
  overflow: hidden;
  vertical-align: middle; }

table {
  border-collapse: collapse; }

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom; }

th {
  text-align: inherit; }

label {
  display: inline-block;
  margin-bottom: 0.5rem; }

button {
  border-radius: 0; }

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color; }

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

select {
  word-wrap: normal; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

input[type="radio"],
input[type="checkbox"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
  -webkit-appearance: listbox; }

textarea {
  overflow: auto;
  resize: vertical; }

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: .5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button; }

output {
  display: inline-block; }

summary {
  display: list-item;
  cursor: pointer; }

template {
  display: none; }

[hidden] {
  display: none !important; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2; }

h1, .h1 {
  font-size: 2.5rem; }

h2, .h2 {
  font-size: 2rem; }

h3, .h3 {
  font-size: 1.75rem; }

h4, .h4 {
  font-size: 1.5rem; }

h5, .h5 {
  font-size: 1.25rem; }

h6, .h6 {
  font-size: 1rem; }

.lead {
  font-size: 1.25rem;
  font-weight: 300; }

.display-1 {
  font-size: 6rem;
  font-weight: 300;
  line-height: 1.2; }

.display-2 {
  font-size: 5.5rem;
  font-weight: 300;
  line-height: 1.2; }

.display-3 {
  font-size: 4.5rem;
  font-weight: 300;
  line-height: 1.2; }

.display-4 {
  font-size: 3.5rem;
  font-weight: 300;
  line-height: 1.2; }

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1); }

small,
.small {
  font-size: 80%;
  font-weight: 400; }

mark,
.mark {
  padding: 0.2em;
  background-color: #fcf8e3; }

.list-unstyled {
  padding-left: 0;
  list-style: none; }

.list-inline {
  padding-left: 0;
  list-style: none; }

.list-inline-item {
  display: inline-block; }
  .list-inline-item:not(:last-child) {
    margin-right: 0.5rem; }

.initialism {
  font-size: 90%;
  text-transform: uppercase; }

.blockquote {
  margin-bottom: 1rem;
  font-size: 1.25rem; }

.blockquote-footer {
  display: block;
  font-size: 80%;
  color: #6c757d; }
  .blockquote-footer::before {
    content: "\2014\00A0"; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.img-thumbnail {
  padding: 0.25rem;
  background-color: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  max-width: 100%;
  height: auto; }

.figure {
  display: inline-block; }

.figure-img {
  margin-bottom: 0.5rem;
  line-height: 1; }

.figure-caption {
  font-size: 90%;
  color: #6c757d; }

code {
  font-size: 87.5%;
  color: #e83e8c;
  word-break: break-word; }
  a > code {
    color: inherit; }

kbd {
  padding: 0.2rem 0.4rem;
  font-size: 87.5%;
  color: #fff;
  background-color: #212529;
  border-radius: 0.2rem; }
  kbd kbd {
    padding: 0;
    font-size: 100%;
    font-weight: 700; }

pre {
  display: block;
  font-size: 87.5%;
  color: #212529; }
  pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal; }

.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll; }

.table {
  width: 100%;
  margin-bottom: 1rem;
  color: #212529; }
  .table th,
  .table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6; }
  .table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6; }
  .table tbody + tbody {
    border-top: 2px solid #dee2e6; }

.table-sm th,
.table-sm td {
  padding: 0.3rem; }

.table-bordered {
  border: 1px solid #dee2e6; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #dee2e6; }
  .table-bordered thead th,
  .table-bordered thead td {
    border-bottom-width: 2px; }

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody + tbody {
  border: 0; }

.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05); }

.table-hover tbody tr:hover {
  color: #212529;
  background-color: rgba(0, 0, 0, 0.075); }

.table-primary,
.table-primary > th,
.table-primary > td {
  background-color: #b8b8b8; }

.table-primary th,
.table-primary td,
.table-primary thead th,
.table-primary tbody + tbody {
  border-color: #7a7a7a; }

.table-hover .table-primary:hover {
  background-color: #ababab; }
  .table-hover .table-primary:hover > td,
  .table-hover .table-primary:hover > th {
    background-color: #ababab; }

.table-secondary,
.table-secondary > th,
.table-secondary > td {
  background-color: #d6d8db; }

.table-secondary th,
.table-secondary td,
.table-secondary thead th,
.table-secondary tbody + tbody {
  border-color: #b3b7bb; }

.table-hover .table-secondary:hover {
  background-color: #c8cbcf; }
  .table-hover .table-secondary:hover > td,
  .table-hover .table-secondary:hover > th {
    background-color: #c8cbcf; }

.table-success,
.table-success > th,
.table-success > td {
  background-color: #c3e6cb; }

.table-success th,
.table-success td,
.table-success thead th,
.table-success tbody + tbody {
  border-color: #8fd19e; }

.table-hover .table-success:hover {
  background-color: #b1dfbb; }
  .table-hover .table-success:hover > td,
  .table-hover .table-success:hover > th {
    background-color: #b1dfbb; }

.table-info,
.table-info > th,
.table-info > td {
  background-color: #bee5eb; }

.table-info th,
.table-info td,
.table-info thead th,
.table-info tbody + tbody {
  border-color: #86cfda; }

.table-hover .table-info:hover {
  background-color: #abdde5; }
  .table-hover .table-info:hover > td,
  .table-hover .table-info:hover > th {
    background-color: #abdde5; }

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #ffeeba; }

.table-warning th,
.table-warning td,
.table-warning thead th,
.table-warning tbody + tbody {
  border-color: #ffdf7e; }

.table-hover .table-warning:hover {
  background-color: #ffe8a1; }
  .table-hover .table-warning:hover > td,
  .table-hover .table-warning:hover > th {
    background-color: #ffe8a1; }

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #f5c6cb; }

.table-danger th,
.table-danger td,
.table-danger thead th,
.table-danger tbody + tbody {
  border-color: #ed969e; }

.table-hover .table-danger:hover {
  background-color: #f1b0b7; }
  .table-hover .table-danger:hover > td,
  .table-hover .table-danger:hover > th {
    background-color: #f1b0b7; }

.table-light,
.table-light > th,
.table-light > td {
  background-color: #fdfdfe; }

.table-light th,
.table-light td,
.table-light thead th,
.table-light tbody + tbody {
  border-color: #fbfcfc; }

.table-hover .table-light:hover {
  background-color: #ececf6; }
  .table-hover .table-light:hover > td,
  .table-hover .table-light:hover > th {
    background-color: #ececf6; }

.table-dark,
.table-dark > th,
.table-dark > td {
  background-color: #c6c8ca; }

.table-dark th,
.table-dark td,
.table-dark thead th,
.table-dark tbody + tbody {
  border-color: #95999c; }

.table-hover .table-dark:hover {
  background-color: #b9bbbe; }
  .table-hover .table-dark:hover > td,
  .table-hover .table-dark:hover > th {
    background-color: #b9bbbe; }

.table-gray,
.table-gray > th,
.table-gray > td {
  background-color: #c6c6c6; }

.table-gray th,
.table-gray td,
.table-gray thead th,
.table-gray tbody + tbody {
  border-color: #959595; }

.table-hover .table-gray:hover {
  background-color: #b9b9b9; }
  .table-hover .table-gray:hover > td,
  .table-hover .table-gray:hover > th {
    background-color: #b9b9b9; }

.table-red,
.table-red > th,
.table-red > td {
  background-color: #f4c7c9; }

.table-red th,
.table-red td,
.table-red thead th,
.table-red tbody + tbody {
  border-color: #ea979a; }

.table-hover .table-red:hover {
  background-color: #f0b2b4; }
  .table-hover .table-red:hover > td,
  .table-hover .table-red:hover > th {
    background-color: #f0b2b4; }

.table-green,
.table-green > th,
.table-green > td {
  background-color: #cbe9ce; }

.table-green th,
.table-green td,
.table-green thead th,
.table-green tbody + tbody {
  border-color: #9ed6a5; }

.table-hover .table-green:hover {
  background-color: #b9e1bd; }
  .table-hover .table-green:hover > td,
  .table-hover .table-green:hover > th {
    background-color: #b9e1bd; }

.table-yellow,
.table-yellow > th,
.table-yellow > td {
  background-color: #fce6c1; }

.table-yellow th,
.table-yellow td,
.table-yellow thead th,
.table-yellow tbody + tbody {
  border-color: #fad18d; }

.table-hover .table-yellow:hover {
  background-color: #fbdca9; }
  .table-hover .table-yellow:hover > td,
  .table-hover .table-yellow:hover > th {
    background-color: #fbdca9; }

.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 .thead-dark th {
  color: #fff;
  background-color: #343a40;
  border-color: #454d55; }

.table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6; }

.table-dark {
  color: #fff;
  background-color: #343a40; }
  .table-dark th,
  .table-dark td,
  .table-dark thead th {
    border-color: #454d55; }
  .table-dark.table-bordered {
    border: 0; }
  .table-dark.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .table-dark.table-hover tbody tr:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.075); }

@media (max-width: 374.98px) {
  .table-responsive-xs {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xs > .table-bordered {
      border: 0; } }

@media (max-width: 575.98px) {
  .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-sm > .table-bordered {
      border: 0; } }

@media (max-width: 767.98px) {
  .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-md > .table-bordered {
      border: 0; } }

@media (max-width: 1023.98px) {
  .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-lg > .table-bordered {
      border: 0; } }

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xl > .table-bordered {
      border: 0; } }

@media (max-width: 1439.98px) {
  .table-responsive-xxl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xxl > .table-bordered {
      border: 0; } }

@media (max-width: 1919.98px) {
  .table-responsive-xxxl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; }
    .table-responsive-xxxl > .table-bordered {
      border: 0; } }

.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }
  .table-responsive > .table-bordered {
    border: 0; }

.form-control {
  display: block;
  width: 100%;
  height: 4.4rem;
  padding: 0.375rem 0.75rem;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #696969;
  border-radius: 0;
  -webkit-transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .form-control {
      -webkit-transition: none;
      transition: none; } }
  .form-control::-ms-expand {
    background-color: transparent;
    border: 0; }
  .form-control:focus {
    color: #495057;
    background-color: #fff;
    border-color: #80bdff;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .form-control::-webkit-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::-moz-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::-ms-input-placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control::placeholder {
    color: #6c757d;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #f4f4f4;
    opacity: 1; }

select.form-control:focus::-ms-value {
  color: #000;
  background-color: #fff; }

.form-control-file,
.form-control-range {
  display: block;
  width: 100%; }

.col-form-label {
  padding-top: calc(0.375rem + 1px);
  padding-bottom: calc(0.375rem + 1px);
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5; }

.col-form-label-lg {
  padding-top: calc(0.5rem + 1px);
  padding-bottom: calc(0.5rem + 1px);
  font-size: 1.25rem;
  line-height: 1.5; }

.col-form-label-sm {
  padding-top: calc(0.25rem + 1px);
  padding-bottom: calc(0.25rem + 1px);
  font-size: 0.875rem;
  line-height: 1.5; }

.form-control-plaintext {
  display: block;
  width: 100%;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  margin-bottom: 0;
  line-height: 1.5;
  color: #212529;
  background-color: transparent;
  border: solid transparent;
  border-width: 1px 0; }
  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
    padding-right: 0;
    padding-left: 0; }

.form-control-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.form-control-lg {
  height: calc(1.5em + 1rem + 2px);
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem; }

select.form-control[size], select.form-control[multiple] {
  height: auto; }

textarea.form-control {
  height: auto; }

.form-group {
  margin-bottom: 1.2rem; }

.form-text {
  display: block;
  margin-top: 0.25rem; }

.form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-right: -5px;
  margin-left: -5px; }
  .form-row > .col,
  .form-row > [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px; }

.form-check {
  position: relative;
  display: block;
  padding-left: 0; }

.form-check-input {
  position: absolute;
  margin-top: 0.3rem;
  margin-left: 0; }
  .form-check-input:disabled ~ .form-check-label {
    color: #6c757d; }

.form-check-label {
  margin-bottom: 0; }

.form-check-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0;
  margin-right: 0.75rem; }
  .form-check-inline .form-check-input {
    position: static;
    margin-top: 0;
    margin-right: 0.3125rem;
    margin-left: 0; }

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #28a745; }

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(40, 167, 69, 0.9);
  border-radius: 0.25rem; }

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: #28a745; }
  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
    border-color: #28a745;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
  .was-validated .form-control:valid ~ .valid-feedback,
  .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,
  .form-control.is-valid ~ .valid-tooltip {
    display: block; }

.was-validated .custom-select:valid, .custom-select.is-valid {
  border-color: #28a745; }
  .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
    border-color: #28a745;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
  .was-validated .custom-select:valid ~ .valid-feedback,
  .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,
  .custom-select.is-valid ~ .valid-tooltip {
    display: block; }

.was-validated .form-control-file:valid ~ .valid-feedback,
.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,
.form-control-file.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: #28a745; }

.was-validated .form-check-input:valid ~ .valid-feedback,
.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,
.form-check-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {
  color: #28a745; }
  .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {
    border-color: #28a745; }

.was-validated .custom-control-input:valid ~ .valid-feedback,
.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,
.custom-control-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {
  border-color: #34ce57;
  background-color: #34ce57; }

.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {
  border-color: #28a745; }

.was-validated .custom-file-input:valid ~ .valid-feedback,
.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,
.custom-file-input.is-valid ~ .valid-tooltip {
  display: block; }

.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {
  border-color: #28a745;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 80%;
  color: #dc3545; }

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: .1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #fff;
  background-color: rgba(220, 53, 69, 0.9);
  border-radius: 0.25rem; }

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: #dc3545; }
  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
    border-color: #dc3545;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .was-validated .form-control:invalid ~ .invalid-feedback,
  .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,
  .form-control.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated .custom-select:invalid, .custom-select.is-invalid {
  border-color: #dc3545; }
  .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
    border-color: #dc3545;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .was-validated .custom-select:invalid ~ .invalid-feedback,
  .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,
  .custom-select.is-invalid ~ .invalid-tooltip {
    display: block; }

.was-validated .form-control-file:invalid ~ .invalid-feedback,
.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,
.form-control-file.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: #dc3545; }

.was-validated .form-check-input:invalid ~ .invalid-feedback,
.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,
.form-check-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {
  color: #dc3545; }
  .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {
    border-color: #dc3545; }

.was-validated .custom-control-input:invalid ~ .invalid-feedback,
.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,
.custom-control-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
  border-color: #e4606d;
  background-color: #e4606d; }

.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {
  border-color: #dc3545; }

.was-validated .custom-file-input:invalid ~ .invalid-feedback,
.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,
.custom-file-input.is-invalid ~ .invalid-tooltip {
  display: block; }

.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {
  border-color: #dc3545;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
          box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }

.form-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .form-inline .form-check {
    width: 100%; }
  @media (min-width: 576px) {
    .form-inline label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-bottom: 0; }
    .form-inline .form-group {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-bottom: 0; }
    .form-inline .form-control {
      display: inline-block;
      width: auto;
      vertical-align: middle; }
    .form-inline .form-control-plaintext {
      display: inline-block; }
    .form-inline .input-group,
    .form-inline .custom-select {
      width: auto; }
    .form-inline .form-check {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: auto;
      padding-left: 0; }
    .form-inline .form-check-input {
      position: relative;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-top: 0;
      margin-right: 0.25rem;
      margin-left: 0; }
    .form-inline .custom-control {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .form-inline .custom-control-label {
      margin-bottom: 0; } }

.fade {
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  @media (prefers-reduced-motion: reduce) {
    .fade {
      -webkit-transition: none;
      transition: none; } }
  .fade:not(.show) {
    opacity: 0; }

.collapse:not(.show) {
  display: none; }

.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  transition: height 0.35s ease; }
  @media (prefers-reduced-motion: reduce) {
    .collapsing {
      -webkit-transition: none;
      transition: none; } }

.dropup,
.dropright,
.dropdown,
.dropleft {
  position: relative; }

.dropdown-toggle {
  white-space: nowrap; }
  .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent; }
  .dropdown-toggle:empty::after {
    margin-left: 0; }

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0.125rem 0 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem; }

.dropdown-menu-left {
  right: auto;
  left: 0; }

.dropdown-menu-right {
  right: 0;
  left: auto; }

@media (min-width: 375px) {
  .dropdown-menu-xs-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xs-right {
    right: 0;
    left: auto; } }

@media (min-width: 576px) {
  .dropdown-menu-sm-left {
    right: auto;
    left: 0; }
  .dropdown-menu-sm-right {
    right: 0;
    left: auto; } }

@media (min-width: 768px) {
  .dropdown-menu-md-left {
    right: auto;
    left: 0; }
  .dropdown-menu-md-right {
    right: 0;
    left: auto; } }

@media (min-width: 1024px) {
  .dropdown-menu-lg-left {
    right: auto;
    left: 0; }
  .dropdown-menu-lg-right {
    right: 0;
    left: auto; } }

@media (min-width: 1200px) {
  .dropdown-menu-xl-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xl-right {
    right: 0;
    left: auto; } }

@media (min-width: 1440px) {
  .dropdown-menu-xxl-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xxl-right {
    right: 0;
    left: auto; } }

@media (min-width: 1920px) {
  .dropdown-menu-xxxl-left {
    right: auto;
    left: 0; }
  .dropdown-menu-xxxl-right {
    right: 0;
    left: auto; } }

.dropup .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: 0.125rem; }

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0;
  border-right: 0.3em solid transparent;
  border-bottom: 0.3em solid;
  border-left: 0.3em solid transparent; }

.dropup .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem; }

.dropright .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0;
  border-bottom: 0.3em solid transparent;
  border-left: 0.3em solid; }

.dropright .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropright .dropdown-toggle::after {
  vertical-align: 0; }

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem; }

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: ""; }

.dropleft .dropdown-toggle::after {
  display: none; }

.dropleft .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid transparent;
  border-right: 0.3em solid;
  border-bottom: 0.3em solid transparent; }

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0; }

.dropleft .dropdown-toggle::before {
  vertical-align: 0; }

.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  right: auto;
  bottom: auto; }

.dropdown-divider {
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid #e9ecef; }

.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.25rem 1.5rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0; }
  .dropdown-item:hover, .dropdown-item:focus {
    color: #16181b;
    text-decoration: none;
    background-color: #f8f9fa; }
  .dropdown-item.active, .dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #007bff; }
  .dropdown-item.disabled, .dropdown-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: transparent; }

.dropdown-menu.show {
  display: block; }

.dropdown-header {
  display: block;
  padding: 0.5rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #6c757d;
  white-space: nowrap; }

.dropdown-item-text {
  display: block;
  padding: 0.25rem 1.5rem;
  color: #212529; }

.btn-group,
.btn-group-vertical {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: middle; }
  .btn-group > .btn,
  .btn-group-vertical > .btn {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    .btn-group > .btn:hover,
    .btn-group-vertical > .btn:hover {
      z-index: 1; }
    .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
    .btn-group-vertical > .btn:focus,
    .btn-group-vertical > .btn:active,
    .btn-group-vertical > .btn.active {
      z-index: 1; }

.btn-toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .btn-toolbar .input-group {
    width: auto; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) {
  margin-left: -1px; }

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.btn-group > .btn:not(:first-child),
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem; }
  .dropdown-toggle-split::after,
  .dropup .dropdown-toggle-split::after,
  .dropright .dropdown-toggle-split::after {
    margin-left: 0; }
  .dropleft .dropdown-toggle-split::before {
    margin-right: 0; }

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem; }

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.75rem;
  padding-left: 0.75rem; }

.btn-group-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .btn-group-vertical > .btn,
  .btn-group-vertical > .btn-group {
    width: 100%; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) {
    margin-top: -1px; }
  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
  .btn-group-vertical > .btn-group:not(:last-child) > .btn {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .btn-group-vertical > .btn:not(:first-child),
  .btn-group-vertical > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.btn-group-toggle > .btn,
.btn-group-toggle > .btn-group > .btn {
  margin-bottom: 0; }
  .btn-group-toggle > .btn input[type="radio"],
  .btn-group-toggle > .btn input[type="checkbox"],
  .btn-group-toggle > .btn-group > .btn input[type="radio"],
  .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none; }

.input-group {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100%; }
  .input-group > .form-control,
  .input-group > .form-control-plaintext,
  .input-group > .custom-select,
  .input-group > .custom-file {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 1%;
    margin-bottom: 0; }
    .input-group > .form-control + .form-control,
    .input-group > .form-control + .custom-select,
    .input-group > .form-control + .custom-file,
    .input-group > .form-control-plaintext + .form-control,
    .input-group > .form-control-plaintext + .custom-select,
    .input-group > .form-control-plaintext + .custom-file,
    .input-group > .custom-select + .form-control,
    .input-group > .custom-select + .custom-select,
    .input-group > .custom-select + .custom-file,
    .input-group > .custom-file + .form-control,
    .input-group > .custom-file + .custom-select,
    .input-group > .custom-file + .custom-file {
      margin-left: -1px; }
  .input-group > .form-control:focus,
  .input-group > .custom-select:focus,
  .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {
    z-index: 3; }
  .input-group > .custom-file .custom-file-input:focus {
    z-index: 4; }
  .input-group > .form-control:not(:last-child),
  .input-group > .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .input-group > .form-control:not(:first-child),
  .input-group > .custom-select:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .input-group > .custom-file {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .input-group > .custom-file:not(:last-child) .custom-file-label,
    .input-group > .custom-file:not(:last-child) .custom-file-label::after {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .input-group > .custom-file:not(:first-child) .custom-file-label {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }

.input-group-prepend,
.input-group-append {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .input-group-prepend .btn,
  .input-group-append .btn {
    position: relative;
    z-index: 2; }
    .input-group-prepend .btn:focus,
    .input-group-append .btn:focus {
      z-index: 3; }
  .input-group-prepend .btn + .btn,
  .input-group-prepend .btn + .input-group-text,
  .input-group-prepend .input-group-text + .input-group-text,
  .input-group-prepend .input-group-text + .btn,
  .input-group-append .btn + .btn,
  .input-group-append .btn + .input-group-text,
  .input-group-append .input-group-text + .input-group-text,
  .input-group-append .input-group-text + .btn {
    margin-left: -1px; }

.input-group-prepend {
  margin-right: -1px; }

.input-group-append {
  margin-left: -1px; }

.input-group-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0; }
  .input-group-text input[type="radio"],
  .input-group-text input[type="checkbox"] {
    margin-top: 0; }

.input-group-lg > .form-control:not(textarea),
.input-group-lg > .custom-select {
  height: calc(1.5em + 1rem + 2px); }

.input-group-lg > .form-control,
.input-group-lg > .custom-select,
.input-group-lg > .input-group-prepend > .input-group-text,
.input-group-lg > .input-group-append > .input-group-text,
.input-group-lg > .input-group-prepend > .btn,
.input-group-lg > .input-group-append > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem; }

.input-group-sm > .form-control:not(textarea),
.input-group-sm > .custom-select {
  height: calc(1.5em + 0.5rem + 2px); }

.input-group-sm > .form-control,
.input-group-sm > .custom-select,
.input-group-sm > .input-group-prepend > .input-group-text,
.input-group-sm > .input-group-append > .input-group-text,
.input-group-sm > .input-group-prepend > .btn,
.input-group-sm > .input-group-append > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem; }

.input-group-lg > .custom-select,
.input-group-sm > .custom-select {
  padding-right: 1.75rem; }

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.input-group > .input-group-append > .btn,
.input-group > .input-group-append > .input-group-text,
.input-group > .input-group-prepend:not(:first-child) > .btn,
.input-group > .input-group-prepend:not(:first-child) > .input-group-text,
.input-group > .input-group-prepend:first-child > .btn:not(:first-child),
.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.custom-control {
  position: relative;
  display: block;
  min-height: 2.24rem;
  padding-left: 1.5rem; }

.custom-control-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 1rem; }

.custom-control-input {
  position: absolute;
  z-index: -1;
  opacity: 0; }
  .custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: #007bff;
    background-color: #007bff; }
  .custom-control-input:focus ~ .custom-control-label::before {
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #80bdff; }
  .custom-control-input:not(:disabled):active ~ .custom-control-label::before {
    color: #fff;
    background-color: #b3d7ff;
    border-color: #b3d7ff; }
  .custom-control-input:disabled ~ .custom-control-label {
    color: #6c757d; }
    .custom-control-input:disabled ~ .custom-control-label::before {
      background-color: #e9ecef; }

.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top; }
  .custom-control-label::before {
    position: absolute;
    top: 0.62rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    pointer-events: none;
    content: "";
    background-color: #fff;
    border: #adb5bd solid 1px; }
  .custom-control-label::after {
    position: absolute;
    top: 0.62rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50% / 50% 50%; }

.custom-checkbox .custom-control-label::before {
  border-radius: 0.25rem; }

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%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-label::before {
  border-color: #007bff;
  background-color: #007bff; }

.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); }

.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5); }

.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5); }

.custom-radio .custom-control-label::before {
  border-radius: 50%; }

.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
  background-color: rgba(0, 123, 255, 0.5); }

.custom-switch {
  padding-left: 2.25rem; }
  .custom-switch .custom-control-label::before {
    left: -2.25rem;
    width: 1.75rem;
    pointer-events: all;
    border-radius: 0.5rem; }
  .custom-switch .custom-control-label::after {
    top: calc(0.62rem + 2px);
    left: calc(-2.25rem + 2px);
    width: calc(1rem - 4px);
    height: calc(1rem - 4px);
    background-color: #adb5bd;
    border-radius: 0.5rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-transform 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
    @media (prefers-reduced-motion: reduce) {
      .custom-switch .custom-control-label::after {
        -webkit-transition: none;
        transition: none; } }
  .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
    background-color: #fff;
    -webkit-transform: translateX(0.75rem);
            transform: translateX(0.75rem); }
  .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }

.custom-select {
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .custom-select:focus {
    border-color: #80bdff;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-select:focus::-ms-value {
      color: #000;
      background-color: #fff; }
  .custom-select[multiple], .custom-select[size]:not([size="1"]) {
    height: auto;
    padding-right: 0.75rem;
    background-image: none; }
  .custom-select:disabled {
    color: #6c757d;
    background-color: #f4f4f4; }
  .custom-select::-ms-expand {
    display: none; }

.custom-select-sm {
  height: calc(1.5em + 0.5rem + 2px);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem; }

.custom-select-lg {
  height: calc(1.5em + 1rem + 2px);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem; }

.custom-file {
  position: relative;
  display: inline-block;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin-bottom: 0; }

.custom-file-input {
  position: relative;
  z-index: 2;
  width: 100%;
  height: calc(1.5em + 0.75rem + 2px);
  margin: 0;
  opacity: 0; }
  .custom-file-input:focus ~ .custom-file-label {
    border-color: #80bdff;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-file-input:disabled ~ .custom-file-label {
    background-color: #e9ecef; }
  .custom-file-input:lang(en) ~ .custom-file-label::after {
    content: "Browse"; }
  .custom-file-input ~ .custom-file-label[data-browse]::after {
    content: attr(data-browse); }

.custom-file-label {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1;
  height: calc(1.5em + 0.75rem + 2px);
  padding: 0.375rem 0.75rem;
  font-weight: 400;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.25rem; }
  .custom-file-label::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    height: calc(1.5em + 0.75rem);
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    color: #495057;
    content: "Browse";
    background-color: #e9ecef;
    border-left: inherit;
    border-radius: 0 0.25rem 0.25rem 0; }

.custom-range {
  width: 100%;
  height: calc(1rem + 0.4rem);
  padding: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  .custom-range:focus {
    outline: none; }
    .custom-range:focus::-webkit-slider-thumb {
      -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
              box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-range:focus::-moz-range-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .custom-range:focus::-ms-thumb {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
  .custom-range::-moz-focus-outer {
    border: 0; }
  .custom-range::-webkit-slider-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: -0.25rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
            appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-webkit-slider-thumb {
        -webkit-transition: none;
        transition: none; } }
    .custom-range::-webkit-slider-thumb:active {
      background-color: #b3d7ff; }
  .custom-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-moz-range-thumb {
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    -moz-appearance: none;
         appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-moz-range-thumb {
        -webkit-transition: none;
        transition: none; } }
    .custom-range::-moz-range-thumb:active {
      background-color: #b3d7ff; }
  .custom-range::-moz-range-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: #dee2e6;
    border-color: transparent;
    border-radius: 1rem; }
  .custom-range::-ms-thumb {
    width: 1rem;
    height: 1rem;
    margin-top: 0;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    background-color: #007bff;
    border: 0;
    border-radius: 1rem;
    -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
    appearance: none; }
    @media (prefers-reduced-motion: reduce) {
      .custom-range::-ms-thumb {
        -webkit-transition: none;
        transition: none; } }
    .custom-range::-ms-thumb:active {
      background-color: #b3d7ff; }
  .custom-range::-ms-track {
    width: 100%;
    height: 0.5rem;
    color: transparent;
    cursor: pointer;
    background-color: transparent;
    border-color: transparent;
    border-width: 0.5rem; }
  .custom-range::-ms-fill-lower {
    background-color: #dee2e6;
    border-radius: 1rem; }
  .custom-range::-ms-fill-upper {
    margin-right: 15px;
    background-color: #dee2e6;
    border-radius: 1rem; }
  .custom-range:disabled::-webkit-slider-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-webkit-slider-runnable-track {
    cursor: default; }
  .custom-range:disabled::-moz-range-thumb {
    background-color: #adb5bd; }
  .custom-range:disabled::-moz-range-track {
    cursor: default; }
  .custom-range:disabled::-ms-thumb {
    background-color: #adb5bd; }

.custom-control-label::before,
.custom-file-label,
.custom-select {
  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .custom-control-label::before,
    .custom-file-label,
    .custom-select {
      -webkit-transition: none;
      transition: none; } }

.nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem; }
  .nav-link:hover, .nav-link:focus {
    text-decoration: none; }
  .nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6; }
  .nav-tabs .nav-item {
    margin-bottom: -1px; }
  .nav-tabs .nav-link {
    border: 1px solid transparent;
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      border-color: #e9ecef #e9ecef #dee2e6; }
    .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0; }

.nav-pills .nav-link {
  border-radius: 0.25rem; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #007bff; }

.nav-fill .nav-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  text-align: center; }

.nav-justified .nav-item {
  -ms-flex-preferred-size: 0;
      flex-basis: 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: center; }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: border-box;
  border: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.25rem; }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group:first-child .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .card > .list-group:last-child .list-group-item:last-child {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }

.card-body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 1.25rem; }

.card-title {
  margin-bottom: 0.75rem; }

.card-subtitle {
  margin-top: -0.375rem;
  margin-bottom: 0; }

.card-text:last-child {
  margin-bottom: 0; }

.card-link:hover {
  text-decoration: none; }

.card-link + .card-link {
  margin-left: 1.25rem; }

.card-header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 0;
  background-color: rgba(0, 0, 0, 0.03);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
  .card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
  .card-header + .list-group .list-group-item:first-child {
    border-top: 0; }

.card-footer {
  padding: 0.75rem 1.25rem;
  background-color: rgba(0, 0, 0, 0.03);
  border-top: 1px solid rgba(0, 0, 0, 0.125); }
  .card-footer:last-child {
    border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }

.card-header-tabs {
  margin-right: -0.625rem;
  margin-bottom: -0.75rem;
  margin-left: -0.625rem;
  border-bottom: 0; }

.card-header-pills {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem; }

.card-img {
  width: 100%;
  border-radius: calc(0.25rem - 1px); }

.card-img-top {
  width: 100%;
  border-top-left-radius: calc(0.25rem - 1px);
  border-top-right-radius: calc(0.25rem - 1px); }

.card-img-bottom {
  width: 100%;
  border-bottom-right-radius: calc(0.25rem - 1px);
  border-bottom-left-radius: calc(0.25rem - 1px); }

.card-deck {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .card-deck .card {
    margin-bottom: 15px; }
  @media (min-width: 576px) {
    .card-deck {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      margin-right: -15px;
      margin-left: -15px; }
      .card-deck .card {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
            -ms-flex: 1 0 0%;
                flex: 1 0 0%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-right: 15px;
        margin-bottom: 0;
        margin-left: 15px; } }

.card-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .card-group > .card {
    margin-bottom: 15px; }
  @media (min-width: 576px) {
    .card-group {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -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%;
        margin-bottom: 0; }
        .card-group > .card + .card {
          margin-left: 0;
          border-left: 0; }
        .card-group > .card:not(:last-child) {
          border-top-right-radius: 0;
          border-bottom-right-radius: 0; }
          .card-group > .card:not(:last-child) .card-img-top,
          .card-group > .card:not(:last-child) .card-header {
            border-top-right-radius: 0; }
          .card-group > .card:not(:last-child) .card-img-bottom,
          .card-group > .card:not(:last-child) .card-footer {
            border-bottom-right-radius: 0; }
        .card-group > .card:not(:first-child) {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; }
          .card-group > .card:not(:first-child) .card-img-top,
          .card-group > .card:not(:first-child) .card-header {
            border-top-left-radius: 0; }
          .card-group > .card:not(:first-child) .card-img-bottom,
          .card-group > .card:not(:first-child) .card-footer {
            border-bottom-left-radius: 0; } }

.card-columns .card {
  margin-bottom: 0.75rem; }

@media (min-width: 576px) {
  .card-columns {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    orphans: 1;
    widows: 1; }
    .card-columns .card {
      display: inline-block;
      width: 100%; } }

.accordion > .card {
  overflow: hidden; }
  .accordion > .card:not(:first-of-type) .card-header:first-child {
    border-radius: 0; }
  .accordion > .card:not(:first-of-type):not(:last-of-type) {
    border-bottom: 0;
    border-radius: 0; }
  .accordion > .card:first-of-type {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .accordion > .card:last-of-type {
    border-top-left-radius: 0;
    border-top-right-radius: 0; }
  .accordion > .card .card-header {
    margin-bottom: -1px; }

.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  list-style: none;
  background-color: #e9ecef;
  border-radius: 0.25rem; }

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem; }
  .breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding-right: 0.5rem;
    color: #6c757d;
    content: "/"; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: underline; }

.breadcrumb-item + .breadcrumb-item:hover::before {
  text-decoration: none; }

.breadcrumb-item.active {
  color: #6c757d; }

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: 0.25rem; }

.page-link {
  position: relative;
  display: block;
  padding: 0.5rem 0.75rem;
  margin-left: -1px;
  line-height: 1.25;
  color: #007bff;
  background-color: #fff;
  border: 1px solid #dee2e6; }
  .page-link:hover {
    z-index: 2;
    color: #0056b3;
    text-decoration: none;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .page-link:focus {
    z-index: 2;
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
            box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem; }

.page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem; }

.page-item.active .page-link {
  z-index: 1;
  color: #fff;
  background-color: #007bff;
  border-color: #007bff; }

.page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: auto;
  background-color: #fff;
  border-color: #dee2e6; }

.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1.7rem;
  line-height: 1.5; }

.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 0.3rem;
  border-bottom-left-radius: 0.3rem; }

.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem; }

.pagination-sm .page-link {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5; }

.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 0.2rem;
  border-bottom-left-radius: 0.2rem; }

.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 0.2rem;
  border-bottom-right-radius: 0.2rem; }

.badge {
  display: inline-block;
  padding: 0.25em 0.4em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25rem;
  -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .badge {
      -webkit-transition: none;
      transition: none; } }
  a.badge:hover, a.badge:focus {
    text-decoration: none; }
  .badge:empty {
    display: none; }

.btn .badge {
  position: relative;
  top: -1px; }

.badge-pill {
  padding-right: 0.6em;
  padding-left: 0.6em;
  border-radius: 10rem; }

.badge-primary {
  color: #fff;
  background-color: #000; }
  a.badge-primary:hover, a.badge-primary:focus {
    color: #fff;
    background-color: black; }
  a.badge-primary:focus, a.badge-primary.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0.5); }

.badge-secondary {
  color: #fff;
  background-color: #6c757d; }
  a.badge-secondary:hover, a.badge-secondary:focus {
    color: #fff;
    background-color: #545b62; }
  a.badge-secondary:focus, a.badge-secondary.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.badge-success {
  color: #fff;
  background-color: #28a745; }
  a.badge-success:hover, a.badge-success:focus {
    color: #fff;
    background-color: #1e7e34; }
  a.badge-success:focus, a.badge-success.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }

.badge-info {
  color: #fff;
  background-color: #17a2b8; }
  a.badge-info:hover, a.badge-info:focus {
    color: #fff;
    background-color: #117a8b; }
  a.badge-info:focus, a.badge-info.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }

.badge-warning {
  color: #212529;
  background-color: #ffc107; }
  a.badge-warning:hover, a.badge-warning:focus {
    color: #212529;
    background-color: #d39e00; }
  a.badge-warning:focus, a.badge-warning.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }

.badge-danger {
  color: #fff;
  background-color: #dc3545; }
  a.badge-danger:hover, a.badge-danger:focus {
    color: #fff;
    background-color: #bd2130; }
  a.badge-danger:focus, a.badge-danger.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }

.badge-light {
  color: #212529;
  background-color: #f8f9fa; }
  a.badge-light:hover, a.badge-light:focus {
    color: #212529;
    background-color: #dae0e5; }
  a.badge-light:focus, a.badge-light.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }

.badge-dark {
  color: #fff;
  background-color: #343a40; }
  a.badge-dark:hover, a.badge-dark:focus {
    color: #fff;
    background-color: #1d2124; }
  a.badge-dark:focus, a.badge-dark.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.badge-gray {
  color: #fff;
  background-color: #333; }
  a.badge-gray:hover, a.badge-gray:focus {
    color: #fff;
    background-color: #1a1a1a; }
  a.badge-gray:focus, a.badge-gray.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(51, 51, 51, 0.5); }

.badge-red {
  color: #fff;
  background-color: #d7373d; }
  a.badge-red:hover, a.badge-red:focus {
    color: #fff;
    background-color: #b7252a; }
  a.badge-red:focus, a.badge-red.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(215, 55, 61, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(215, 55, 61, 0.5); }

.badge-green {
  color: #fff;
  background-color: #44b151; }
  a.badge-green:hover, a.badge-green:focus {
    color: #fff;
    background-color: #368c40; }
  a.badge-green:focus, a.badge-green.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(68, 177, 81, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(68, 177, 81, 0.5); }

.badge-yellow {
  color: #212529;
  background-color: #f5a623; }
  a.badge-yellow:hover, a.badge-yellow:focus {
    color: #212529;
    background-color: #db8c0a; }
  a.badge-yellow:focus, a.badge-yellow.focus {
    outline: 0;
    -webkit-box-shadow: 0 0 0 0.2rem rgba(245, 166, 35, 0.5);
            box-shadow: 0 0 0 0.2rem rgba(245, 166, 35, 0.5); }

.jumbotron {
  padding: 2rem 1rem;
  margin-bottom: 2rem;
  background-color: #e9ecef;
  border-radius: 0.3rem; }
  @media (min-width: 576px) {
    .jumbotron {
      padding: 4rem 2rem; } }

.jumbotron-fluid {
  padding-right: 0;
  padding-left: 0;
  border-radius: 0; }

@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 0.4rem 0; }
  to {
    background-position: 0 0; } }

@keyframes progress-bar-stripes {
  from {
    background-position: 0.4rem 0; }
  to {
    background-position: 0 0; } }

.progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 0.4rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e4e4e4;
  border-radius: 0; }

.progress-bar {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #000;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar {
      -webkit-transition: none;
      transition: none; } }

.progress-bar-striped {
  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.4rem 0.4rem; }

.progress-bar-animated {
  -webkit-animation: progress-bar-stripes 1s linear infinite;
          animation: progress-bar-stripes 1s linear infinite; }
  @media (prefers-reduced-motion: reduce) {
    .progress-bar-animated {
      -webkit-animation: none;
              animation: none; } }

.media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.media-body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.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;
  padding-left: 0;
  margin-bottom: 0; }

.list-group-item-action {
  width: 100%;
  color: #495057;
  text-align: inherit; }
  .list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: #495057;
    text-decoration: none;
    background-color: #f8f9fa; }
  .list-group-item-action:active {
    color: #212529;
    background-color: #e9ecef; }

.list-group-item {
  position: relative;
  display: block;
  padding: 0.75rem 1.25rem;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid rgba(0, 0, 0, 0.125); }
  .list-group-item:first-child {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem; }
  .list-group-item:last-child {
    margin-bottom: 0;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .list-group-item.disabled, .list-group-item:disabled {
    color: #6c757d;
    pointer-events: none;
    background-color: #fff; }
  .list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }

.list-group-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .list-group-horizontal .list-group-item {
    margin-right: -1px;
    margin-bottom: 0; }
    .list-group-horizontal .list-group-item:first-child {
      border-top-left-radius: 0.25rem;
      border-bottom-left-radius: 0.25rem;
      border-top-right-radius: 0; }
    .list-group-horizontal .list-group-item:last-child {
      margin-right: 0;
      border-top-right-radius: 0.25rem;
      border-bottom-right-radius: 0.25rem;
      border-bottom-left-radius: 0; }

@media (min-width: 375px) {
  .list-group-horizontal-xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-xs .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-xs .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-xs .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

@media (min-width: 576px) {
  .list-group-horizontal-sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-sm .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-sm .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-sm .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

@media (min-width: 768px) {
  .list-group-horizontal-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-md .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-md .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-md .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

@media (min-width: 1024px) {
  .list-group-horizontal-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-lg .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-lg .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-lg .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

@media (min-width: 1200px) {
  .list-group-horizontal-xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-xl .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-xl .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-xl .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

@media (min-width: 1440px) {
  .list-group-horizontal-xxl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-xxl .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-xxl .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-xxl .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

@media (min-width: 1920px) {
  .list-group-horizontal-xxxl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    .list-group-horizontal-xxxl .list-group-item {
      margin-right: -1px;
      margin-bottom: 0; }
      .list-group-horizontal-xxxl .list-group-item:first-child {
        border-top-left-radius: 0.25rem;
        border-bottom-left-radius: 0.25rem;
        border-top-right-radius: 0; }
      .list-group-horizontal-xxxl .list-group-item:last-child {
        margin-right: 0;
        border-top-right-radius: 0.25rem;
        border-bottom-right-radius: 0.25rem;
        border-bottom-left-radius: 0; } }

.list-group-flush .list-group-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0; }
  .list-group-flush .list-group-item:last-child {
    margin-bottom: -1px; }

.list-group-flush:first-child .list-group-item:first-child {
  border-top: 0; }

.list-group-flush:last-child .list-group-item:last-child {
  margin-bottom: 0;
  border-bottom: 0; }

.list-group-item-primary {
  color: black;
  background-color: #b8b8b8; }
  .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: black;
    background-color: #ababab; }
  .list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: black;
    border-color: black; }

.list-group-item-secondary {
  color: #383d41;
  background-color: #d6d8db; }
  .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
    color: #383d41;
    background-color: #c8cbcf; }
  .list-group-item-secondary.list-group-item-action.active {
    color: #fff;
    background-color: #383d41;
    border-color: #383d41; }

.list-group-item-success {
  color: #155724;
  background-color: #c3e6cb; }
  .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
    color: #155724;
    background-color: #b1dfbb; }
  .list-group-item-success.list-group-item-action.active {
    color: #fff;
    background-color: #155724;
    border-color: #155724; }

.list-group-item-info {
  color: #0c5460;
  background-color: #bee5eb; }
  .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
    color: #0c5460;
    background-color: #abdde5; }
  .list-group-item-info.list-group-item-action.active {
    color: #fff;
    background-color: #0c5460;
    border-color: #0c5460; }

.list-group-item-warning {
  color: #856404;
  background-color: #ffeeba; }
  .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
    color: #856404;
    background-color: #ffe8a1; }
  .list-group-item-warning.list-group-item-action.active {
    color: #fff;
    background-color: #856404;
    border-color: #856404; }

.list-group-item-danger {
  color: #721c24;
  background-color: #f5c6cb; }
  .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
    color: #721c24;
    background-color: #f1b0b7; }
  .list-group-item-danger.list-group-item-action.active {
    color: #fff;
    background-color: #721c24;
    border-color: #721c24; }

.list-group-item-light {
  color: #818182;
  background-color: #fdfdfe; }
  .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
    color: #818182;
    background-color: #ececf6; }
  .list-group-item-light.list-group-item-action.active {
    color: #fff;
    background-color: #818182;
    border-color: #818182; }

.list-group-item-dark {
  color: #1b1e21;
  background-color: #c6c8ca; }
  .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
    color: #1b1e21;
    background-color: #b9bbbe; }
  .list-group-item-dark.list-group-item-action.active {
    color: #fff;
    background-color: #1b1e21;
    border-color: #1b1e21; }

.list-group-item-gray {
  color: #1b1b1b;
  background-color: #c6c6c6; }
  .list-group-item-gray.list-group-item-action:hover, .list-group-item-gray.list-group-item-action:focus {
    color: #1b1b1b;
    background-color: #b9b9b9; }
  .list-group-item-gray.list-group-item-action.active {
    color: #fff;
    background-color: #1b1b1b;
    border-color: #1b1b1b; }

.list-group-item-red {
  color: #701d20;
  background-color: #f4c7c9; }
  .list-group-item-red.list-group-item-action:hover, .list-group-item-red.list-group-item-action:focus {
    color: #701d20;
    background-color: #f0b2b4; }
  .list-group-item-red.list-group-item-action.active {
    color: #fff;
    background-color: #701d20;
    border-color: #701d20; }

.list-group-item-green {
  color: #235c2a;
  background-color: #cbe9ce; }
  .list-group-item-green.list-group-item-action:hover, .list-group-item-green.list-group-item-action:focus {
    color: #235c2a;
    background-color: #b9e1bd; }
  .list-group-item-green.list-group-item-action.active {
    color: #fff;
    background-color: #235c2a;
    border-color: #235c2a; }

.list-group-item-yellow {
  color: #7f5612;
  background-color: #fce6c1; }
  .list-group-item-yellow.list-group-item-action:hover, .list-group-item-yellow.list-group-item-action:focus {
    color: #7f5612;
    background-color: #fbdca9; }
  .list-group-item-yellow.list-group-item-action.active {
    color: #fff;
    background-color: #7f5612;
    border-color: #7f5612; }

.close {
  float: right;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: .5; }
  .close:hover {
    color: #000;
    text-decoration: none; }
  .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {
    opacity: .75; }

button.close {
  padding: 0;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

a.close.disabled {
  pointer-events: none; }

.modal-open {
  overflow: hidden; }
  .modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0; }

.modal-dialog {
  position: relative;
  width: auto;
  margin: 0;
  pointer-events: none; }
  .modal.fade .modal-dialog {
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
    -webkit-transform: translate(0, -50px);
            transform: translate(0, -50px); }
    @media (prefers-reduced-motion: reduce) {
      .modal.fade .modal-dialog {
        -webkit-transition: none;
        transition: none; } }
  .modal.show .modal-dialog {
    -webkit-transform: none;
            transform: none; }

.modal-dialog-scrollable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-height: calc(100% - 0); }
  .modal-dialog-scrollable .modal-content {
    max-height: calc(100vh - 0);
    overflow: hidden; }
  .modal-dialog-scrollable .modal-header,
  .modal-dialog-scrollable .modal-footer {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .modal-dialog-scrollable .modal-body {
    overflow-y: auto; }

.modal-dialog-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: calc(100% - 0); }
  .modal-dialog-centered::before {
    display: block;
    height: calc(100vh - 0);
    content: ""; }
  .modal-dialog-centered.modal-dialog-scrollable {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 100%; }
    .modal-dialog-centered.modal-dialog-scrollable .modal-content {
      max-height: none; }
    .modal-dialog-centered.modal-dialog-scrollable::before {
      content: none; }

.modal-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #000;
  background-clip: padding-box;
  border: 0 solid rgba(0, 0, 0, 0.2);
  border-radius: 0;
  outline: 0; }

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000; }
  .modal-backdrop.fade {
    opacity: 0; }
  .modal-backdrop.show {
    opacity: 0.8; }

.modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 0 solid #dee2e6;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }
  .modal-header .close {
    padding: 1rem 0;
    margin: -1rem -1rem -1rem auto; }

.modal-title {
  margin-bottom: 0;
  line-height: 1.2; }

.modal-body {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 1rem 0; }

.modal-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 1rem 0;
  border-top: 0 solid #dee2e6;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }
  .modal-footer > :not(:first-child) {
    margin-left: .25rem; }
  .modal-footer > :not(:last-child) {
    margin-right: .25rem; }

.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll; }

@media (min-width: 576px) {
  .modal-dialog {
    max-width: none;
    margin: 0 auto; }
  .modal-dialog-scrollable {
    max-height: calc(100% - 0); }
    .modal-dialog-scrollable .modal-content {
      max-height: calc(100vh - 0); }
  .modal-dialog-centered {
    min-height: calc(100% - 0); }
    .modal-dialog-centered::before {
      height: calc(100vh - 0); }
  .modal-sm {
    max-width: 48rem; } }

@media (min-width: 1024px) {
  .modal-lg,
  .modal-xl {
    max-width: 67.6rem; } }

@media (min-width: 1200px) {
  .modal-xl {
    max-width: 1140px; } }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: Klein, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  opacity: 0; }
  .tooltip.show {
    opacity: 1; }
  .tooltip .arrow {
    position: absolute;
    display: block;
    width: 0.8rem;
    height: 0.4rem; }
    .tooltip .arrow::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] {
  padding: 0.4rem 0; }
  .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow {
    bottom: 0; }
    .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before {
      top: 0;
      border-width: 0.4rem 0.4rem 0;
      border-top-color: #000; }

.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] {
  padding: 0 0.4rem; }
  .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow {
    left: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before {
      right: 0;
      border-width: 0.4rem 0.4rem 0.4rem 0;
      border-right-color: #000; }

.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] {
  padding: 0.4rem 0; }
  .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow {
    top: 0; }
    .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
      bottom: 0;
      border-width: 0 0.4rem 0.4rem;
      border-bottom-color: #000; }

.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] {
  padding: 0 0.4rem; }
  .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow {
    right: 0;
    width: 0.4rem;
    height: 0.8rem; }
    .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before {
      left: 0;
      border-width: 0.4rem 0 0.4rem 0.4rem;
      border-left-color: #000; }

.tooltip-inner {
  max-width: 26rem;
  padding: 1.3rem 1.3rem;
  color: #000;
  text-align: center;
  background-color: #fff;
  border-radius: 0.3rem; }

.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: block;
  max-width: 276px;
  font-family: Klein, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  white-space: normal;
  line-break: auto;
  font-size: 0.875rem;
  word-wrap: break-word;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.3rem; }
  .popover .arrow {
    position: absolute;
    display: block;
    width: 1rem;
    height: 0.5rem;
    margin: 0 0.3rem; }
    .popover .arrow::before, .popover .arrow::after {
      position: absolute;
      display: block;
      content: "";
      border-color: transparent;
      border-style: solid; }

.bs-popover-top, .bs-popover-auto[x-placement^="top"] {
  margin-bottom: 0.5rem; }
  .bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow {
    bottom: calc((0.5rem + 1px) * -1); }
    .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before {
      bottom: 0;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after {
      bottom: 1px;
      border-width: 0.5rem 0.5rem 0;
      border-top-color: #fff; }

.bs-popover-right, .bs-popover-auto[x-placement^="right"] {
  margin-left: 0.5rem; }
  .bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow {
    left: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before {
      left: 0;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after {
      left: 1px;
      border-width: 0.5rem 0.5rem 0.5rem 0;
      border-right-color: #fff; }

.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] {
  margin-top: 0.5rem; }
  .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow {
    top: calc((0.5rem + 1px) * -1); }
    .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before {
      top: 0;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after {
      top: 1px;
      border-width: 0 0.5rem 0.5rem 0.5rem;
      border-bottom-color: #fff; }
  .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 1rem;
    margin-left: -0.5rem;
    content: "";
    border-bottom: 1px solid #f7f7f7; }

.bs-popover-left, .bs-popover-auto[x-placement^="left"] {
  margin-right: 0.5rem; }
  .bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow {
    right: calc((0.5rem + 1px) * -1);
    width: 0.5rem;
    height: 1rem;
    margin: 0.3rem 0; }
    .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before {
      right: 0;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: rgba(0, 0, 0, 0.25); }
    .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after {
      right: 1px;
      border-width: 0.5rem 0 0.5rem 0.5rem;
      border-left-color: #fff; }

.popover-header {
  padding: 0.5rem 0.75rem;
  margin-bottom: 0;
  font-size: 1.4rem;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-top-left-radius: calc(0.3rem - 1px);
  border-top-right-radius: calc(0.3rem - 1px); }
  .popover-header:empty {
    display: none; }

.popover-body {
  padding: 0.5rem 0.75rem;
  color: #212529; }

.carousel {
  position: relative; }

.carousel.pointer-event {
  -ms-touch-action: pan-y;
      touch-action: pan-y; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner::after {
    display: block;
    clear: both;
    content: ""; }

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-transition: -webkit-transform 0.6s ease-in-out;
  transition: -webkit-transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out;
  transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-item {
      -webkit-transition: none;
      transition: none; } }

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block; }

.carousel-item-next:not(.carousel-item-left),
.active.carousel-item-right {
  -webkit-transform: translateX(100%);
          transform: translateX(100%); }

.carousel-item-prev:not(.carousel-item-right),
.active.carousel-item-left {
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%); }

.carousel-fade .carousel-item {
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transform: none;
          transform: none; }

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
  z-index: 1;
  opacity: 1; }

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
  z-index: 0;
  opacity: 0;
  -webkit-transition: 0s 0.6s opacity;
  transition: 0s 0.6s opacity; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-fade .active.carousel-item-left,
    .carousel-fade .active.carousel-item-right {
      -webkit-transition: none;
      transition: none; } }

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 15%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease; }
  @media (prefers-reduced-motion: reduce) {
    .carousel-control-prev,
    .carousel-control-next {
      -webkit-transition: none;
      transition: none; } }
  .carousel-control-prev:hover, .carousel-control-prev:focus,
  .carousel-control-next:hover,
  .carousel-control-next:focus {
    color: #fff;
    text-decoration: none;
    outline: 0;
    opacity: 0.9; }

.carousel-control-prev {
  left: 0; }

.carousel-control-next {
  right: 0; }

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background: no-repeat 50% / 100% 100%; }

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"); }

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"); }

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-left: 0;
  margin-right: 15%;
  margin-left: 15%;
  list-style: none; }
  .carousel-indicators li {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    text-indent: -999px;
    cursor: pointer;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    opacity: .5;
    -webkit-transition: opacity 0.6s ease;
    transition: opacity 0.6s ease; }
    @media (prefers-reduced-motion: reduce) {
      .carousel-indicators li {
        -webkit-transition: none;
        transition: none; } }
  .carousel-indicators .active {
    opacity: 1; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center; }

.align-baseline {
  vertical-align: baseline !important; }

.align-top {
  vertical-align: top !important; }

.align-middle {
  vertical-align: middle !important; }

.align-bottom {
  vertical-align: bottom !important; }

.align-text-bottom {
  vertical-align: text-bottom !important; }

.align-text-top {
  vertical-align: text-top !important; }

.bg-primary {
  background-color: #000 !important; }

a.bg-primary:hover, a.bg-primary:focus,
button.bg-primary:hover,
button.bg-primary:focus {
  background-color: black !important; }

.bg-secondary {
  background-color: #6c757d !important; }

a.bg-secondary:hover, a.bg-secondary:focus,
button.bg-secondary:hover,
button.bg-secondary:focus {
  background-color: #545b62 !important; }

.bg-success {
  background-color: #28a745 !important; }

a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
  background-color: #1e7e34 !important; }

.bg-info {
  background-color: #17a2b8 !important; }

a.bg-info:hover, a.bg-info:focus,
button.bg-info:hover,
button.bg-info:focus {
  background-color: #117a8b !important; }

.bg-warning {
  background-color: #ffc107 !important; }

a.bg-warning:hover, a.bg-warning:focus,
button.bg-warning:hover,
button.bg-warning:focus {
  background-color: #d39e00 !important; }

.bg-danger {
  background-color: #dc3545 !important; }

a.bg-danger:hover, a.bg-danger:focus,
button.bg-danger:hover,
button.bg-danger:focus {
  background-color: #bd2130 !important; }

.bg-light {
  background-color: #f8f9fa !important; }

a.bg-light:hover, a.bg-light:focus,
button.bg-light:hover,
button.bg-light:focus {
  background-color: #dae0e5 !important; }

.bg-dark {
  background-color: #343a40 !important; }

a.bg-dark:hover, a.bg-dark:focus,
button.bg-dark:hover,
button.bg-dark:focus {
  background-color: #1d2124 !important; }

.bg-gray {
  background-color: #333 !important; }

a.bg-gray:hover, a.bg-gray:focus,
button.bg-gray:hover,
button.bg-gray:focus {
  background-color: #1a1a1a !important; }

.bg-red {
  background-color: #d7373d !important; }

a.bg-red:hover, a.bg-red:focus,
button.bg-red:hover,
button.bg-red:focus {
  background-color: #b7252a !important; }

.bg-green {
  background-color: #44b151 !important; }

a.bg-green:hover, a.bg-green:focus,
button.bg-green:hover,
button.bg-green:focus {
  background-color: #368c40 !important; }

.bg-yellow {
  background-color: #f5a623 !important; }

a.bg-yellow:hover, a.bg-yellow:focus,
button.bg-yellow:hover,
button.bg-yellow:focus {
  background-color: #db8c0a !important; }

.bg-white {
  background-color: #fff !important; }

.bg-transparent {
  background-color: transparent !important; }

.border {
  border: 1px solid #dee2e6 !important; }

.border-top {
  border-top: 1px solid #dee2e6 !important; }

.border-right {
  border-right: 1px solid #dee2e6 !important; }

.border-bottom {
  border-bottom: 1px solid #dee2e6 !important; }

.border-left {
  border-left: 1px solid #dee2e6 !important; }

.border-0 {
  border: 0 !important; }

.border-top-0 {
  border-top: 0 !important; }

.border-right-0 {
  border-right: 0 !important; }

.border-bottom-0 {
  border-bottom: 0 !important; }

.border-left-0 {
  border-left: 0 !important; }

.border-primary {
  border-color: #000 !important; }

.border-secondary {
  border-color: #6c757d !important; }

.border-success {
  border-color: #28a745 !important; }

.border-info {
  border-color: #17a2b8 !important; }

.border-warning {
  border-color: #ffc107 !important; }

.border-danger {
  border-color: #dc3545 !important; }

.border-light {
  border-color: #f8f9fa !important; }

.border-dark {
  border-color: #343a40 !important; }

.border-gray {
  border-color: #333 !important; }

.border-red {
  border-color: #d7373d !important; }

.border-green {
  border-color: #44b151 !important; }

.border-yellow {
  border-color: #f5a623 !important; }

.border-white {
  border-color: #fff !important; }

.rounded-sm {
  border-radius: 0.2rem !important; }

.rounded {
  border-radius: 0.25rem !important; }

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important; }

.rounded-right {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important; }

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-left {
  border-top-left-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important; }

.rounded-lg {
  border-radius: 0.3rem !important; }

.rounded-circle {
  border-radius: 50% !important; }

.rounded-pill {
  border-radius: 50rem !important; }

.rounded-0 {
  border-radius: 0 !important; }

.clearfix::after {
  display: block;
  clear: both;
  content: ""; }

.d-none {
  display: none !important; }

.d-inline {
  display: inline !important; }

.d-inline-block {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-table {
  display: table !important; }

.d-table-row {
  display: table-row !important; }

.d-table-cell {
  display: table-cell !important; }

.d-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

.d-inline-flex {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important; }

@media (min-width: 375px) {
  .d-xs-none {
    display: none !important; }
  .d-xs-inline {
    display: inline !important; }
  .d-xs-inline-block {
    display: inline-block !important; }
  .d-xs-block {
    display: block !important; }
  .d-xs-table {
    display: table !important; }
  .d-xs-table-row {
    display: table-row !important; }
  .d-xs-table-cell {
    display: table-cell !important; }
  .d-xs-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-xs-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important; }
  .d-sm-inline {
    display: inline !important; }
  .d-sm-inline-block {
    display: inline-block !important; }
  .d-sm-block {
    display: block !important; }
  .d-sm-table {
    display: table !important; }
  .d-sm-table-row {
    display: table-row !important; }
  .d-sm-table-cell {
    display: table-cell !important; }
  .d-sm-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 768px) {
  .d-md-none {
    display: none !important; }
  .d-md-inline {
    display: inline !important; }
  .d-md-inline-block {
    display: inline-block !important; }
  .d-md-block {
    display: block !important; }
  .d-md-table {
    display: table !important; }
  .d-md-table-row {
    display: table-row !important; }
  .d-md-table-cell {
    display: table-cell !important; }
  .d-md-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-md-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 1024px) {
  .d-lg-none {
    display: none !important; }
  .d-lg-inline {
    display: inline !important; }
  .d-lg-inline-block {
    display: inline-block !important; }
  .d-lg-block {
    display: block !important; }
  .d-lg-table {
    display: table !important; }
  .d-lg-table-row {
    display: table-row !important; }
  .d-lg-table-cell {
    display: table-cell !important; }
  .d-lg-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important; }
  .d-xl-inline {
    display: inline !important; }
  .d-xl-inline-block {
    display: inline-block !important; }
  .d-xl-block {
    display: block !important; }
  .d-xl-table {
    display: table !important; }
  .d-xl-table-row {
    display: table-row !important; }
  .d-xl-table-cell {
    display: table-cell !important; }
  .d-xl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 1440px) {
  .d-xxl-none {
    display: none !important; }
  .d-xxl-inline {
    display: inline !important; }
  .d-xxl-inline-block {
    display: inline-block !important; }
  .d-xxl-block {
    display: block !important; }
  .d-xxl-table {
    display: table !important; }
  .d-xxl-table-row {
    display: table-row !important; }
  .d-xxl-table-cell {
    display: table-cell !important; }
  .d-xxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-xxl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media (min-width: 1920px) {
  .d-xxxl-none {
    display: none !important; }
  .d-xxxl-inline {
    display: inline !important; }
  .d-xxxl-inline-block {
    display: inline-block !important; }
  .d-xxxl-block {
    display: block !important; }
  .d-xxxl-table {
    display: table !important; }
  .d-xxxl-table-row {
    display: table-row !important; }
  .d-xxxl-table-cell {
    display: table-cell !important; }
  .d-xxxl-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-xxxl-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

@media print {
  .d-print-none {
    display: none !important; }
  .d-print-inline {
    display: inline !important; }
  .d-print-inline-block {
    display: inline-block !important; }
  .d-print-block {
    display: block !important; }
  .d-print-table {
    display: table !important; }
  .d-print-table-row {
    display: table-row !important; }
  .d-print-table-cell {
    display: table-cell !important; }
  .d-print-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important; }
  .d-print-inline-flex {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; } }

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .embed-responsive::before {
    display: block;
    content: ""; }
  .embed-responsive .embed-responsive-item,
  .embed-responsive iframe,
  .embed-responsive embed,
  .embed-responsive object,
  .embed-responsive video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.embed-responsive-21by9::before {
  padding-top: 42.85714%; }

.embed-responsive-16by9::before {
  padding-top: 56.25%; }

.embed-responsive-4by3::before {
  padding-top: 75%; }

.embed-responsive-1by1::before {
  padding-top: 100%; }

.flex-row {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important; }

.flex-column {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: column !important;
          flex-direction: column !important; }

.flex-row-reverse {
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }

.flex-column-reverse {
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: reverse !important;
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; }

.flex-wrap {
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important; }

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
      flex-wrap: nowrap !important; }

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
      flex-wrap: wrap-reverse !important; }

.flex-fill {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 auto !important;
          flex: 1 1 auto !important; }

.flex-grow-0 {
  -webkit-box-flex: 0 !important;
      -ms-flex-positive: 0 !important;
          flex-grow: 0 !important; }

.flex-grow-1 {
  -webkit-box-flex: 1 !important;
      -ms-flex-positive: 1 !important;
          flex-grow: 1 !important; }

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
      flex-shrink: 0 !important; }

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
      flex-shrink: 1 !important; }

.justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }

.justify-content-end {
  -webkit-box-pack: end !important;
      -ms-flex-pack: end !important;
          justify-content: flex-end !important; }

.justify-content-center {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important; }

.justify-content-between {
  -webkit-box-pack: justify !important;
      -ms-flex-pack: justify !important;
          justify-content: space-between !important; }

.justify-content-around {
  -ms-flex-pack: distribute !important;
      justify-content: space-around !important; }

.align-items-start {
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important; }

.align-items-end {
  -webkit-box-align: end !important;
      -ms-flex-align: end !important;
          align-items: flex-end !important; }

.align-items-center {
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important; }

.align-items-baseline {
  -webkit-box-align: baseline !important;
      -ms-flex-align: baseline !important;
          align-items: baseline !important; }

.align-items-stretch {
  -webkit-box-align: stretch !important;
      -ms-flex-align: stretch !important;
          align-items: stretch !important; }

.align-content-start {
  -ms-flex-line-pack: start !important;
      align-content: flex-start !important; }

.align-content-end {
  -ms-flex-line-pack: end !important;
      align-content: flex-end !important; }

.align-content-center {
  -ms-flex-line-pack: center !important;
      align-content: center !important; }

.align-content-between {
  -ms-flex-line-pack: justify !important;
      align-content: space-between !important; }

.align-content-around {
  -ms-flex-line-pack: distribute !important;
      align-content: space-around !important; }

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
      align-content: stretch !important; }

.align-self-auto {
  -ms-flex-item-align: auto !important;
      -ms-grid-row-align: auto !important;
      align-self: auto !important; }

.align-self-start {
  -ms-flex-item-align: start !important;
      align-self: flex-start !important; }

.align-self-end {
  -ms-flex-item-align: end !important;
      align-self: flex-end !important; }

.align-self-center {
  -ms-flex-item-align: center !important;
      -ms-grid-row-align: center !important;
      align-self: center !important; }

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
      align-self: baseline !important; }

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
      -ms-grid-row-align: stretch !important;
      align-self: stretch !important; }

@media (min-width: 375px) {
  .flex-xs-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-xs-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-xs-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-xs-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-xs-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-xs-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-xs-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-xs-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-xs-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-xs-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-xs-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-xs-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-xs-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-xs-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-xs-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-xs-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-xs-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-xs-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-xs-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-xs-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-xs-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-xs-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-xs-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-xs-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-xs-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-xs-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-xs-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-xs-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-xs-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-xs-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-xs-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-xs-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-xs-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-xs-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 576px) {
  .flex-sm-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-sm-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-sm-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-sm-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-sm-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-sm-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-sm-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-sm-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-sm-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-sm-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-sm-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-sm-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-sm-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-sm-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-sm-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-sm-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-sm-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-sm-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-sm-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 768px) {
  .flex-md-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-md-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-md-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-md-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-md-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-md-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-md-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-md-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-md-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-md-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-md-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-md-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-md-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-md-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-md-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-md-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-md-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-md-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-md-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-md-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-md-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-md-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 1024px) {
  .flex-lg-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-lg-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-lg-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-lg-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-lg-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-lg-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-lg-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-lg-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-lg-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-lg-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-lg-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-lg-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-lg-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-lg-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-lg-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-lg-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-lg-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-lg-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-lg-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 1200px) {
  .flex-xl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-xl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-xl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-xl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-xl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-xl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-xl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-xl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-xl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-xl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-xl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-xl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-xl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-xl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-xl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-xl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-xl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-xl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-xl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 1440px) {
  .flex-xxl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-xxl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-xxl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-xxl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-xxl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-xxl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-xxl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-xxl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-xxl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-xxl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-xxl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-xxl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-xxl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-xxl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-xxl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-xxl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-xxl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-xxl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-xxl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-xxl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-xxl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-xxl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-xxl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-xxl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-xxl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-xxl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-xxl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-xxl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-xxl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-xxl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-xxl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-xxl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-xxl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-xxl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

@media (min-width: 1920px) {
  .flex-xxxl-row {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: row !important;
            flex-direction: row !important; }
  .flex-xxxl-column {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important; }
  .flex-xxxl-row-reverse {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: row-reverse !important;
            flex-direction: row-reverse !important; }
  .flex-xxxl-column-reverse {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important; }
  .flex-xxxl-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .flex-xxxl-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .flex-xxxl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .flex-xxxl-fill {
    -webkit-box-flex: 1 !important;
        -ms-flex: 1 1 auto !important;
            flex: 1 1 auto !important; }
  .flex-xxxl-grow-0 {
    -webkit-box-flex: 0 !important;
        -ms-flex-positive: 0 !important;
            flex-grow: 0 !important; }
  .flex-xxxl-grow-1 {
    -webkit-box-flex: 1 !important;
        -ms-flex-positive: 1 !important;
            flex-grow: 1 !important; }
  .flex-xxxl-shrink-0 {
    -ms-flex-negative: 0 !important;
        flex-shrink: 0 !important; }
  .flex-xxxl-shrink-1 {
    -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important; }
  .justify-content-xxxl-start {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .justify-content-xxxl-end {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .justify-content-xxxl-center {
    -webkit-box-pack: center !important;
        -ms-flex-pack: center !important;
            justify-content: center !important; }
  .justify-content-xxxl-between {
    -webkit-box-pack: justify !important;
        -ms-flex-pack: justify !important;
            justify-content: space-between !important; }
  .justify-content-xxxl-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .align-items-xxxl-start {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important; }
  .align-items-xxxl-end {
    -webkit-box-align: end !important;
        -ms-flex-align: end !important;
            align-items: flex-end !important; }
  .align-items-xxxl-center {
    -webkit-box-align: center !important;
        -ms-flex-align: center !important;
            align-items: center !important; }
  .align-items-xxxl-baseline {
    -webkit-box-align: baseline !important;
        -ms-flex-align: baseline !important;
            align-items: baseline !important; }
  .align-items-xxxl-stretch {
    -webkit-box-align: stretch !important;
        -ms-flex-align: stretch !important;
            align-items: stretch !important; }
  .align-content-xxxl-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .align-content-xxxl-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .align-content-xxxl-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .align-content-xxxl-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .align-content-xxxl-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .align-content-xxxl-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .align-self-xxxl-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .align-self-xxxl-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .align-self-xxxl-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .align-self-xxxl-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .align-self-xxxl-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .align-self-xxxl-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-none {
  float: none !important; }

@media (min-width: 375px) {
  .float-xs-left {
    float: left !important; }
  .float-xs-right {
    float: right !important; }
  .float-xs-none {
    float: none !important; } }

@media (min-width: 576px) {
  .float-sm-left {
    float: left !important; }
  .float-sm-right {
    float: right !important; }
  .float-sm-none {
    float: none !important; } }

@media (min-width: 768px) {
  .float-md-left {
    float: left !important; }
  .float-md-right {
    float: right !important; }
  .float-md-none {
    float: none !important; } }

@media (min-width: 1024px) {
  .float-lg-left {
    float: left !important; }
  .float-lg-right {
    float: right !important; }
  .float-lg-none {
    float: none !important; } }

@media (min-width: 1200px) {
  .float-xl-left {
    float: left !important; }
  .float-xl-right {
    float: right !important; }
  .float-xl-none {
    float: none !important; } }

@media (min-width: 1440px) {
  .float-xxl-left {
    float: left !important; }
  .float-xxl-right {
    float: right !important; }
  .float-xxl-none {
    float: none !important; } }

@media (min-width: 1920px) {
  .float-xxxl-left {
    float: left !important; }
  .float-xxxl-right {
    float: right !important; }
  .float-xxxl-none {
    float: none !important; } }

.overflow-auto {
  overflow: auto !important; }

.overflow-hidden {
  overflow: hidden !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-sticky {
  position: sticky !important; }

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030; }

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030; }

@supports (position: sticky) {
  .sticky-top {
    position: sticky;
    top: 0;
    z-index: 1020; } }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal; }

.shadow-sm {
  -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
          box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }

.shadow {
  -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
          box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }

.shadow-lg {
  -webkit-box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
          box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }

.shadow-none {
  -webkit-box-shadow: none !important;
          box-shadow: none !important; }

.w-25 {
  width: 25% !important; }

.w-50 {
  width: 50% !important; }

.w-75 {
  width: 75% !important; }

.w-100 {
  width: 100% !important; }

.w-auto {
  width: auto !important; }

.h-25 {
  height: 25% !important; }

.h-50 {
  height: 50% !important; }

.h-75 {
  height: 75% !important; }

.h-100 {
  height: 100% !important; }

.h-auto {
  height: auto !important; }

.mw-100 {
  max-width: 100% !important; }

.mh-100 {
  max-height: 100% !important; }

.min-vw-100 {
  min-width: 100vw !important; }

.min-vh-100 {
  min-height: 100vh !important; }

.vw-100 {
  width: 100vw !important; }

.vh-100 {
  height: 100vh !important; }

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: rgba(0, 0, 0, 0); }

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-1 {
  margin: 0.25rem !important; }

.mt-1,
.my-1 {
  margin-top: 0.25rem !important; }

.mr-1,
.mx-1 {
  margin-right: 0.25rem !important; }

.mb-1,
.my-1 {
  margin-bottom: 0.25rem !important; }

.ml-1,
.mx-1 {
  margin-left: 0.25rem !important; }

.m-2 {
  margin: 2rem !important; }

.mt-2,
.my-2 {
  margin-top: 2rem !important; }

.mr-2,
.mx-2 {
  margin-right: 2rem !important; }

.mb-2,
.my-2 {
  margin-bottom: 2rem !important; }

.ml-2,
.mx-2 {
  margin-left: 2rem !important; }

.m-3 {
  margin: 1rem !important; }

.mt-3,
.my-3 {
  margin-top: 1rem !important; }

.mr-3,
.mx-3 {
  margin-right: 1rem !important; }

.mb-3,
.my-3 {
  margin-bottom: 1rem !important; }

.ml-3,
.mx-3 {
  margin-left: 1rem !important; }

.m-4 {
  margin: 4rem !important; }

.mt-4,
.my-4 {
  margin-top: 4rem !important; }

.mr-4,
.mx-4 {
  margin-right: 4rem !important; }

.mb-4,
.my-4 {
  margin-bottom: 4rem !important; }

.ml-4,
.mx-4 {
  margin-left: 4rem !important; }

.m-5 {
  margin: 3rem !important; }

.mt-5,
.my-5 {
  margin-top: 3rem !important; }

.mr-5,
.mx-5 {
  margin-right: 3rem !important; }

.mb-5,
.my-5 {
  margin-bottom: 3rem !important; }

.ml-5,
.mx-5 {
  margin-left: 3rem !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

.pr-0,
.px-0 {
  padding-right: 0 !important; }

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

.pl-0,
.px-0 {
  padding-left: 0 !important; }

.p-1 {
  padding: 0.25rem !important; }

.pt-1,
.py-1 {
  padding-top: 0.25rem !important; }

.pr-1,
.px-1 {
  padding-right: 0.25rem !important; }

.pb-1,
.py-1 {
  padding-bottom: 0.25rem !important; }

.pl-1,
.px-1 {
  padding-left: 0.25rem !important; }

.p-2 {
  padding: 2rem !important; }

.pt-2,
.py-2 {
  padding-top: 2rem !important; }

.pr-2,
.px-2 {
  padding-right: 2rem !important; }

.pb-2,
.py-2 {
  padding-bottom: 2rem !important; }

.pl-2,
.px-2 {
  padding-left: 2rem !important; }

.p-3 {
  padding: 1rem !important; }

.pt-3,
.py-3 {
  padding-top: 1rem !important; }

.pr-3,
.px-3 {
  padding-right: 1rem !important; }

.pb-3,
.py-3 {
  padding-bottom: 1rem !important; }

.pl-3,
.px-3 {
  padding-left: 1rem !important; }

.p-4 {
  padding: 4rem !important; }

.pt-4,
.py-4 {
  padding-top: 4rem !important; }

.pr-4,
.px-4 {
  padding-right: 4rem !important; }

.pb-4,
.py-4 {
  padding-bottom: 4rem !important; }

.pl-4,
.px-4 {
  padding-left: 4rem !important; }

.p-5 {
  padding: 3rem !important; }

.pt-5,
.py-5 {
  padding-top: 3rem !important; }

.pr-5,
.px-5 {
  padding-right: 3rem !important; }

.pb-5,
.py-5 {
  padding-bottom: 3rem !important; }

.pl-5,
.px-5 {
  padding-left: 3rem !important; }

.m-n1 {
  margin: -0.25rem !important; }

.mt-n1,
.my-n1 {
  margin-top: -0.25rem !important; }

.mr-n1,
.mx-n1 {
  margin-right: -0.25rem !important; }

.mb-n1,
.my-n1 {
  margin-bottom: -0.25rem !important; }

.ml-n1,
.mx-n1 {
  margin-left: -0.25rem !important; }

.m-n2 {
  margin: -2rem !important; }

.mt-n2,
.my-n2 {
  margin-top: -2rem !important; }

.mr-n2,
.mx-n2 {
  margin-right: -2rem !important; }

.mb-n2,
.my-n2 {
  margin-bottom: -2rem !important; }

.ml-n2,
.mx-n2 {
  margin-left: -2rem !important; }

.m-n3 {
  margin: -1rem !important; }

.mt-n3,
.my-n3 {
  margin-top: -1rem !important; }

.mr-n3,
.mx-n3 {
  margin-right: -1rem !important; }

.mb-n3,
.my-n3 {
  margin-bottom: -1rem !important; }

.ml-n3,
.mx-n3 {
  margin-left: -1rem !important; }

.m-n4 {
  margin: -4rem !important; }

.mt-n4,
.my-n4 {
  margin-top: -4rem !important; }

.mr-n4,
.mx-n4 {
  margin-right: -4rem !important; }

.mb-n4,
.my-n4 {
  margin-bottom: -4rem !important; }

.ml-n4,
.mx-n4 {
  margin-left: -4rem !important; }

.m-n5 {
  margin: -3rem !important; }

.mt-n5,
.my-n5 {
  margin-top: -3rem !important; }

.mr-n5,
.mx-n5 {
  margin-right: -3rem !important; }

.mb-n5,
.my-n5 {
  margin-bottom: -3rem !important; }

.ml-n5,
.mx-n5 {
  margin-left: -3rem !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

@media (min-width: 375px) {
  .m-xs-0 {
    margin: 0 !important; }
  .mt-xs-0,
  .my-xs-0 {
    margin-top: 0 !important; }
  .mr-xs-0,
  .mx-xs-0 {
    margin-right: 0 !important; }
  .mb-xs-0,
  .my-xs-0 {
    margin-bottom: 0 !important; }
  .ml-xs-0,
  .mx-xs-0 {
    margin-left: 0 !important; }
  .m-xs-1 {
    margin: 0.25rem !important; }
  .mt-xs-1,
  .my-xs-1 {
    margin-top: 0.25rem !important; }
  .mr-xs-1,
  .mx-xs-1 {
    margin-right: 0.25rem !important; }
  .mb-xs-1,
  .my-xs-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xs-1,
  .mx-xs-1 {
    margin-left: 0.25rem !important; }
  .m-xs-2 {
    margin: 2rem !important; }
  .mt-xs-2,
  .my-xs-2 {
    margin-top: 2rem !important; }
  .mr-xs-2,
  .mx-xs-2 {
    margin-right: 2rem !important; }
  .mb-xs-2,
  .my-xs-2 {
    margin-bottom: 2rem !important; }
  .ml-xs-2,
  .mx-xs-2 {
    margin-left: 2rem !important; }
  .m-xs-3 {
    margin: 1rem !important; }
  .mt-xs-3,
  .my-xs-3 {
    margin-top: 1rem !important; }
  .mr-xs-3,
  .mx-xs-3 {
    margin-right: 1rem !important; }
  .mb-xs-3,
  .my-xs-3 {
    margin-bottom: 1rem !important; }
  .ml-xs-3,
  .mx-xs-3 {
    margin-left: 1rem !important; }
  .m-xs-4 {
    margin: 4rem !important; }
  .mt-xs-4,
  .my-xs-4 {
    margin-top: 4rem !important; }
  .mr-xs-4,
  .mx-xs-4 {
    margin-right: 4rem !important; }
  .mb-xs-4,
  .my-xs-4 {
    margin-bottom: 4rem !important; }
  .ml-xs-4,
  .mx-xs-4 {
    margin-left: 4rem !important; }
  .m-xs-5 {
    margin: 3rem !important; }
  .mt-xs-5,
  .my-xs-5 {
    margin-top: 3rem !important; }
  .mr-xs-5,
  .mx-xs-5 {
    margin-right: 3rem !important; }
  .mb-xs-5,
  .my-xs-5 {
    margin-bottom: 3rem !important; }
  .ml-xs-5,
  .mx-xs-5 {
    margin-left: 3rem !important; }
  .p-xs-0 {
    padding: 0 !important; }
  .pt-xs-0,
  .py-xs-0 {
    padding-top: 0 !important; }
  .pr-xs-0,
  .px-xs-0 {
    padding-right: 0 !important; }
  .pb-xs-0,
  .py-xs-0 {
    padding-bottom: 0 !important; }
  .pl-xs-0,
  .px-xs-0 {
    padding-left: 0 !important; }
  .p-xs-1 {
    padding: 0.25rem !important; }
  .pt-xs-1,
  .py-xs-1 {
    padding-top: 0.25rem !important; }
  .pr-xs-1,
  .px-xs-1 {
    padding-right: 0.25rem !important; }
  .pb-xs-1,
  .py-xs-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xs-1,
  .px-xs-1 {
    padding-left: 0.25rem !important; }
  .p-xs-2 {
    padding: 2rem !important; }
  .pt-xs-2,
  .py-xs-2 {
    padding-top: 2rem !important; }
  .pr-xs-2,
  .px-xs-2 {
    padding-right: 2rem !important; }
  .pb-xs-2,
  .py-xs-2 {
    padding-bottom: 2rem !important; }
  .pl-xs-2,
  .px-xs-2 {
    padding-left: 2rem !important; }
  .p-xs-3 {
    padding: 1rem !important; }
  .pt-xs-3,
  .py-xs-3 {
    padding-top: 1rem !important; }
  .pr-xs-3,
  .px-xs-3 {
    padding-right: 1rem !important; }
  .pb-xs-3,
  .py-xs-3 {
    padding-bottom: 1rem !important; }
  .pl-xs-3,
  .px-xs-3 {
    padding-left: 1rem !important; }
  .p-xs-4 {
    padding: 4rem !important; }
  .pt-xs-4,
  .py-xs-4 {
    padding-top: 4rem !important; }
  .pr-xs-4,
  .px-xs-4 {
    padding-right: 4rem !important; }
  .pb-xs-4,
  .py-xs-4 {
    padding-bottom: 4rem !important; }
  .pl-xs-4,
  .px-xs-4 {
    padding-left: 4rem !important; }
  .p-xs-5 {
    padding: 3rem !important; }
  .pt-xs-5,
  .py-xs-5 {
    padding-top: 3rem !important; }
  .pr-xs-5,
  .px-xs-5 {
    padding-right: 3rem !important; }
  .pb-xs-5,
  .py-xs-5 {
    padding-bottom: 3rem !important; }
  .pl-xs-5,
  .px-xs-5 {
    padding-left: 3rem !important; }
  .m-xs-n1 {
    margin: -0.25rem !important; }
  .mt-xs-n1,
  .my-xs-n1 {
    margin-top: -0.25rem !important; }
  .mr-xs-n1,
  .mx-xs-n1 {
    margin-right: -0.25rem !important; }
  .mb-xs-n1,
  .my-xs-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xs-n1,
  .mx-xs-n1 {
    margin-left: -0.25rem !important; }
  .m-xs-n2 {
    margin: -2rem !important; }
  .mt-xs-n2,
  .my-xs-n2 {
    margin-top: -2rem !important; }
  .mr-xs-n2,
  .mx-xs-n2 {
    margin-right: -2rem !important; }
  .mb-xs-n2,
  .my-xs-n2 {
    margin-bottom: -2rem !important; }
  .ml-xs-n2,
  .mx-xs-n2 {
    margin-left: -2rem !important; }
  .m-xs-n3 {
    margin: -1rem !important; }
  .mt-xs-n3,
  .my-xs-n3 {
    margin-top: -1rem !important; }
  .mr-xs-n3,
  .mx-xs-n3 {
    margin-right: -1rem !important; }
  .mb-xs-n3,
  .my-xs-n3 {
    margin-bottom: -1rem !important; }
  .ml-xs-n3,
  .mx-xs-n3 {
    margin-left: -1rem !important; }
  .m-xs-n4 {
    margin: -4rem !important; }
  .mt-xs-n4,
  .my-xs-n4 {
    margin-top: -4rem !important; }
  .mr-xs-n4,
  .mx-xs-n4 {
    margin-right: -4rem !important; }
  .mb-xs-n4,
  .my-xs-n4 {
    margin-bottom: -4rem !important; }
  .ml-xs-n4,
  .mx-xs-n4 {
    margin-left: -4rem !important; }
  .m-xs-n5 {
    margin: -3rem !important; }
  .mt-xs-n5,
  .my-xs-n5 {
    margin-top: -3rem !important; }
  .mr-xs-n5,
  .mx-xs-n5 {
    margin-right: -3rem !important; }
  .mb-xs-n5,
  .my-xs-n5 {
    margin-bottom: -3rem !important; }
  .ml-xs-n5,
  .mx-xs-n5 {
    margin-left: -3rem !important; }
  .m-xs-auto {
    margin: auto !important; }
  .mt-xs-auto,
  .my-xs-auto {
    margin-top: auto !important; }
  .mr-xs-auto,
  .mx-xs-auto {
    margin-right: auto !important; }
  .mb-xs-auto,
  .my-xs-auto {
    margin-bottom: auto !important; }
  .ml-xs-auto,
  .mx-xs-auto {
    margin-left: auto !important; } }

@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important; }
  .mt-sm-0,
  .my-sm-0 {
    margin-top: 0 !important; }
  .mr-sm-0,
  .mx-sm-0 {
    margin-right: 0 !important; }
  .mb-sm-0,
  .my-sm-0 {
    margin-bottom: 0 !important; }
  .ml-sm-0,
  .mx-sm-0 {
    margin-left: 0 !important; }
  .m-sm-1 {
    margin: 0.25rem !important; }
  .mt-sm-1,
  .my-sm-1 {
    margin-top: 0.25rem !important; }
  .mr-sm-1,
  .mx-sm-1 {
    margin-right: 0.25rem !important; }
  .mb-sm-1,
  .my-sm-1 {
    margin-bottom: 0.25rem !important; }
  .ml-sm-1,
  .mx-sm-1 {
    margin-left: 0.25rem !important; }
  .m-sm-2 {
    margin: 2rem !important; }
  .mt-sm-2,
  .my-sm-2 {
    margin-top: 2rem !important; }
  .mr-sm-2,
  .mx-sm-2 {
    margin-right: 2rem !important; }
  .mb-sm-2,
  .my-sm-2 {
    margin-bottom: 2rem !important; }
  .ml-sm-2,
  .mx-sm-2 {
    margin-left: 2rem !important; }
  .m-sm-3 {
    margin: 1rem !important; }
  .mt-sm-3,
  .my-sm-3 {
    margin-top: 1rem !important; }
  .mr-sm-3,
  .mx-sm-3 {
    margin-right: 1rem !important; }
  .mb-sm-3,
  .my-sm-3 {
    margin-bottom: 1rem !important; }
  .ml-sm-3,
  .mx-sm-3 {
    margin-left: 1rem !important; }
  .m-sm-4 {
    margin: 4rem !important; }
  .mt-sm-4,
  .my-sm-4 {
    margin-top: 4rem !important; }
  .mr-sm-4,
  .mx-sm-4 {
    margin-right: 4rem !important; }
  .mb-sm-4,
  .my-sm-4 {
    margin-bottom: 4rem !important; }
  .ml-sm-4,
  .mx-sm-4 {
    margin-left: 4rem !important; }
  .m-sm-5 {
    margin: 3rem !important; }
  .mt-sm-5,
  .my-sm-5 {
    margin-top: 3rem !important; }
  .mr-sm-5,
  .mx-sm-5 {
    margin-right: 3rem !important; }
  .mb-sm-5,
  .my-sm-5 {
    margin-bottom: 3rem !important; }
  .ml-sm-5,
  .mx-sm-5 {
    margin-left: 3rem !important; }
  .p-sm-0 {
    padding: 0 !important; }
  .pt-sm-0,
  .py-sm-0 {
    padding-top: 0 !important; }
  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important; }
  .pb-sm-0,
  .py-sm-0 {
    padding-bottom: 0 !important; }
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0 !important; }
  .p-sm-1 {
    padding: 0.25rem !important; }
  .pt-sm-1,
  .py-sm-1 {
    padding-top: 0.25rem !important; }
  .pr-sm-1,
  .px-sm-1 {
    padding-right: 0.25rem !important; }
  .pb-sm-1,
  .py-sm-1 {
    padding-bottom: 0.25rem !important; }
  .pl-sm-1,
  .px-sm-1 {
    padding-left: 0.25rem !important; }
  .p-sm-2 {
    padding: 2rem !important; }
  .pt-sm-2,
  .py-sm-2 {
    padding-top: 2rem !important; }
  .pr-sm-2,
  .px-sm-2 {
    padding-right: 2rem !important; }
  .pb-sm-2,
  .py-sm-2 {
    padding-bottom: 2rem !important; }
  .pl-sm-2,
  .px-sm-2 {
    padding-left: 2rem !important; }
  .p-sm-3 {
    padding: 1rem !important; }
  .pt-sm-3,
  .py-sm-3 {
    padding-top: 1rem !important; }
  .pr-sm-3,
  .px-sm-3 {
    padding-right: 1rem !important; }
  .pb-sm-3,
  .py-sm-3 {
    padding-bottom: 1rem !important; }
  .pl-sm-3,
  .px-sm-3 {
    padding-left: 1rem !important; }
  .p-sm-4 {
    padding: 4rem !important; }
  .pt-sm-4,
  .py-sm-4 {
    padding-top: 4rem !important; }
  .pr-sm-4,
  .px-sm-4 {
    padding-right: 4rem !important; }
  .pb-sm-4,
  .py-sm-4 {
    padding-bottom: 4rem !important; }
  .pl-sm-4,
  .px-sm-4 {
    padding-left: 4rem !important; }
  .p-sm-5 {
    padding: 3rem !important; }
  .pt-sm-5,
  .py-sm-5 {
    padding-top: 3rem !important; }
  .pr-sm-5,
  .px-sm-5 {
    padding-right: 3rem !important; }
  .pb-sm-5,
  .py-sm-5 {
    padding-bottom: 3rem !important; }
  .pl-sm-5,
  .px-sm-5 {
    padding-left: 3rem !important; }
  .m-sm-n1 {
    margin: -0.25rem !important; }
  .mt-sm-n1,
  .my-sm-n1 {
    margin-top: -0.25rem !important; }
  .mr-sm-n1,
  .mx-sm-n1 {
    margin-right: -0.25rem !important; }
  .mb-sm-n1,
  .my-sm-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-sm-n1,
  .mx-sm-n1 {
    margin-left: -0.25rem !important; }
  .m-sm-n2 {
    margin: -2rem !important; }
  .mt-sm-n2,
  .my-sm-n2 {
    margin-top: -2rem !important; }
  .mr-sm-n2,
  .mx-sm-n2 {
    margin-right: -2rem !important; }
  .mb-sm-n2,
  .my-sm-n2 {
    margin-bottom: -2rem !important; }
  .ml-sm-n2,
  .mx-sm-n2 {
    margin-left: -2rem !important; }
  .m-sm-n3 {
    margin: -1rem !important; }
  .mt-sm-n3,
  .my-sm-n3 {
    margin-top: -1rem !important; }
  .mr-sm-n3,
  .mx-sm-n3 {
    margin-right: -1rem !important; }
  .mb-sm-n3,
  .my-sm-n3 {
    margin-bottom: -1rem !important; }
  .ml-sm-n3,
  .mx-sm-n3 {
    margin-left: -1rem !important; }
  .m-sm-n4 {
    margin: -4rem !important; }
  .mt-sm-n4,
  .my-sm-n4 {
    margin-top: -4rem !important; }
  .mr-sm-n4,
  .mx-sm-n4 {
    margin-right: -4rem !important; }
  .mb-sm-n4,
  .my-sm-n4 {
    margin-bottom: -4rem !important; }
  .ml-sm-n4,
  .mx-sm-n4 {
    margin-left: -4rem !important; }
  .m-sm-n5 {
    margin: -3rem !important; }
  .mt-sm-n5,
  .my-sm-n5 {
    margin-top: -3rem !important; }
  .mr-sm-n5,
  .mx-sm-n5 {
    margin-right: -3rem !important; }
  .mb-sm-n5,
  .my-sm-n5 {
    margin-bottom: -3rem !important; }
  .ml-sm-n5,
  .mx-sm-n5 {
    margin-left: -3rem !important; }
  .m-sm-auto {
    margin: auto !important; }
  .mt-sm-auto,
  .my-sm-auto {
    margin-top: auto !important; }
  .mr-sm-auto,
  .mx-sm-auto {
    margin-right: auto !important; }
  .mb-sm-auto,
  .my-sm-auto {
    margin-bottom: auto !important; }
  .ml-sm-auto,
  .mx-sm-auto {
    margin-left: auto !important; } }

@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important; }
  .mt-md-0,
  .my-md-0 {
    margin-top: 0 !important; }
  .mr-md-0,
  .mx-md-0 {
    margin-right: 0 !important; }
  .mb-md-0,
  .my-md-0 {
    margin-bottom: 0 !important; }
  .ml-md-0,
  .mx-md-0 {
    margin-left: 0 !important; }
  .m-md-1 {
    margin: 0.25rem !important; }
  .mt-md-1,
  .my-md-1 {
    margin-top: 0.25rem !important; }
  .mr-md-1,
  .mx-md-1 {
    margin-right: 0.25rem !important; }
  .mb-md-1,
  .my-md-1 {
    margin-bottom: 0.25rem !important; }
  .ml-md-1,
  .mx-md-1 {
    margin-left: 0.25rem !important; }
  .m-md-2 {
    margin: 2rem !important; }
  .mt-md-2,
  .my-md-2 {
    margin-top: 2rem !important; }
  .mr-md-2,
  .mx-md-2 {
    margin-right: 2rem !important; }
  .mb-md-2,
  .my-md-2 {
    margin-bottom: 2rem !important; }
  .ml-md-2,
  .mx-md-2 {
    margin-left: 2rem !important; }
  .m-md-3 {
    margin: 1rem !important; }
  .mt-md-3,
  .my-md-3 {
    margin-top: 1rem !important; }
  .mr-md-3,
  .mx-md-3 {
    margin-right: 1rem !important; }
  .mb-md-3,
  .my-md-3 {
    margin-bottom: 1rem !important; }
  .ml-md-3,
  .mx-md-3 {
    margin-left: 1rem !important; }
  .m-md-4 {
    margin: 4rem !important; }
  .mt-md-4,
  .my-md-4 {
    margin-top: 4rem !important; }
  .mr-md-4,
  .mx-md-4 {
    margin-right: 4rem !important; }
  .mb-md-4,
  .my-md-4 {
    margin-bottom: 4rem !important; }
  .ml-md-4,
  .mx-md-4 {
    margin-left: 4rem !important; }
  .m-md-5 {
    margin: 3rem !important; }
  .mt-md-5,
  .my-md-5 {
    margin-top: 3rem !important; }
  .mr-md-5,
  .mx-md-5 {
    margin-right: 3rem !important; }
  .mb-md-5,
  .my-md-5 {
    margin-bottom: 3rem !important; }
  .ml-md-5,
  .mx-md-5 {
    margin-left: 3rem !important; }
  .p-md-0 {
    padding: 0 !important; }
  .pt-md-0,
  .py-md-0 {
    padding-top: 0 !important; }
  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important; }
  .pb-md-0,
  .py-md-0 {
    padding-bottom: 0 !important; }
  .pl-md-0,
  .px-md-0 {
    padding-left: 0 !important; }
  .p-md-1 {
    padding: 0.25rem !important; }
  .pt-md-1,
  .py-md-1 {
    padding-top: 0.25rem !important; }
  .pr-md-1,
  .px-md-1 {
    padding-right: 0.25rem !important; }
  .pb-md-1,
  .py-md-1 {
    padding-bottom: 0.25rem !important; }
  .pl-md-1,
  .px-md-1 {
    padding-left: 0.25rem !important; }
  .p-md-2 {
    padding: 2rem !important; }
  .pt-md-2,
  .py-md-2 {
    padding-top: 2rem !important; }
  .pr-md-2,
  .px-md-2 {
    padding-right: 2rem !important; }
  .pb-md-2,
  .py-md-2 {
    padding-bottom: 2rem !important; }
  .pl-md-2,
  .px-md-2 {
    padding-left: 2rem !important; }
  .p-md-3 {
    padding: 1rem !important; }
  .pt-md-3,
  .py-md-3 {
    padding-top: 1rem !important; }
  .pr-md-3,
  .px-md-3 {
    padding-right: 1rem !important; }
  .pb-md-3,
  .py-md-3 {
    padding-bottom: 1rem !important; }
  .pl-md-3,
  .px-md-3 {
    padding-left: 1rem !important; }
  .p-md-4 {
    padding: 4rem !important; }
  .pt-md-4,
  .py-md-4 {
    padding-top: 4rem !important; }
  .pr-md-4,
  .px-md-4 {
    padding-right: 4rem !important; }
  .pb-md-4,
  .py-md-4 {
    padding-bottom: 4rem !important; }
  .pl-md-4,
  .px-md-4 {
    padding-left: 4rem !important; }
  .p-md-5 {
    padding: 3rem !important; }
  .pt-md-5,
  .py-md-5 {
    padding-top: 3rem !important; }
  .pr-md-5,
  .px-md-5 {
    padding-right: 3rem !important; }
  .pb-md-5,
  .py-md-5 {
    padding-bottom: 3rem !important; }
  .pl-md-5,
  .px-md-5 {
    padding-left: 3rem !important; }
  .m-md-n1 {
    margin: -0.25rem !important; }
  .mt-md-n1,
  .my-md-n1 {
    margin-top: -0.25rem !important; }
  .mr-md-n1,
  .mx-md-n1 {
    margin-right: -0.25rem !important; }
  .mb-md-n1,
  .my-md-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-md-n1,
  .mx-md-n1 {
    margin-left: -0.25rem !important; }
  .m-md-n2 {
    margin: -2rem !important; }
  .mt-md-n2,
  .my-md-n2 {
    margin-top: -2rem !important; }
  .mr-md-n2,
  .mx-md-n2 {
    margin-right: -2rem !important; }
  .mb-md-n2,
  .my-md-n2 {
    margin-bottom: -2rem !important; }
  .ml-md-n2,
  .mx-md-n2 {
    margin-left: -2rem !important; }
  .m-md-n3 {
    margin: -1rem !important; }
  .mt-md-n3,
  .my-md-n3 {
    margin-top: -1rem !important; }
  .mr-md-n3,
  .mx-md-n3 {
    margin-right: -1rem !important; }
  .mb-md-n3,
  .my-md-n3 {
    margin-bottom: -1rem !important; }
  .ml-md-n3,
  .mx-md-n3 {
    margin-left: -1rem !important; }
  .m-md-n4 {
    margin: -4rem !important; }
  .mt-md-n4,
  .my-md-n4 {
    margin-top: -4rem !important; }
  .mr-md-n4,
  .mx-md-n4 {
    margin-right: -4rem !important; }
  .mb-md-n4,
  .my-md-n4 {
    margin-bottom: -4rem !important; }
  .ml-md-n4,
  .mx-md-n4 {
    margin-left: -4rem !important; }
  .m-md-n5 {
    margin: -3rem !important; }
  .mt-md-n5,
  .my-md-n5 {
    margin-top: -3rem !important; }
  .mr-md-n5,
  .mx-md-n5 {
    margin-right: -3rem !important; }
  .mb-md-n5,
  .my-md-n5 {
    margin-bottom: -3rem !important; }
  .ml-md-n5,
  .mx-md-n5 {
    margin-left: -3rem !important; }
  .m-md-auto {
    margin: auto !important; }
  .mt-md-auto,
  .my-md-auto {
    margin-top: auto !important; }
  .mr-md-auto,
  .mx-md-auto {
    margin-right: auto !important; }
  .mb-md-auto,
  .my-md-auto {
    margin-bottom: auto !important; }
  .ml-md-auto,
  .mx-md-auto {
    margin-left: auto !important; } }

@media (min-width: 1024px) {
  .m-lg-0 {
    margin: 0 !important; }
  .mt-lg-0,
  .my-lg-0 {
    margin-top: 0 !important; }
  .mr-lg-0,
  .mx-lg-0 {
    margin-right: 0 !important; }
  .mb-lg-0,
  .my-lg-0 {
    margin-bottom: 0 !important; }
  .ml-lg-0,
  .mx-lg-0 {
    margin-left: 0 !important; }
  .m-lg-1 {
    margin: 0.25rem !important; }
  .mt-lg-1,
  .my-lg-1 {
    margin-top: 0.25rem !important; }
  .mr-lg-1,
  .mx-lg-1 {
    margin-right: 0.25rem !important; }
  .mb-lg-1,
  .my-lg-1 {
    margin-bottom: 0.25rem !important; }
  .ml-lg-1,
  .mx-lg-1 {
    margin-left: 0.25rem !important; }
  .m-lg-2 {
    margin: 2rem !important; }
  .mt-lg-2,
  .my-lg-2 {
    margin-top: 2rem !important; }
  .mr-lg-2,
  .mx-lg-2 {
    margin-right: 2rem !important; }
  .mb-lg-2,
  .my-lg-2 {
    margin-bottom: 2rem !important; }
  .ml-lg-2,
  .mx-lg-2 {
    margin-left: 2rem !important; }
  .m-lg-3 {
    margin: 1rem !important; }
  .mt-lg-3,
  .my-lg-3 {
    margin-top: 1rem !important; }
  .mr-lg-3,
  .mx-lg-3 {
    margin-right: 1rem !important; }
  .mb-lg-3,
  .my-lg-3 {
    margin-bottom: 1rem !important; }
  .ml-lg-3,
  .mx-lg-3 {
    margin-left: 1rem !important; }
  .m-lg-4 {
    margin: 4rem !important; }
  .mt-lg-4,
  .my-lg-4 {
    margin-top: 4rem !important; }
  .mr-lg-4,
  .mx-lg-4 {
    margin-right: 4rem !important; }
  .mb-lg-4,
  .my-lg-4 {
    margin-bottom: 4rem !important; }
  .ml-lg-4,
  .mx-lg-4 {
    margin-left: 4rem !important; }
  .m-lg-5 {
    margin: 3rem !important; }
  .mt-lg-5,
  .my-lg-5 {
    margin-top: 3rem !important; }
  .mr-lg-5,
  .mx-lg-5 {
    margin-right: 3rem !important; }
  .mb-lg-5,
  .my-lg-5 {
    margin-bottom: 3rem !important; }
  .ml-lg-5,
  .mx-lg-5 {
    margin-left: 3rem !important; }
  .p-lg-0 {
    padding: 0 !important; }
  .pt-lg-0,
  .py-lg-0 {
    padding-top: 0 !important; }
  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important; }
  .pb-lg-0,
  .py-lg-0 {
    padding-bottom: 0 !important; }
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0 !important; }
  .p-lg-1 {
    padding: 0.25rem !important; }
  .pt-lg-1,
  .py-lg-1 {
    padding-top: 0.25rem !important; }
  .pr-lg-1,
  .px-lg-1 {
    padding-right: 0.25rem !important; }
  .pb-lg-1,
  .py-lg-1 {
    padding-bottom: 0.25rem !important; }
  .pl-lg-1,
  .px-lg-1 {
    padding-left: 0.25rem !important; }
  .p-lg-2 {
    padding: 2rem !important; }
  .pt-lg-2,
  .py-lg-2 {
    padding-top: 2rem !important; }
  .pr-lg-2,
  .px-lg-2 {
    padding-right: 2rem !important; }
  .pb-lg-2,
  .py-lg-2 {
    padding-bottom: 2rem !important; }
  .pl-lg-2,
  .px-lg-2 {
    padding-left: 2rem !important; }
  .p-lg-3 {
    padding: 1rem !important; }
  .pt-lg-3,
  .py-lg-3 {
    padding-top: 1rem !important; }
  .pr-lg-3,
  .px-lg-3 {
    padding-right: 1rem !important; }
  .pb-lg-3,
  .py-lg-3 {
    padding-bottom: 1rem !important; }
  .pl-lg-3,
  .px-lg-3 {
    padding-left: 1rem !important; }
  .p-lg-4 {
    padding: 4rem !important; }
  .pt-lg-4,
  .py-lg-4 {
    padding-top: 4rem !important; }
  .pr-lg-4,
  .px-lg-4 {
    padding-right: 4rem !important; }
  .pb-lg-4,
  .py-lg-4 {
    padding-bottom: 4rem !important; }
  .pl-lg-4,
  .px-lg-4 {
    padding-left: 4rem !important; }
  .p-lg-5 {
    padding: 3rem !important; }
  .pt-lg-5,
  .py-lg-5 {
    padding-top: 3rem !important; }
  .pr-lg-5,
  .px-lg-5 {
    padding-right: 3rem !important; }
  .pb-lg-5,
  .py-lg-5 {
    padding-bottom: 3rem !important; }
  .pl-lg-5,
  .px-lg-5 {
    padding-left: 3rem !important; }
  .m-lg-n1 {
    margin: -0.25rem !important; }
  .mt-lg-n1,
  .my-lg-n1 {
    margin-top: -0.25rem !important; }
  .mr-lg-n1,
  .mx-lg-n1 {
    margin-right: -0.25rem !important; }
  .mb-lg-n1,
  .my-lg-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-lg-n1,
  .mx-lg-n1 {
    margin-left: -0.25rem !important; }
  .m-lg-n2 {
    margin: -2rem !important; }
  .mt-lg-n2,
  .my-lg-n2 {
    margin-top: -2rem !important; }
  .mr-lg-n2,
  .mx-lg-n2 {
    margin-right: -2rem !important; }
  .mb-lg-n2,
  .my-lg-n2 {
    margin-bottom: -2rem !important; }
  .ml-lg-n2,
  .mx-lg-n2 {
    margin-left: -2rem !important; }
  .m-lg-n3 {
    margin: -1rem !important; }
  .mt-lg-n3,
  .my-lg-n3 {
    margin-top: -1rem !important; }
  .mr-lg-n3,
  .mx-lg-n3 {
    margin-right: -1rem !important; }
  .mb-lg-n3,
  .my-lg-n3 {
    margin-bottom: -1rem !important; }
  .ml-lg-n3,
  .mx-lg-n3 {
    margin-left: -1rem !important; }
  .m-lg-n4 {
    margin: -4rem !important; }
  .mt-lg-n4,
  .my-lg-n4 {
    margin-top: -4rem !important; }
  .mr-lg-n4,
  .mx-lg-n4 {
    margin-right: -4rem !important; }
  .mb-lg-n4,
  .my-lg-n4 {
    margin-bottom: -4rem !important; }
  .ml-lg-n4,
  .mx-lg-n4 {
    margin-left: -4rem !important; }
  .m-lg-n5 {
    margin: -3rem !important; }
  .mt-lg-n5,
  .my-lg-n5 {
    margin-top: -3rem !important; }
  .mr-lg-n5,
  .mx-lg-n5 {
    margin-right: -3rem !important; }
  .mb-lg-n5,
  .my-lg-n5 {
    margin-bottom: -3rem !important; }
  .ml-lg-n5,
  .mx-lg-n5 {
    margin-left: -3rem !important; }
  .m-lg-auto {
    margin: auto !important; }
  .mt-lg-auto,
  .my-lg-auto {
    margin-top: auto !important; }
  .mr-lg-auto,
  .mx-lg-auto {
    margin-right: auto !important; }
  .mb-lg-auto,
  .my-lg-auto {
    margin-bottom: auto !important; }
  .ml-lg-auto,
  .mx-lg-auto {
    margin-left: auto !important; } }

@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important; }
  .mt-xl-0,
  .my-xl-0 {
    margin-top: 0 !important; }
  .mr-xl-0,
  .mx-xl-0 {
    margin-right: 0 !important; }
  .mb-xl-0,
  .my-xl-0 {
    margin-bottom: 0 !important; }
  .ml-xl-0,
  .mx-xl-0 {
    margin-left: 0 !important; }
  .m-xl-1 {
    margin: 0.25rem !important; }
  .mt-xl-1,
  .my-xl-1 {
    margin-top: 0.25rem !important; }
  .mr-xl-1,
  .mx-xl-1 {
    margin-right: 0.25rem !important; }
  .mb-xl-1,
  .my-xl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xl-1,
  .mx-xl-1 {
    margin-left: 0.25rem !important; }
  .m-xl-2 {
    margin: 2rem !important; }
  .mt-xl-2,
  .my-xl-2 {
    margin-top: 2rem !important; }
  .mr-xl-2,
  .mx-xl-2 {
    margin-right: 2rem !important; }
  .mb-xl-2,
  .my-xl-2 {
    margin-bottom: 2rem !important; }
  .ml-xl-2,
  .mx-xl-2 {
    margin-left: 2rem !important; }
  .m-xl-3 {
    margin: 1rem !important; }
  .mt-xl-3,
  .my-xl-3 {
    margin-top: 1rem !important; }
  .mr-xl-3,
  .mx-xl-3 {
    margin-right: 1rem !important; }
  .mb-xl-3,
  .my-xl-3 {
    margin-bottom: 1rem !important; }
  .ml-xl-3,
  .mx-xl-3 {
    margin-left: 1rem !important; }
  .m-xl-4 {
    margin: 4rem !important; }
  .mt-xl-4,
  .my-xl-4 {
    margin-top: 4rem !important; }
  .mr-xl-4,
  .mx-xl-4 {
    margin-right: 4rem !important; }
  .mb-xl-4,
  .my-xl-4 {
    margin-bottom: 4rem !important; }
  .ml-xl-4,
  .mx-xl-4 {
    margin-left: 4rem !important; }
  .m-xl-5 {
    margin: 3rem !important; }
  .mt-xl-5,
  .my-xl-5 {
    margin-top: 3rem !important; }
  .mr-xl-5,
  .mx-xl-5 {
    margin-right: 3rem !important; }
  .mb-xl-5,
  .my-xl-5 {
    margin-bottom: 3rem !important; }
  .ml-xl-5,
  .mx-xl-5 {
    margin-left: 3rem !important; }
  .p-xl-0 {
    padding: 0 !important; }
  .pt-xl-0,
  .py-xl-0 {
    padding-top: 0 !important; }
  .pr-xl-0,
  .px-xl-0 {
    padding-right: 0 !important; }
  .pb-xl-0,
  .py-xl-0 {
    padding-bottom: 0 !important; }
  .pl-xl-0,
  .px-xl-0 {
    padding-left: 0 !important; }
  .p-xl-1 {
    padding: 0.25rem !important; }
  .pt-xl-1,
  .py-xl-1 {
    padding-top: 0.25rem !important; }
  .pr-xl-1,
  .px-xl-1 {
    padding-right: 0.25rem !important; }
  .pb-xl-1,
  .py-xl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xl-1,
  .px-xl-1 {
    padding-left: 0.25rem !important; }
  .p-xl-2 {
    padding: 2rem !important; }
  .pt-xl-2,
  .py-xl-2 {
    padding-top: 2rem !important; }
  .pr-xl-2,
  .px-xl-2 {
    padding-right: 2rem !important; }
  .pb-xl-2,
  .py-xl-2 {
    padding-bottom: 2rem !important; }
  .pl-xl-2,
  .px-xl-2 {
    padding-left: 2rem !important; }
  .p-xl-3 {
    padding: 1rem !important; }
  .pt-xl-3,
  .py-xl-3 {
    padding-top: 1rem !important; }
  .pr-xl-3,
  .px-xl-3 {
    padding-right: 1rem !important; }
  .pb-xl-3,
  .py-xl-3 {
    padding-bottom: 1rem !important; }
  .pl-xl-3,
  .px-xl-3 {
    padding-left: 1rem !important; }
  .p-xl-4 {
    padding: 4rem !important; }
  .pt-xl-4,
  .py-xl-4 {
    padding-top: 4rem !important; }
  .pr-xl-4,
  .px-xl-4 {
    padding-right: 4rem !important; }
  .pb-xl-4,
  .py-xl-4 {
    padding-bottom: 4rem !important; }
  .pl-xl-4,
  .px-xl-4 {
    padding-left: 4rem !important; }
  .p-xl-5 {
    padding: 3rem !important; }
  .pt-xl-5,
  .py-xl-5 {
    padding-top: 3rem !important; }
  .pr-xl-5,
  .px-xl-5 {
    padding-right: 3rem !important; }
  .pb-xl-5,
  .py-xl-5 {
    padding-bottom: 3rem !important; }
  .pl-xl-5,
  .px-xl-5 {
    padding-left: 3rem !important; }
  .m-xl-n1 {
    margin: -0.25rem !important; }
  .mt-xl-n1,
  .my-xl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xl-n1,
  .mx-xl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xl-n1,
  .my-xl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xl-n1,
  .mx-xl-n1 {
    margin-left: -0.25rem !important; }
  .m-xl-n2 {
    margin: -2rem !important; }
  .mt-xl-n2,
  .my-xl-n2 {
    margin-top: -2rem !important; }
  .mr-xl-n2,
  .mx-xl-n2 {
    margin-right: -2rem !important; }
  .mb-xl-n2,
  .my-xl-n2 {
    margin-bottom: -2rem !important; }
  .ml-xl-n2,
  .mx-xl-n2 {
    margin-left: -2rem !important; }
  .m-xl-n3 {
    margin: -1rem !important; }
  .mt-xl-n3,
  .my-xl-n3 {
    margin-top: -1rem !important; }
  .mr-xl-n3,
  .mx-xl-n3 {
    margin-right: -1rem !important; }
  .mb-xl-n3,
  .my-xl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xl-n3,
  .mx-xl-n3 {
    margin-left: -1rem !important; }
  .m-xl-n4 {
    margin: -4rem !important; }
  .mt-xl-n4,
  .my-xl-n4 {
    margin-top: -4rem !important; }
  .mr-xl-n4,
  .mx-xl-n4 {
    margin-right: -4rem !important; }
  .mb-xl-n4,
  .my-xl-n4 {
    margin-bottom: -4rem !important; }
  .ml-xl-n4,
  .mx-xl-n4 {
    margin-left: -4rem !important; }
  .m-xl-n5 {
    margin: -3rem !important; }
  .mt-xl-n5,
  .my-xl-n5 {
    margin-top: -3rem !important; }
  .mr-xl-n5,
  .mx-xl-n5 {
    margin-right: -3rem !important; }
  .mb-xl-n5,
  .my-xl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xl-n5,
  .mx-xl-n5 {
    margin-left: -3rem !important; }
  .m-xl-auto {
    margin: auto !important; }
  .mt-xl-auto,
  .my-xl-auto {
    margin-top: auto !important; }
  .mr-xl-auto,
  .mx-xl-auto {
    margin-right: auto !important; }
  .mb-xl-auto,
  .my-xl-auto {
    margin-bottom: auto !important; }
  .ml-xl-auto,
  .mx-xl-auto {
    margin-left: auto !important; } }

@media (min-width: 1440px) {
  .m-xxl-0 {
    margin: 0 !important; }
  .mt-xxl-0,
  .my-xxl-0 {
    margin-top: 0 !important; }
  .mr-xxl-0,
  .mx-xxl-0 {
    margin-right: 0 !important; }
  .mb-xxl-0,
  .my-xxl-0 {
    margin-bottom: 0 !important; }
  .ml-xxl-0,
  .mx-xxl-0 {
    margin-left: 0 !important; }
  .m-xxl-1 {
    margin: 0.25rem !important; }
  .mt-xxl-1,
  .my-xxl-1 {
    margin-top: 0.25rem !important; }
  .mr-xxl-1,
  .mx-xxl-1 {
    margin-right: 0.25rem !important; }
  .mb-xxl-1,
  .my-xxl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xxl-1,
  .mx-xxl-1 {
    margin-left: 0.25rem !important; }
  .m-xxl-2 {
    margin: 2rem !important; }
  .mt-xxl-2,
  .my-xxl-2 {
    margin-top: 2rem !important; }
  .mr-xxl-2,
  .mx-xxl-2 {
    margin-right: 2rem !important; }
  .mb-xxl-2,
  .my-xxl-2 {
    margin-bottom: 2rem !important; }
  .ml-xxl-2,
  .mx-xxl-2 {
    margin-left: 2rem !important; }
  .m-xxl-3 {
    margin: 1rem !important; }
  .mt-xxl-3,
  .my-xxl-3 {
    margin-top: 1rem !important; }
  .mr-xxl-3,
  .mx-xxl-3 {
    margin-right: 1rem !important; }
  .mb-xxl-3,
  .my-xxl-3 {
    margin-bottom: 1rem !important; }
  .ml-xxl-3,
  .mx-xxl-3 {
    margin-left: 1rem !important; }
  .m-xxl-4 {
    margin: 4rem !important; }
  .mt-xxl-4,
  .my-xxl-4 {
    margin-top: 4rem !important; }
  .mr-xxl-4,
  .mx-xxl-4 {
    margin-right: 4rem !important; }
  .mb-xxl-4,
  .my-xxl-4 {
    margin-bottom: 4rem !important; }
  .ml-xxl-4,
  .mx-xxl-4 {
    margin-left: 4rem !important; }
  .m-xxl-5 {
    margin: 3rem !important; }
  .mt-xxl-5,
  .my-xxl-5 {
    margin-top: 3rem !important; }
  .mr-xxl-5,
  .mx-xxl-5 {
    margin-right: 3rem !important; }
  .mb-xxl-5,
  .my-xxl-5 {
    margin-bottom: 3rem !important; }
  .ml-xxl-5,
  .mx-xxl-5 {
    margin-left: 3rem !important; }
  .p-xxl-0 {
    padding: 0 !important; }
  .pt-xxl-0,
  .py-xxl-0 {
    padding-top: 0 !important; }
  .pr-xxl-0,
  .px-xxl-0 {
    padding-right: 0 !important; }
  .pb-xxl-0,
  .py-xxl-0 {
    padding-bottom: 0 !important; }
  .pl-xxl-0,
  .px-xxl-0 {
    padding-left: 0 !important; }
  .p-xxl-1 {
    padding: 0.25rem !important; }
  .pt-xxl-1,
  .py-xxl-1 {
    padding-top: 0.25rem !important; }
  .pr-xxl-1,
  .px-xxl-1 {
    padding-right: 0.25rem !important; }
  .pb-xxl-1,
  .py-xxl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xxl-1,
  .px-xxl-1 {
    padding-left: 0.25rem !important; }
  .p-xxl-2 {
    padding: 2rem !important; }
  .pt-xxl-2,
  .py-xxl-2 {
    padding-top: 2rem !important; }
  .pr-xxl-2,
  .px-xxl-2 {
    padding-right: 2rem !important; }
  .pb-xxl-2,
  .py-xxl-2 {
    padding-bottom: 2rem !important; }
  .pl-xxl-2,
  .px-xxl-2 {
    padding-left: 2rem !important; }
  .p-xxl-3 {
    padding: 1rem !important; }
  .pt-xxl-3,
  .py-xxl-3 {
    padding-top: 1rem !important; }
  .pr-xxl-3,
  .px-xxl-3 {
    padding-right: 1rem !important; }
  .pb-xxl-3,
  .py-xxl-3 {
    padding-bottom: 1rem !important; }
  .pl-xxl-3,
  .px-xxl-3 {
    padding-left: 1rem !important; }
  .p-xxl-4 {
    padding: 4rem !important; }
  .pt-xxl-4,
  .py-xxl-4 {
    padding-top: 4rem !important; }
  .pr-xxl-4,
  .px-xxl-4 {
    padding-right: 4rem !important; }
  .pb-xxl-4,
  .py-xxl-4 {
    padding-bottom: 4rem !important; }
  .pl-xxl-4,
  .px-xxl-4 {
    padding-left: 4rem !important; }
  .p-xxl-5 {
    padding: 3rem !important; }
  .pt-xxl-5,
  .py-xxl-5 {
    padding-top: 3rem !important; }
  .pr-xxl-5,
  .px-xxl-5 {
    padding-right: 3rem !important; }
  .pb-xxl-5,
  .py-xxl-5 {
    padding-bottom: 3rem !important; }
  .pl-xxl-5,
  .px-xxl-5 {
    padding-left: 3rem !important; }
  .m-xxl-n1 {
    margin: -0.25rem !important; }
  .mt-xxl-n1,
  .my-xxl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xxl-n1,
  .mx-xxl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xxl-n1,
  .my-xxl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xxl-n1,
  .mx-xxl-n1 {
    margin-left: -0.25rem !important; }
  .m-xxl-n2 {
    margin: -2rem !important; }
  .mt-xxl-n2,
  .my-xxl-n2 {
    margin-top: -2rem !important; }
  .mr-xxl-n2,
  .mx-xxl-n2 {
    margin-right: -2rem !important; }
  .mb-xxl-n2,
  .my-xxl-n2 {
    margin-bottom: -2rem !important; }
  .ml-xxl-n2,
  .mx-xxl-n2 {
    margin-left: -2rem !important; }
  .m-xxl-n3 {
    margin: -1rem !important; }
  .mt-xxl-n3,
  .my-xxl-n3 {
    margin-top: -1rem !important; }
  .mr-xxl-n3,
  .mx-xxl-n3 {
    margin-right: -1rem !important; }
  .mb-xxl-n3,
  .my-xxl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xxl-n3,
  .mx-xxl-n3 {
    margin-left: -1rem !important; }
  .m-xxl-n4 {
    margin: -4rem !important; }
  .mt-xxl-n4,
  .my-xxl-n4 {
    margin-top: -4rem !important; }
  .mr-xxl-n4,
  .mx-xxl-n4 {
    margin-right: -4rem !important; }
  .mb-xxl-n4,
  .my-xxl-n4 {
    margin-bottom: -4rem !important; }
  .ml-xxl-n4,
  .mx-xxl-n4 {
    margin-left: -4rem !important; }
  .m-xxl-n5 {
    margin: -3rem !important; }
  .mt-xxl-n5,
  .my-xxl-n5 {
    margin-top: -3rem !important; }
  .mr-xxl-n5,
  .mx-xxl-n5 {
    margin-right: -3rem !important; }
  .mb-xxl-n5,
  .my-xxl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xxl-n5,
  .mx-xxl-n5 {
    margin-left: -3rem !important; }
  .m-xxl-auto {
    margin: auto !important; }
  .mt-xxl-auto,
  .my-xxl-auto {
    margin-top: auto !important; }
  .mr-xxl-auto,
  .mx-xxl-auto {
    margin-right: auto !important; }
  .mb-xxl-auto,
  .my-xxl-auto {
    margin-bottom: auto !important; }
  .ml-xxl-auto,
  .mx-xxl-auto {
    margin-left: auto !important; } }

@media (min-width: 1920px) {
  .m-xxxl-0 {
    margin: 0 !important; }
  .mt-xxxl-0,
  .my-xxxl-0 {
    margin-top: 0 !important; }
  .mr-xxxl-0,
  .mx-xxxl-0 {
    margin-right: 0 !important; }
  .mb-xxxl-0,
  .my-xxxl-0 {
    margin-bottom: 0 !important; }
  .ml-xxxl-0,
  .mx-xxxl-0 {
    margin-left: 0 !important; }
  .m-xxxl-1 {
    margin: 0.25rem !important; }
  .mt-xxxl-1,
  .my-xxxl-1 {
    margin-top: 0.25rem !important; }
  .mr-xxxl-1,
  .mx-xxxl-1 {
    margin-right: 0.25rem !important; }
  .mb-xxxl-1,
  .my-xxxl-1 {
    margin-bottom: 0.25rem !important; }
  .ml-xxxl-1,
  .mx-xxxl-1 {
    margin-left: 0.25rem !important; }
  .m-xxxl-2 {
    margin: 2rem !important; }
  .mt-xxxl-2,
  .my-xxxl-2 {
    margin-top: 2rem !important; }
  .mr-xxxl-2,
  .mx-xxxl-2 {
    margin-right: 2rem !important; }
  .mb-xxxl-2,
  .my-xxxl-2 {
    margin-bottom: 2rem !important; }
  .ml-xxxl-2,
  .mx-xxxl-2 {
    margin-left: 2rem !important; }
  .m-xxxl-3 {
    margin: 1rem !important; }
  .mt-xxxl-3,
  .my-xxxl-3 {
    margin-top: 1rem !important; }
  .mr-xxxl-3,
  .mx-xxxl-3 {
    margin-right: 1rem !important; }
  .mb-xxxl-3,
  .my-xxxl-3 {
    margin-bottom: 1rem !important; }
  .ml-xxxl-3,
  .mx-xxxl-3 {
    margin-left: 1rem !important; }
  .m-xxxl-4 {
    margin: 4rem !important; }
  .mt-xxxl-4,
  .my-xxxl-4 {
    margin-top: 4rem !important; }
  .mr-xxxl-4,
  .mx-xxxl-4 {
    margin-right: 4rem !important; }
  .mb-xxxl-4,
  .my-xxxl-4 {
    margin-bottom: 4rem !important; }
  .ml-xxxl-4,
  .mx-xxxl-4 {
    margin-left: 4rem !important; }
  .m-xxxl-5 {
    margin: 3rem !important; }
  .mt-xxxl-5,
  .my-xxxl-5 {
    margin-top: 3rem !important; }
  .mr-xxxl-5,
  .mx-xxxl-5 {
    margin-right: 3rem !important; }
  .mb-xxxl-5,
  .my-xxxl-5 {
    margin-bottom: 3rem !important; }
  .ml-xxxl-5,
  .mx-xxxl-5 {
    margin-left: 3rem !important; }
  .p-xxxl-0 {
    padding: 0 !important; }
  .pt-xxxl-0,
  .py-xxxl-0 {
    padding-top: 0 !important; }
  .pr-xxxl-0,
  .px-xxxl-0 {
    padding-right: 0 !important; }
  .pb-xxxl-0,
  .py-xxxl-0 {
    padding-bottom: 0 !important; }
  .pl-xxxl-0,
  .px-xxxl-0 {
    padding-left: 0 !important; }
  .p-xxxl-1 {
    padding: 0.25rem !important; }
  .pt-xxxl-1,
  .py-xxxl-1 {
    padding-top: 0.25rem !important; }
  .pr-xxxl-1,
  .px-xxxl-1 {
    padding-right: 0.25rem !important; }
  .pb-xxxl-1,
  .py-xxxl-1 {
    padding-bottom: 0.25rem !important; }
  .pl-xxxl-1,
  .px-xxxl-1 {
    padding-left: 0.25rem !important; }
  .p-xxxl-2 {
    padding: 2rem !important; }
  .pt-xxxl-2,
  .py-xxxl-2 {
    padding-top: 2rem !important; }
  .pr-xxxl-2,
  .px-xxxl-2 {
    padding-right: 2rem !important; }
  .pb-xxxl-2,
  .py-xxxl-2 {
    padding-bottom: 2rem !important; }
  .pl-xxxl-2,
  .px-xxxl-2 {
    padding-left: 2rem !important; }
  .p-xxxl-3 {
    padding: 1rem !important; }
  .pt-xxxl-3,
  .py-xxxl-3 {
    padding-top: 1rem !important; }
  .pr-xxxl-3,
  .px-xxxl-3 {
    padding-right: 1rem !important; }
  .pb-xxxl-3,
  .py-xxxl-3 {
    padding-bottom: 1rem !important; }
  .pl-xxxl-3,
  .px-xxxl-3 {
    padding-left: 1rem !important; }
  .p-xxxl-4 {
    padding: 4rem !important; }
  .pt-xxxl-4,
  .py-xxxl-4 {
    padding-top: 4rem !important; }
  .pr-xxxl-4,
  .px-xxxl-4 {
    padding-right: 4rem !important; }
  .pb-xxxl-4,
  .py-xxxl-4 {
    padding-bottom: 4rem !important; }
  .pl-xxxl-4,
  .px-xxxl-4 {
    padding-left: 4rem !important; }
  .p-xxxl-5 {
    padding: 3rem !important; }
  .pt-xxxl-5,
  .py-xxxl-5 {
    padding-top: 3rem !important; }
  .pr-xxxl-5,
  .px-xxxl-5 {
    padding-right: 3rem !important; }
  .pb-xxxl-5,
  .py-xxxl-5 {
    padding-bottom: 3rem !important; }
  .pl-xxxl-5,
  .px-xxxl-5 {
    padding-left: 3rem !important; }
  .m-xxxl-n1 {
    margin: -0.25rem !important; }
  .mt-xxxl-n1,
  .my-xxxl-n1 {
    margin-top: -0.25rem !important; }
  .mr-xxxl-n1,
  .mx-xxxl-n1 {
    margin-right: -0.25rem !important; }
  .mb-xxxl-n1,
  .my-xxxl-n1 {
    margin-bottom: -0.25rem !important; }
  .ml-xxxl-n1,
  .mx-xxxl-n1 {
    margin-left: -0.25rem !important; }
  .m-xxxl-n2 {
    margin: -2rem !important; }
  .mt-xxxl-n2,
  .my-xxxl-n2 {
    margin-top: -2rem !important; }
  .mr-xxxl-n2,
  .mx-xxxl-n2 {
    margin-right: -2rem !important; }
  .mb-xxxl-n2,
  .my-xxxl-n2 {
    margin-bottom: -2rem !important; }
  .ml-xxxl-n2,
  .mx-xxxl-n2 {
    margin-left: -2rem !important; }
  .m-xxxl-n3 {
    margin: -1rem !important; }
  .mt-xxxl-n3,
  .my-xxxl-n3 {
    margin-top: -1rem !important; }
  .mr-xxxl-n3,
  .mx-xxxl-n3 {
    margin-right: -1rem !important; }
  .mb-xxxl-n3,
  .my-xxxl-n3 {
    margin-bottom: -1rem !important; }
  .ml-xxxl-n3,
  .mx-xxxl-n3 {
    margin-left: -1rem !important; }
  .m-xxxl-n4 {
    margin: -4rem !important; }
  .mt-xxxl-n4,
  .my-xxxl-n4 {
    margin-top: -4rem !important; }
  .mr-xxxl-n4,
  .mx-xxxl-n4 {
    margin-right: -4rem !important; }
  .mb-xxxl-n4,
  .my-xxxl-n4 {
    margin-bottom: -4rem !important; }
  .ml-xxxl-n4,
  .mx-xxxl-n4 {
    margin-left: -4rem !important; }
  .m-xxxl-n5 {
    margin: -3rem !important; }
  .mt-xxxl-n5,
  .my-xxxl-n5 {
    margin-top: -3rem !important; }
  .mr-xxxl-n5,
  .mx-xxxl-n5 {
    margin-right: -3rem !important; }
  .mb-xxxl-n5,
  .my-xxxl-n5 {
    margin-bottom: -3rem !important; }
  .ml-xxxl-n5,
  .mx-xxxl-n5 {
    margin-left: -3rem !important; }
  .m-xxxl-auto {
    margin: auto !important; }
  .mt-xxxl-auto,
  .my-xxxl-auto {
    margin-top: auto !important; }
  .mr-xxxl-auto,
  .mx-xxxl-auto {
    margin-right: auto !important; }
  .mb-xxxl-auto,
  .my-xxxl-auto {
    margin-bottom: auto !important; }
  .ml-xxxl-auto,
  .mx-xxxl-auto {
    margin-left: auto !important; } }

.text-monospace {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; }

.text-justify {
  text-align: justify !important; }

.text-wrap {
  white-space: normal !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.text-left {
  text-align: left !important; }

.text-right {
  text-align: right !important; }

.text-center {
  text-align: center !important; }

@media (min-width: 375px) {
  .text-xs-left {
    text-align: left !important; }
  .text-xs-right {
    text-align: right !important; }
  .text-xs-center {
    text-align: center !important; } }

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important; }
  .text-sm-right {
    text-align: right !important; }
  .text-sm-center {
    text-align: center !important; } }

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important; }
  .text-md-right {
    text-align: right !important; }
  .text-md-center {
    text-align: center !important; } }

@media (min-width: 1024px) {
  .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; } }

@media (min-width: 1440px) {
  .text-xxl-left {
    text-align: left !important; }
  .text-xxl-right {
    text-align: right !important; }
  .text-xxl-center {
    text-align: center !important; } }

@media (min-width: 1920px) {
  .text-xxxl-left {
    text-align: left !important; }
  .text-xxxl-right {
    text-align: right !important; }
  .text-xxxl-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-light {
  font-weight: 300 !important; }

.font-weight-lighter {
  font-weight: lighter !important; }

.font-weight-normal {
  font-weight: 400 !important; }

.font-weight-bold {
  font-weight: 500 !important; }

.font-weight-bolder {
  font-weight: 700 !important; }

.font-italic {
  font-style: italic !important; }

.text-white {
  color: #fff !important; }

.text-primary {
  color: #000 !important; }

a.text-primary:hover, a.text-primary:focus {
  color: black !important; }

.text-secondary {
  color: #6c757d !important; }

a.text-secondary:hover, a.text-secondary:focus {
  color: #494f54 !important; }

.text-success {
  color: #28a745 !important; }

a.text-success:hover, a.text-success:focus {
  color: #19692c !important; }

.text-info {
  color: #17a2b8 !important; }

a.text-info:hover, a.text-info:focus {
  color: #0f6674 !important; }

.text-warning {
  color: #ffc107 !important; }

a.text-warning:hover, a.text-warning:focus {
  color: #ba8b00 !important; }

.text-danger {
  color: #dc3545 !important; }

a.text-danger:hover, a.text-danger:focus {
  color: #a71d2a !important; }

.text-light {
  color: #f8f9fa !important; }

a.text-light:hover, a.text-light:focus {
  color: #cbd3da !important; }

.text-dark {
  color: #343a40 !important; }

a.text-dark:hover, a.text-dark:focus {
  color: #121416 !important; }

.text-gray {
  color: #333 !important; }

a.text-gray:hover, a.text-gray:focus {
  color: #0d0d0d !important; }

.text-red {
  color: #d7373d !important; }

a.text-red:hover, a.text-red:focus {
  color: #a12025 !important; }

.text-green {
  color: #44b151 !important; }

a.text-green:hover, a.text-green:focus {
  color: #2f7a38 !important; }

.text-yellow {
  color: #f5a623 !important; }

a.text-yellow:hover, a.text-yellow:focus {
  color: #c37d09 !important; }

.text-body {
  color: #000 !important; }

.text-muted {
  color: #6c757d !important; }

.text-black-50 {
  color: rgba(0, 0, 0, 0.5) !important; }

.text-white-50 {
  color: rgba(255, 255, 255, 0.5) !important; }

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.text-decoration-none {
  text-decoration: none !important; }

.text-break {
  word-break: break-word !important;
  overflow-wrap: break-word !important; }

.text-reset {
  color: inherit !important; }

.visible {
  visibility: visible !important; }

.invisible {
  visibility: hidden !important; }

@media print {
  *,
  *::before,
  *::after {
    text-shadow: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  a:not(.btn) {
    text-decoration: underline; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    border: 1px solid #696969;
    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; }
  @page {
    size: a3; }
  body {
    min-width: 992px !important; }
  .container {
    min-width: 992px !important; }
  .navbar {
    display: none; }
  .badge {
    border: 1px solid #000; }
  .table {
    border-collapse: collapse !important; }
    .table td,
    .table th {
      background-color: #fff !important; }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ccc !important; }
  .table-dark {
    color: inherit; }
    .table-dark th,
    .table-dark td,
    .table-dark thead th,
    .table-dark tbody + tbody {
      border-color: #dee2e6; }
  .table .thead-dark th {
    color: inherit;
    border-color: #dee2e6; } }

img {
  max-width: 100%; }

input[placeholder] {
  text-overflow: ellipsis; }

:focus {
  outline: none !important; }

:focus-visible {
  outline: #000 solid 0.2rem !important; }

.bold {
  font-weight: 500; }

.grecaptcha-badge {
  visibility: hidden; }

html {
  font-size: 62.5%; }

/* stylelint-disable selector-class-pattern */
h1, h2, h3, h4, h5, h6 {
  font-weight: 400; }

h1 {
  font-size: 2.4rem; }

h2 {
  font-size: 1.8rem; }

h3 {
  font-size: 1.6rem; }

h4 {
  font-size: 1.5rem; }

h5 {
  font-size: 1rem; }

h6 {
  font-size: 0.8rem; }

@media (min-width: 768px) {
  h1 {
    font-size: 3.2rem; }
  h2 {
    font-size: 2.4rem; }
  h3 {
    font-size: 1.8rem; }
  h4 {
    font-size: 1.6rem; }
  h5 {
    font-size: 1.2rem; }
  h6 {
    font-size: 1rem; } }

.font-secondary h1,
.font-secondary h2,
.font-secondary h3 {
  font-family: KleinCondensed, Klein, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }

/* stylelint-enable */
._fill {
  height: 100%;
  min-height: 100%; }

._disabled-scrolling {
  position: fixed;
  overflow: hidden;
  width: 100%; }

._pointer-events-none {
  pointer-events: none; }

._disabled,
.disabled {
  opacity: 0.7;
  pointer-events: none; }

._visually-hidden {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  margin: -1px;
  clip: rect(0 0 0 0); }

.-no-events {
  pointer-events: none; }

.-pointer {
  cursor: pointer; }

.mobile-row-grid {
  padding-right: 0;
  padding-left: 0; }

.mobile-row-grid .region:last-child .experience-component {
  margin-right: 0; }

@media (min-width: 576px) {
  .mobile-row-grid .experience-component {
    margin-right: 0.9rem; } }

@media (min-width: 1024px) {
  .mobile-row-grid {
    padding-right: 4rem;
    padding-left: 4rem; } }

/* stylelint-disable */
.custom-layout .image-and-text-container .image-wrapper {
  height: auto;
  margin-bottom: 0; }

.custom-layout .six-buttons,
.custom-layout .six-buttons .content-wrapper {
  height: 100%; }

.custom-layout .experience-component,
.custom-layout .text-button-block,
.custom-layout .text-button-block .content-wrapper {
  height: 100%; }

.custom-layout .-with-margin {
  margin-bottom: 0.4rem; }

.custom-layout .experience-commerce_assets-imageAndText,
.custom-layout .image-and-text-container,
.custom-layout .image-and-text-container > .row {
  height: 100%; }

.experience-commerce_layouts-mobileGrid1r1c > .container-fluid .region {
  overflow: hidden;
  padding-right: 0;
  padding-left: 0; }

.experience-commerce_layouts-mobileGrid2r1c > .container-fluid .region {
  padding-right: 0;
  padding-left: 0; }

.experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-first,
.experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-first,
.experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-third,
.experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-five,
.experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-first,
.experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-second,
.experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-third,
.experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-four,
.experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-first,
.experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-third {
  padding-left: 0; }

.experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-third,
.experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-second,
.experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-four,
.experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-six,
.experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-six,
.experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-second,
.experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-fourth,
.experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-first,
.experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-second,
.experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-third {
  padding-right: 0; }

.custom-layout.container-fluid .col-lg-3.-left {
  padding-left: 0; }

.custom-layout.container-fluid .col-lg-3.-right {
  padding-right: 0; }

.custom-layout.container-fluid .col-lg-6 {
  padding-right: 0;
  padding-left: 0; }

.pd-gutters .region {
  margin-bottom: 0.4rem; }

.no-space .-with-margin,
.no-space .region {
  margin-bottom: 0; }

@media (min-width: 768px) {
  .experience-commerce_layouts-mobileGrid2r1c > .container-fluid .region.-left,
  .experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-first,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-four {
    padding-right: 0.2rem; }
  .experience-commerce_layouts-mobileGrid2r1c > .container-fluid .region.-right,
  .experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-four,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-five {
    padding-left: 0.2rem; }
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-four {
    padding-left: 0; }
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-third {
    padding-right: 0; } }

@media (min-width: 1024px) {
  .custom-layout .-with-margin {
    margin-bottom: 0; }
  .experience-commerce_layouts-mobileGrid2r1c > .container-fluid .region.-left,
  .experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-first,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-four {
    padding-right: 0.4rem; }
  .experience-commerce_layouts-mobileGrid2r1c > .container-fluid .region.-right,
  .experience-commerce_layouts-mobileGrid2r2c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-second,
  .experience-commerce_layouts-mobileGrid3r1c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-third,
  .experience-commerce_layouts-mobileGrid2r3c > .container-fluid .region.-four,
  .experience-commerce_layouts-mobileGrid3r2c > .container-fluid .region.-five {
    padding-left: 0.4rem; }
  .pd-gutters > [class*='col-'],
  .pd-gutters .col {
    padding-right: 0.4rem;
    padding-left: 0.4rem; }
  .wrapper-252550.container-fluid .col-lg-3.-left {
    padding-left: 0; }
  .wrapper-252550.container-fluid .col-lg-3.-right {
    padding-right: 0.4rem; }
  .wrapper-252550.container-fluid .col-lg-6 {
    padding-right: 0;
    padding-left: 0.4rem; }
  .wrapper-255025.container-fluid .col-lg-6 {
    padding-right: 0.4rem;
    padding-left: 0.4rem; }
  .wrapper-502525.container-fluid .col-lg-6 {
    padding-right: 0.4rem;
    padding-left: 0; }
  .wrapper-502525.container-fluid .col-lg-3.-left {
    padding-left: 0.4rem; } }

/* stylelint-enable */
/* stylelint-disable */
.image-text-btn {
  position: relative;
  height: 52.9rem; }

.image-text-btn .small-text.-absolute {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0 2rem; }

.image-text-btn .buttons-wrapper.-vertical-mobile .btn-wrapper:not(:first-child) a {
  margin-top: 2rem; }

.image-text-btn .buttons-wrapper.-horizontal-mobile .btn-wrapper,
.image-text-btn .buttons-wrapper.-horizontal-desktop .btn-wrapper {
  width: 100%; }

.image-text-btn .buttons-wrapper.-horizontal-mobile .btn-wrapper.autowidth,
.image-text-btn .buttons-wrapper.-horizontal-desktop .btn-wrapper.autowidth {
  width: auto; }

.image-text-btn .buttons-wrapper.-horizontal-mobile.center,
.image-text-btn .buttons-wrapper.-horizontal-desktop.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.image-text-btn .video-block {
  width: 100%;
  height: 100%; }

.image-text-btn.-has-image {
  height: auto; }

.image-text-btn.-has-image .image-wrapper {
  position: static; }

.image-text-btn .wrapper {
  position: absolute;
  bottom: 0;
  left: 0; }

.image-text-btn .vertical-mobile-top.wrapper {
  top: 2rem; }

.image-text-btn .vertical-mobile-center.wrapper {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  bottom: auto; }

.image-text-btn.-has-image .image {
  height: auto; }

.image-text-btn .text.text-center p,
.image-text-btn .text.text-center h1,
.image-text-btn .text.text-center h2,
.image-text-btn .text.text-center h3,
.image-text-btn .text.text-center h4 {
  margin-right: auto;
  margin-left: auto; }

.image-text-btn .countdown-wrapper.text-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.image-text-btn.-centered .btn-wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0; }

.image-text-btn.-centered .content-wrapper h1,
.image-text-btn.-centered .content-wrapper h2,
.image-text-btn.-centered .content-wrapper h3,
.image-text-btn.-centered .content-wrapper h4,
.image-text-btn.-centered .content-wrapper h5,
.image-text-btn.-centered .content-wrapper h6 {
  margin-bottom: 0.8rem; }

.image-text-btn .image-wrapper {
  position: absolute;
  z-index: auto;
  top: 0;
  width: 100%;
  height: 100%; }

.image-text-btn .link {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: initial;
  text-decoration: none; }

.image-text-btn .btn-wrapper {
  z-index: 1; }
  .image-text-btn .btn-wrapper .btn {
    padding-right: 0;
    padding-left: 0; }

.image-text-btn .image-wrapper .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.image-text-btn .wrapper {
  margin-bottom: 2rem; }

.image-text-btn .btn {
  width: 100%;
  margin-top: 1rem; }

.image-text-btn .small-text {
  margin-bottom: 0.8rem; }

.image-text-btn .small-text p {
  max-width: 100%; }

@media (max-width: 767.98px) {
  .image-text-btn .left.vertical-mobile-center {
    width: 100%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
  .image-text-btn .center.vertical-mobile-center {
    height: 100%;
    background-image: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 82%); }
  .image-text-btn .left.vertical-mobile-top {
    height: 100%;
    background-image: linear-gradient(133deg, #000 -40%, rgba(0, 0, 0, 0) 100%); }
  .image-text-btn .center.vertical-mobile-top {
    top: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-40%, #000), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(180deg, #000 -40%, rgba(0, 0, 0, 0) 100%); } }

@media (min-width: 768px) {
  .image-text-btn {
    height: 86.6rem; }
  .image-text-btn .buttons-wrapper.-horizontal-mobile .btn-wrapper,
  .image-text-btn .buttons-wrapper.-horizontal-desktop .btn-wrapper {
    width: auto; }
  .image-text-btn .vertical-desktop-center.wrapper {
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
  .image-text-btn .vertical-desktop-top.wrapper {
    top: 2rem;
    -webkit-transform: none;
            transform: none; }
  .image-text-btn .vertical-desktop-bottom.wrapper {
    top: auto;
    bottom: 0;
    -webkit-transform: none;
            transform: none; }
  .image-text-btn .buttons-wrapper .btn-wrapper {
    width: auto; }
  .image-text-btn .content-wrapper.text-center {
    margin-right: auto;
    margin-left: auto; }
  .image-text-btn.-centered .content-wrapper {
    max-width: 60rem;
    margin: inherit; }
  .image-text-btn.-centered .btn-wrapper {
    position: static;
    text-align: center; }
  .image-text-btn.-centered .btn {
    min-width: 27.7rem; }
  .image-text-btn.-centered .content-wrapper h1,
  .image-text-btn.-centered .content-wrapper h2,
  .image-text-btn.-centered .content-wrapper h3,
  .image-text-btn.-centered .content-wrapper h4,
  .image-text-btn.-centered .content-wrapper h5,
  .image-text-btn.-centered .content-wrapper h6 {
    max-width: 48rem;
    margin-right: auto;
    margin-bottom: 1.5rem;
    margin-left: auto; }
  .image-text-btn .content-wrapper {
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin: unset; }
  .image-text-btn .btn:not(.-white-underlined):not(.-black-underlined) {
    width: auto;
    min-width: 25.6rem; }
  .image-text-btn .left.vertical-desktop-bottom {
    width: 100%;
    background-image: linear-gradient(45deg, #000 -40%, rgba(0, 0, 0, 0) 60%); }
  .image-text-btn .center.vertical-desktop-bottom {
    background-image: -webkit-gradient(linear, left bottom, left top, color-stop(-40%, #000), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(360deg, #000 -40%, rgba(0, 0, 0, 0) 100%); }
  .image-text-btn .left.vertical-desktop-top {
    width: 100%;
    background-image: linear-gradient(135deg, #000 -40%, rgba(0, 0, 0, 0) 60%); }
  .image-text-btn .center.vertical-desktop-top {
    width: 100%;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(-40%, #000), color-stop(60%, rgba(0, 0, 0, 0)));
    background-image: linear-gradient(180deg, #000 -40%, rgba(0, 0, 0, 0) 60%); } }

@media (max-width: 1023.98px) {
  .image-text-btn .buttons-wrapper.-horizontal-mobile {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .image-text-btn .buttons-wrapper.-horizontal-mobile .btn-wrapper:not(:last-child) {
    margin-right: 2rem; } }

@media (min-width: 1024px) {
  .image-text-btn {
    height: 63rem; }
  .image-text-btn .countdown-wrapper.text-center {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .image-text-btn .desktop-align-right p:not(.item),
  .image-text-btn .desktop-align-right h1:not(.item),
  .image-text-btn .desktop-align-right h2:not(.item),
  .image-text-btn .desktop-align-right h3:not(.item),
  .image-text-btn .desktop-align-right h4:not(.item),
  .image-text-btn .small-text.desktop-align-right,
  .image-text-btn .desktop-align-right .countdown-wrapper {
    margin-right: 0 !important;
    margin-left: auto;
    text-align: left; }
  .image-text-btn .desktop-align-right .buttons-wrapper {
    max-width: 50rem;
    margin-left: auto; }
  .image-text-btn .desktop-align-right .buttons-wrapper.-horizontal-desktop {
    -webkit-box-pack: end !important;
        -ms-flex-pack: end !important;
            justify-content: flex-end !important; }
  .image-text-btn .desktop-align-right .btn-wrapper {
    margin-right: auto !important; }
  .image-text-btn .desktop-align-center .content-wrapper {
    text-align: center !important; }
  .image-text-btn .desktop-align-center .buttons-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .image-text-btn .desktop-align-center p:not(.item),
  .image-text-btn .desktop-align-center h1:not(.item),
  .image-text-btn .desktop-align-center h2:not(.item),
  .image-text-btn .desktop-align-center h3:not(.item),
  .image-text-btn .desktop-align-center h4:not(.item),
  .image-text-btn .desktop-align-center .countdown-wrapper {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center; }
  .image-text-btn .desktop-align-center .countdown-wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .image-text-btn .desktop-align-left p,
  .image-text-btn .desktop-align-left h1,
  .image-text-btn .desktop-align-left h2,
  .image-text-btn .desktop-align-left h3,
  .image-text-btn .desktop-align-left h4 {
    margin-right: auto !important;
    margin-left: 0 !important;
    text-align: left; }
  .image-text-btn .desktop-align-left .buttons-wrapper {
    -webkit-box-align: start !important;
        -ms-flex-align: start !important;
            align-items: flex-start !important;
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important; }
  .image-text-btn .buttons-wrapper.-horizontal-desktop .btn-wrapper:not(:last-child) {
    margin-right: 2rem; }
  .image-text-btn .buttons-wrapper.-horizontal-desktop {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .image-text-btn .small-text.-absolute {
    padding: 0 4rem; }
  .image-text-btn.-centered {
    height: 70.4rem; }
  .image-text-btn.-centered .content-wrapper {
    max-width: none; }
  .image-text-btn.-centered .content-wrapper h1,
  .image-text-btn.-centered .content-wrapper h2,
  .image-text-btn.-centered .content-wrapper h3,
  .image-text-btn.-centered .content-wrapper h4,
  .image-text-btn.-centered .content-wrapper h5,
  .image-text-btn.-centered .content-wrapper h6 {
    max-width: none; }
  .image-text-btn.-centered p {
    max-width: 65rem;
    margin-right: auto;
    margin-left: auto; }
  .image-text-btn .content-wrapper {
    max-width: none; }
  .image-text-btn p {
    max-width: 64rem; }
  .image-text-btn .decreased-width p,
  .image-text-btn .decreased-width h1,
  .image-text-btn .decreased-width h2,
  .image-text-btn .decreased-width h3,
  .image-text-btn .decreased-width h4,
  .image-text-btn .decreased-width.countdown-wrapper {
    max-width: 50rem; }
  .image-text-btn .btn:not(.-white-underlined):not(.-black-underlined) {
    min-width: 25.6rem; } }

/* stylelint-enable */
.photo-tile-container .photo-tile-image {
  width: 100%;
  height: 21.4rem;
  -o-object-fit: cover;
     object-fit: cover; }

@media (min-width: 768px) {
  .photo-tile-container .photo-tile-image {
    height: 30.6rem; } }

@media (min-width: 1024px) {
  .photo-tile-container .photo-tile-image {
    height: 57.8rem; } }

.textbox .content-wrapper {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }

.textbox .description p {
  margin-bottom: 0; }

.textbox h1,
.textbox h2,
.textbox h3,
.textbox h4,
.textbox h5,
.textbox h6 {
  margin-bottom: 1.8rem; }

@media (min-width: 768px) {
  .textbox h1,
  .textbox h2,
  .textbox h3,
  .textbox h4,
  .textbox h5,
  .textbox h6 {
    margin-bottom: 2.1rem; } }

.two-col-image-text .image-wrapper {
  margin-bottom: 1rem; }

.two-col-image-text .autowidth .btn {
  width: auto; }

.two-col-image-text .autowidth {
  min-width: auto !important; }

.two-col-image-text .-equal-buttons .btn-wrapper {
  width: 50%;
  min-width: 50%; }

.two-col-image-text .btn-wrapper {
  margin-bottom: 11px; }

.two-col-image-text .btn {
  width: 100%; }

.two-col-image-text .promo-wrapper {
  padding: 2rem; }

.two-col-image-text .image {
  width: 100%; }

@media (min-width: 768px) {
  .two-col-image-text {
    /* stylelint-disable*/
    /* stylelint-enable  */ }
    .two-col-image-text .image-wrapper {
      margin-bottom: 0; }
    .two-col-image-text .-equal-buttons .btn-wrapper,
    .two-col-image-text .-equal-buttons .btn {
      min-width: auto; }
    .two-col-image-text .text-center .text-wrapper p {
      margin-right: auto;
      margin-left: auto; }
    .two-col-image-text .btn:not(.-white-underlined):not(.-black-underlined) {
      width: auto;
      min-width: 26.5rem;
      margin: auto; } }

@media (min-width: 1024px) {
  .two-col-image-text .text-wrapper p {
    max-width: 60rem; }
  .two-col-image-text .decreased-width p {
    max-width: 40rem; } }

.video-block .frame-wrapper {
  position: relative;
  padding: 56.25% 0 0; }

.video-block .frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.clp-carousel h1,
.clp-carousel h2,
.clp-carousel h3,
.clp-carousel h4,
.clp-carousel h5,
.clp-carousel h6 {
  margin-bottom: 1.8rem;
  letter-spacing: 0.2rem; }

.clp-carousel .slider-wrapper {
  margin-bottom: 2.5rem; }

.clp-carousel .btn-wrapper .btn {
  width: 100%; }

@media (min-width: 768px) {
  .clp-carousel {
    margin-right: auto;
    margin-left: auto; }
  .clp-carousel .btn-wrapper .btn {
    width: auto; } }

@media (min-width: 1024px) {
  .clp-carousel .slider-wrapper {
    margin-bottom: 0; } }

.six-buttons.-has-image,
.six-buttons .coupon-text-pd {
  position: relative; }

.six-buttons.-has-image .content-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.six-buttons .image-gradient {
  top: 0; }

.six-buttons .six-buttons-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.six-buttons .six-buttons-wrapper .btn-wrapper {
  width: 47.5%;
  margin-bottom: 0.7rem; }

.six-buttons .six-buttons-wrapper .btn:not(.-white-underlined):not(.-black-underlined) {
  width: 100%; }

.six-buttons .content-wrapper {
  padding-top: 2.5rem;
  padding-bottom: 0.7rem; }

.six-buttons .wrapper {
  position: relative; }

@media (min-width: 768px) {
  .six-buttons .six-buttons-wrapper .btn-wrapper {
    width: 32%; }
  .six-buttons .six-buttons-wrapper .btn:not(.-white-underlined):not(.-black-underlined) {
    width: 100%; } }

@media (min-width: 1024px) {
  .six-buttons .content-wrapper {
    padding-bottom: 2.5rem; } }

.two-col-two-images .block-title h1,
.two-col-two-images .block-title h2,
.two-col-two-images .block-title h3,
.two-col-two-images .block-title h4,
.two-col-two-images .block-title h5,
.two-col-two-images .block-title h6,
.two-col-two-images .block-title p {
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-bottom: 0; }

.two-col-two-images .image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover; }

.two-col-two-images .large-image-wrapper.order-first {
  margin-bottom: 2rem; }

.two-col-two-images .small-image-wrapper .image {
  margin-bottom: 0rem; }

.two-col-two-images .small-image-wrapper.order-first {
  margin-bottom: 4rem; }

.two-col-two-images .-vertical .btn-wrapper:not(:first-child) {
  margin-top: 2rem; }

.two-col-two-images .btn:not(.-white-underlined):not(.-black-underlined) {
  display: block; }

@media (max-width: 767.98px) {
  .block-title h1,
  .block-title h2,
  .block-title h3,
  .block-title h4,
  .block-title h5,
  .block-title h6 {
    letter-spacing: 0.1rem;
    line-height: 3.2rem; } }

@media (min-width: 768px) {
  .two-col-two-images .large-image-wrapper .image {
    height: 54.6rem; }
  .two-col-two-images .large-image-wrapper {
    width: 53%; }
  .two-col-two-images .large-image-wrapper.order-first {
    margin-bottom: 0; }
  .two-col-two-images .small-image-wrapper {
    width: 45%; }
  .two-col-two-images .small-image-wrapper .content-wrapper {
    max-width: 35.2rem; }
  .two-col-two-images .small-image-wrapper .link-wrapper {
    margin-bottom: 4rem; }
  .two-col-two-images .btn-wrapper .btn {
    width: auto; } }

@media (min-width: 1024px) {
  .two-col-two-images .block-title h1,
  .two-col-two-images .block-title h2,
  .two-col-two-images .block-title h3,
  .two-col-two-images .block-title h4,
  .two-col-two-images .block-title h5,
  .two-col-two-images .block-title h6,
  .two-col-two-images .block-title p {
    padding-bottom: 2.5rem; }
  .two-col-two-images .large-image-wrapper .image {
    height: 100%; }
  .two-col-two-images .large-image-wrapper {
    width: 60%; }
  .two-col-two-images .small-image-wrapper {
    width: 40%; } }

.shop-category-component {
  position: relative; }
  @media (min-width: 768px) {
    .shop-category-component {
      padding: 2em 4em; } }
  @media (min-width: 375px) {
    .shop-category-component {
      padding: 1em 2em; } }

.shop-category-component-filter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  -webkit-filter: brightness(40%);
          filter: brightness(40%); }

.shop-category-header {
  color: #00174f;
  font-family: FuturaSTD;
  font-weight: 900; }
  @media (min-width: 1024px) {
    .shop-category-header {
      padding-right: 4em; } }
  @media (min-width: 768px) {
    .shop-category-header {
      padding-right: 2em; } }

.shop-category-header-text-color-other {
  color: #fff; }

.shop-category-label {
  padding: 0.375em 0.5em;
  font-family: FuturaSTD;
  text-decoration: underline; }
  @media (min-width: 768px) {
    .shop-category-label {
      padding: 0.625em 1.5em; } }

.shop-category-label-a {
  color: #00174f !important; }

.shop-category-label-a-color-other {
  color: #fff !important; }

.search-banner.-mobile {
  padding: 0 2rem; }

.page-title.-plp {
  padding-top: 1.6rem;
  padding-bottom: 2rem;
  text-align: left; }

.page-title.-srp {
  padding-top: 2.5rem;
  font-weight: 400; }

@media (min-width: 768px) {
  .page-title.-plp {
    padding-top: 1.6rem;
    padding-bottom: 1.3rem; }
  .page-title.-srp {
    padding-top: 4.4rem;
    margin-bottom: 1.8rem; } }

@media (min-width: 1024px) {
  .search-banner {
    position: relative;
    max-width: 192rem;
    margin: auto; }
  .search-banner .image-wrapper {
    margin-top: 2rem; }
  .search-banner .page-title {
    padding: 1.6rem 4rem;
    color: #000; }
  .search-banner .page-title.with-image {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    position: absolute;
    width: 100%;
    color: #fff;
    text-align: left; }
  .search-banner .image {
    width: 100%;
    height: 32.6rem;
    -o-object-fit: cover;
       object-fit: cover; }
  .page-title.-plp {
    padding-bottom: 0.5rem; } }

/* stylelint-disable */
.banner-carousel {
  overflow: hidden; }

.banner-carousel .swiper-button-next,
.banner-carousel .swiper-button-prev {
  -webkit-transform: none;
          transform: none; }

.banner-carousel .image-and-text-container .image-wrapper {
  height: auto; }

.banner-carousel .image-and-text-container .image-heading-container {
  right: 0;
  left: 0; }

.banner-carousel .swiper-container:not(.initialized) .swiper-slide {
  height: 0; }

.banner-carousel .shading-enabled .swiper-slide {
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.6); }

.banner-carousel .shading-enabled .swiper-container {
  padding: 0.4rem 0.4rem;
  -webkit-transform: translate(-0.4rem, -0.4rem);
          transform: translate(-0.4rem, -0.4rem); }

.banner-carousel .product-tile-body,
.banner-carousel .image-text-btn {
  margin-bottom: 0 !important; }

.banner-carousel .product-tile-body {
  padding-bottom: 0; }

.banner-carousel .narrow-column,
.banner-carousel .wide-column {
  width: 100%; }

.banner-carousel .clp-carousel {
  margin-top: -2rem; }

.banner-carousel .product-tile-pd {
  background-color: #fff; }

.banner-carousel .product-tile-pd .btn-wrapper,
.banner-carousel .product-tile-pd .sizes-overlay {
  display: none !important; }

@media (max-width: 767.98px) {
  .banner-carousel .mobile-shifted.clp-carousel {
    margin-left: 2rem; }
  .banner-carousel .mobile-shifted .swiper-container {
    width: 106%; }
  .banner-carousel .mobile-shifted .swiper-button-next {
    right: 2.6rem; }
  .banner-carousel .mobile-two-tiles {
    margin-left: 0 !important; }
  .banner-carousel .mobile-two-tiles .swiper-container {
    width: 100% !important; }
  .banner-carousel .mobile-centered .swiper-container {
    width: 49.5%; }
  .banner-carousel .clp-carousel.mobile-centered {
    margin-left: 0; } }

@media (min-width: 768px) and (max-width: 1439.98px) {
  .banner-carousel .clp-carousel {
    margin-top: -23.5%; }
  .banner-carousel .tablet-1 .swiper-container {
    width: 31%; }
  .banner-carousel .tablet-2 .swiper-container {
    width: 63%; }
  .banner-carousel .tablet-3 .swiper-container {
    width: 95%; } }

@media (min-width: 1024px) {
  .banner-carousel .clp-carousel {
    margin-top: -2rem; } }

@media (min-width: 1200px) {
  .banner-carousel .product-tile .product-tile-body {
    padding-right: 1rem;
    padding-left: 1rem; } }

@media (min-width: 1200px) {
  .banner-carousel {
    padding-right: 0; }
  .banner-carousel.change-order .columns-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .banner-carousel.change-order .desktop-2 .swiper-container {
    margin-right: -7.3rem;
    margin-left: auto; }
  .banner-carousel.change-order .desktop-3 .swiper-container {
    margin-right: -72%;
    margin-left: auto; }
  .banner-carousel.container {
    padding-top: 4rem;
    padding-bottom: 4rem; }
  .banner-carousel .columns-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .banner-carousel .wide-column {
    width: 72%; }
  .banner-carousel .narrow-column {
    width: 28%; }
  .banner-carousel .clp-carousel {
    margin-top: 0; }
  .banner-carousel .desktop-1 .swiper-container {
    width: 52.5%; }
  .banner-carousel .desktop-2 .swiper-container {
    width: 107.2%;
    margin-left: -7.3rem; }
  .banner-carousel .desktop-3 .swiper-container {
    width: 165%;
    margin-left: -72%; } }

/* stylelint-enable */
.newsletter-pd .email-subscription {
  padding: 3rem 2rem 2.8rem;
  background-color: transparent;
  color: #000; }

.newsletter-pd .js-subscribe-email.-black-underlined,
.newsletter-pd .js-subscribe-email.-white-underlined {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none; }

.newsletter-pd .form-control {
  background-color: #fff;
  color: #000; }

.newsletter-pd .js-form {
  width: 100%; }

.newsletter-pd .main-text {
  margin-bottom: 0.8rem; }

.newsletter-pd .main-text h1,
.newsletter-pd .main-text h2,
.newsletter-pd .main-text h3,
.newsletter-pd .main-text h4,
.newsletter-pd .main-text h5,
.newsletter-pd .main-text h6 {
  margin-bottom: 2.3rem; }

.newsletter-pd .subscription-success h1,
.newsletter-pd .subscription-success h2,
.newsletter-pd .subscription-success h3,
.newsletter-pd .subscription-success h4,
.newsletter-pd .subscription-success h5,
.newsletter-pd .subscription-success h6 {
  margin-bottom: 2rem; }

.newsletter-pd .subscription-success p:last-child {
  margin-bottom: 0; }

.newsletter-pd .email-wrapper {
  margin-bottom: 2rem; }

.newsletter-pd .additional {
  padding-top: 0.3rem; }

.newsletter-pd .checkbox-wrapper .custom-checkbox:not(:last-child) {
  margin-right: 4rem; }

.newsletter-pd .consent {
  margin-top: 2.5rem; }

@media (min-width: 768px) {
  .newsletter-pd .email-subscription {
    height: 100%;
    padding-top: 4rem; }
  .newsletter-pd .js-form {
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .newsletter-pd .image {
    width: 100%;
    height: 100%;
    min-height: 57.8rem;
    -o-object-fit: cover;
       object-fit: cover; }
  .newsletter-pd .btn.js-subscribe-email {
    margin: 0; }
  .newsletter-pd .subscription-success {
    height: auto;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center; } }

@media (min-width: 1200px) {
  .newsletter-pd .email-subscription {
    padding-right: 11.6rem;
    padding-left: 11.6rem; }
  .newsletter-pd .js-form {
    padding-top: 6rem; }
  .newsletter-pd .email-subscription .consent {
    margin-bottom: 1rem; } }

@media (min-width: 1920px) {
  .newsletter-pd .js-form {
    max-width: 56rem;
    padding-top: 11rem;
    margin-left: 9rem; } }

.gender-block {
  position: relative; }

.gender-block .buttons-block {
  position: absolute;
  bottom: 4rem;
  width: 100%; }

.gender-block .btn-wrapper:not(:last-child) {
  margin-bottom: 1.2rem; }

.gender-block .item {
  pointer-events: none; }

.gender-block .image {
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover; object-position: center top;';
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top; }

.gender-block .item:nth-child(1),
.gender-block .item:nth-child(3) {
  display: none; }

.gender-block .link-wrapper {
  display: block;
  height: calc(100vh - 10.5rem); }

.gender-block .btn:not(.-white-underlined):not(.-black-underlined) {
  min-width: 28rem; }

.body-wrapper.is-transparent .gender-block .link-wrapper {
  display: block;
  height: 100vh; }

@media (min-width: 768px) {
  .gender-block .btn:not(.-white-underlined):not(.-black-underlined) {
    display: block !important;
    width: 32rem;
    min-width: 32rem;
    margin: auto; }
  .gender-block .btn.-white-underlined,
  .gender-block .btn.-black-underlined {
    display: inline-block !important; } }

@media (min-width: 1024px) {
  .gender-block {
    pointer-events: none; }
  .gender-block .link-wrapper {
    height: calc(100vh - 11.1rem); }
  .gender-block:hover .item:not(:hover) {
    background-color: #fff;
    opacity: 0.7;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear; }
  .gender-block .item:nth-child(1),
  .gender-block .item:nth-child(3) {
    display: block; }
  .gender-block .link-wrapper {
    margin-right: 0.4rem;
    pointer-events: auto; }
  .gender-block .item .btn-wrapper {
    position: absolute;
    bottom: 4rem;
    width: 100%; }
  .gender-block .item:nth-child(3) .link-wrapper {
    margin-right: 0; }
  .body-wrapper.is-transparent .gender-block .link-wrapper {
    height: 100vh; } }

:root {
  /** ==================================================================== **/
  /** Create Custom CSS Variables from "sfra bootstrap override" variables **/
  /** ==================================================================== **/
  --color-white: #fff;
  --color-black: #000;
  --color-blue: #007bff;
  --color-green: #44b151;
  --color-primary: #00a1e0;
  --color-red: #d7373d;
  --color-success: var(--color-green);
  --color-danger: var(--color-red);
  --color-light-blue: #7ed0ee;
  --color-grey1: #f9f9f9;
  --color-grey2: #eee;
  --color-grey3: #ccc;
  --color-grey4: #999;
  --color-grey5: #666;
  --color-grey6: #444;
  --color-grey7: #222;
  --color-grey8: #333;
  --color-grey-transparent-1: rgba(0, 0, 0, 0.65);
  --color-grey-transparent-2: rgba(0, 0, 0, 0.25);
  --color-light-gray: var(--color-grey1);
  --color-slightly-darker-gray: var(--color-grey4);
  --color-dark-gray: var(--color-grey6);
  --color-darker-gray: var(--color-grey7);
  --color-horizontal-rule-grey: var(--color-grey3);
  --color-product-number-grey: var(--color-grey3);
  --color-horizontal-border-grey: var(--color-grey4);
  --color-menu-link: var(--color-grey6);
  --color-close-menu-bg: var(--color-grey2);
  --color-link-color: var(--color-dark-gray);
  --color-hr-border-color: var(--color-grey3);
  /** ==================================================================== **/
  /** Define skin named variables here                                    **/
  /** ==================================================================== **/
  --skin-background-color-1: var(--color-gray1);
  --skin-border-color-1: var(--color-white);
  --skin-main-text-color-1: var(--color-gray7);
  --skin-main-text-color-2: var(--color-gray7);
  --skin-menu-color-1: #444;
  --skin-menu-color-1-invert: var(--color-white);
  --skin-menu-color-2: #222;
  --skin-link-color-1: #444;
  --skin-link-color-2: var(--color-blue);
  --skin-primary-color-1: var(--color-primary);
  --skin-primary-color-2: var(--color-primary);
  --skin-primary-color-invert-1: var(--color-white);
  --skin-selectbox-background-color-1: var(--color-white);
  --skin-selectbox-text-color-1: var(--skin-main-text-color-1);
  --skin-banner-background-color-1: #444;
  --skin-banner-background-color-2: #222;
  --skin-banner-text-color-1: var(--color-white);
  --skin-heading-color-1: var(--color-primary);
  --skin-heading-color-1-invert: var(--color-white);
  --skin-price-1: var(--color-gray7);
  --skin-header-font: 'Dosis';
  --skin-body-font: var(--font-family-sans-serif); }

@media (max-width: 374.98px) {
  .pull-left-xxs {
    float: left; }
  .pull-right-xxs {
    float: right; } }

@media (min-width: 375px) {
  .pull-left-xs {
    float: left; }
  .pull-right-xs {
    float: right; } }

@media (min-width: 576px) and (max-width: 767.98px) {
  .pull-left-sm {
    float: left; }
  .pull-right-sm {
    float: right; } }

@media (min-width: 768px) and (max-width: 1023.98px) {
  .pull-left-md {
    float: left; }
  .pull-right-md {
    float: right; } }

@media (min-width: 1024px) and (max-width: 1199.98px) {
  .pull-left-lg {
    float: left; }
  .pull-right-lg {
    float: right; } }

@media (min-width: 1200px) and (max-width: 1439.98px) {
  .pull-left-xl {
    float: left; }
  .pull-right-xl {
    float: right; } }

@media (min-width: 1440px) and (max-width: 1919.98px) {
  .pull-left-xxl {
    float: left; }
  .pull-right-xxl {
    float: right; } }

@media (min-width: 1920px) {
  .pull-left-xxxl {
    float: left; }
  .pull-right-xxxl {
    float: right; } }

@media (max-width: 374.98px) {
  .hidden-xxs-down {
    display: none !important; } }

@media (max-width: 575.98px) {
  .hidden-xs-down {
    display: none !important; } }

@media (max-width: 767.98px) {
  .hidden-sm-down {
    display: none !important; } }

@media (max-width: 1023.98px) {
  .hidden-md-down {
    display: none !important; } }

@media (max-width: 1199.98px) {
  .hidden-lg-down {
    display: none !important; } }

@media (max-width: 1439.98px) {
  .hidden-xl-down {
    display: none !important; } }

@media (max-width: 1919.98px) {
  .hidden-xxl-down {
    display: none !important; } }

.hidden-xxxl-down {
  display: none !important; }

.row.equal-height > [class^="col"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flag-icon-background, .flag-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat; }

.flag-icon {
  position: relative;
  display: inline-block;
  width: 1.33333em;
  line-height: 1em; }
  .flag-icon:before {
    content: '\00a0'; }
  .flag-icon.flag-icon-squared {
    width: 1em; }

.flag-icon-ad {
  background-image: url(../fonts/flags//4x3/ad.svg); }
  .flag-icon-ad.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ad.svg); }

.flag-icon-ae {
  background-image: url(../fonts/flags//4x3/ae.svg); }
  .flag-icon-ae.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ae.svg); }

.flag-icon-af {
  background-image: url(../fonts/flags//4x3/af.svg); }
  .flag-icon-af.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/af.svg); }

.flag-icon-ag {
  background-image: url(../fonts/flags//4x3/ag.svg); }
  .flag-icon-ag.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ag.svg); }

.flag-icon-ai {
  background-image: url(../fonts/flags//4x3/ai.svg); }
  .flag-icon-ai.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ai.svg); }

.flag-icon-al {
  background-image: url(../fonts/flags//4x3/al.svg); }
  .flag-icon-al.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/al.svg); }

.flag-icon-am {
  background-image: url(../fonts/flags//4x3/am.svg); }
  .flag-icon-am.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/am.svg); }

.flag-icon-ao {
  background-image: url(../fonts/flags//4x3/ao.svg); }
  .flag-icon-ao.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ao.svg); }

.flag-icon-aq {
  background-image: url(../fonts/flags//4x3/aq.svg); }
  .flag-icon-aq.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/aq.svg); }

.flag-icon-ar {
  background-image: url(../fonts/flags//4x3/ar.svg); }
  .flag-icon-ar.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ar.svg); }

.flag-icon-as {
  background-image: url(../fonts/flags//4x3/as.svg); }
  .flag-icon-as.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/as.svg); }

.flag-icon-at {
  background-image: url(../fonts/flags//4x3/at.svg); }
  .flag-icon-at.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/at.svg); }

.flag-icon-au {
  background-image: url(../fonts/flags//4x3/au.svg); }
  .flag-icon-au.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/au.svg); }

.flag-icon-aw {
  background-image: url(../fonts/flags//4x3/aw.svg); }
  .flag-icon-aw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/aw.svg); }

.flag-icon-ax {
  background-image: url(../fonts/flags//4x3/ax.svg); }
  .flag-icon-ax.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ax.svg); }

.flag-icon-az {
  background-image: url(../fonts/flags//4x3/az.svg); }
  .flag-icon-az.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/az.svg); }

.flag-icon-ba {
  background-image: url(../fonts/flags//4x3/ba.svg); }
  .flag-icon-ba.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ba.svg); }

.flag-icon-bb {
  background-image: url(../fonts/flags//4x3/bb.svg); }
  .flag-icon-bb.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bb.svg); }

.flag-icon-bd {
  background-image: url(../fonts/flags//4x3/bd.svg); }
  .flag-icon-bd.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bd.svg); }

.flag-icon-be {
  background-image: url(../fonts/flags//4x3/be.svg); }
  .flag-icon-be.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/be.svg); }

.flag-icon-bf {
  background-image: url(../fonts/flags//4x3/bf.svg); }
  .flag-icon-bf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bf.svg); }

.flag-icon-bg {
  background-image: url(../fonts/flags//4x3/bg.svg); }
  .flag-icon-bg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bg.svg); }

.flag-icon-bh {
  background-image: url(../fonts/flags//4x3/bh.svg); }
  .flag-icon-bh.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bh.svg); }

.flag-icon-bi {
  background-image: url(../fonts/flags//4x3/bi.svg); }
  .flag-icon-bi.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bi.svg); }

.flag-icon-bj {
  background-image: url(../fonts/flags//4x3/bj.svg); }
  .flag-icon-bj.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bj.svg); }

.flag-icon-bl {
  background-image: url(../fonts/flags//4x3/bl.svg); }
  .flag-icon-bl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bl.svg); }

.flag-icon-bm {
  background-image: url(../fonts/flags//4x3/bm.svg); }
  .flag-icon-bm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bm.svg); }

.flag-icon-bn {
  background-image: url(../fonts/flags//4x3/bn.svg); }
  .flag-icon-bn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bn.svg); }

.flag-icon-bo {
  background-image: url(../fonts/flags//4x3/bo.svg); }
  .flag-icon-bo.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bo.svg); }

.flag-icon-bq {
  background-image: url(../fonts/flags//4x3/bq.svg); }
  .flag-icon-bq.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bq.svg); }

.flag-icon-br {
  background-image: url(../fonts/flags//4x3/br.svg); }
  .flag-icon-br.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/br.svg); }

.flag-icon-bs {
  background-image: url(../fonts/flags//4x3/bs.svg); }
  .flag-icon-bs.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bs.svg); }

.flag-icon-bt {
  background-image: url(../fonts/flags//4x3/bt.svg); }
  .flag-icon-bt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bt.svg); }

.flag-icon-bv {
  background-image: url(../fonts/flags//4x3/bv.svg); }
  .flag-icon-bv.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bv.svg); }

.flag-icon-bw {
  background-image: url(../fonts/flags//4x3/bw.svg); }
  .flag-icon-bw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bw.svg); }

.flag-icon-by {
  background-image: url(../fonts/flags//4x3/by.svg); }
  .flag-icon-by.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/by.svg); }

.flag-icon-bz {
  background-image: url(../fonts/flags//4x3/bz.svg); }
  .flag-icon-bz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/bz.svg); }

.flag-icon-ca {
  background-image: url(../fonts/flags//4x3/ca.svg); }
  .flag-icon-ca.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ca.svg); }

.flag-icon-cc {
  background-image: url(../fonts/flags//4x3/cc.svg); }
  .flag-icon-cc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cc.svg); }

.flag-icon-cd {
  background-image: url(../fonts/flags//4x3/cd.svg); }
  .flag-icon-cd.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cd.svg); }

.flag-icon-cf {
  background-image: url(../fonts/flags//4x3/cf.svg); }
  .flag-icon-cf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cf.svg); }

.flag-icon-cg {
  background-image: url(../fonts/flags//4x3/cg.svg); }
  .flag-icon-cg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cg.svg); }

.flag-icon-ch {
  background-image: url(../fonts/flags//4x3/ch.svg); }
  .flag-icon-ch.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ch.svg); }

.flag-icon-ci {
  background-image: url(../fonts/flags//4x3/ci.svg); }
  .flag-icon-ci.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ci.svg); }

.flag-icon-ck {
  background-image: url(../fonts/flags//4x3/ck.svg); }
  .flag-icon-ck.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ck.svg); }

.flag-icon-cl {
  background-image: url(../fonts/flags//4x3/cl.svg); }
  .flag-icon-cl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cl.svg); }

.flag-icon-cm {
  background-image: url(../fonts/flags//4x3/cm.svg); }
  .flag-icon-cm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cm.svg); }

.flag-icon-cn {
  background-image: url(../fonts/flags//4x3/cn.svg); }
  .flag-icon-cn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cn.svg); }

.flag-icon-co {
  background-image: url(../fonts/flags//4x3/co.svg); }
  .flag-icon-co.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/co.svg); }

.flag-icon-cr {
  background-image: url(../fonts/flags//4x3/cr.svg); }
  .flag-icon-cr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cr.svg); }

.flag-icon-cu {
  background-image: url(../fonts/flags//4x3/cu.svg); }
  .flag-icon-cu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cu.svg); }

.flag-icon-cv {
  background-image: url(../fonts/flags//4x3/cv.svg); }
  .flag-icon-cv.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cv.svg); }

.flag-icon-cw {
  background-image: url(../fonts/flags//4x3/cw.svg); }
  .flag-icon-cw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cw.svg); }

.flag-icon-cx {
  background-image: url(../fonts/flags//4x3/cx.svg); }
  .flag-icon-cx.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cx.svg); }

.flag-icon-cy {
  background-image: url(../fonts/flags//4x3/cy.svg); }
  .flag-icon-cy.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cy.svg); }

.flag-icon-cz {
  background-image: url(../fonts/flags//4x3/cz.svg); }
  .flag-icon-cz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/cz.svg); }

.flag-icon-de {
  background-image: url(../fonts/flags//4x3/de.svg); }
  .flag-icon-de.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/de.svg); }

.flag-icon-dj {
  background-image: url(../fonts/flags//4x3/dj.svg); }
  .flag-icon-dj.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/dj.svg); }

.flag-icon-dk {
  background-image: url(../fonts/flags//4x3/dk.svg); }
  .flag-icon-dk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/dk.svg); }

.flag-icon-dm {
  background-image: url(../fonts/flags//4x3/dm.svg); }
  .flag-icon-dm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/dm.svg); }

.flag-icon-do {
  background-image: url(../fonts/flags//4x3/do.svg); }
  .flag-icon-do.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/do.svg); }

.flag-icon-dz {
  background-image: url(../fonts/flags//4x3/dz.svg); }
  .flag-icon-dz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/dz.svg); }

.flag-icon-ec {
  background-image: url(../fonts/flags//4x3/ec.svg); }
  .flag-icon-ec.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ec.svg); }

.flag-icon-ee {
  background-image: url(../fonts/flags//4x3/ee.svg); }
  .flag-icon-ee.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ee.svg); }

.flag-icon-eg {
  background-image: url(../fonts/flags//4x3/eg.svg); }
  .flag-icon-eg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/eg.svg); }

.flag-icon-eh {
  background-image: url(../fonts/flags//4x3/eh.svg); }
  .flag-icon-eh.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/eh.svg); }

.flag-icon-er {
  background-image: url(../fonts/flags//4x3/er.svg); }
  .flag-icon-er.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/er.svg); }

.flag-icon-es {
  background-image: url(../fonts/flags//4x3/es.svg); }
  .flag-icon-es.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/es.svg); }

.flag-icon-et {
  background-image: url(../fonts/flags//4x3/et.svg); }
  .flag-icon-et.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/et.svg); }

.flag-icon-fi {
  background-image: url(../fonts/flags//4x3/fi.svg); }
  .flag-icon-fi.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/fi.svg); }

.flag-icon-fj {
  background-image: url(../fonts/flags//4x3/fj.svg); }
  .flag-icon-fj.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/fj.svg); }

.flag-icon-fk {
  background-image: url(../fonts/flags//4x3/fk.svg); }
  .flag-icon-fk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/fk.svg); }

.flag-icon-fm {
  background-image: url(../fonts/flags//4x3/fm.svg); }
  .flag-icon-fm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/fm.svg); }

.flag-icon-fo {
  background-image: url(../fonts/flags//4x3/fo.svg); }
  .flag-icon-fo.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/fo.svg); }

.flag-icon-fr {
  background-image: url(../fonts/flags//4x3/fr.svg); }
  .flag-icon-fr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/fr.svg); }

.flag-icon-ga {
  background-image: url(../fonts/flags//4x3/ga.svg); }
  .flag-icon-ga.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ga.svg); }

.flag-icon-gb {
  background-image: url(../fonts/flags//4x3/gb.svg); }
  .flag-icon-gb.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gb.svg); }

.flag-icon-gd {
  background-image: url(../fonts/flags//4x3/gd.svg); }
  .flag-icon-gd.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gd.svg); }

.flag-icon-ge {
  background-image: url(../fonts/flags//4x3/ge.svg); }
  .flag-icon-ge.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ge.svg); }

.flag-icon-gf {
  background-image: url(../fonts/flags//4x3/gf.svg); }
  .flag-icon-gf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gf.svg); }

.flag-icon-gg {
  background-image: url(../fonts/flags//4x3/gg.svg); }
  .flag-icon-gg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gg.svg); }

.flag-icon-gh {
  background-image: url(../fonts/flags//4x3/gh.svg); }
  .flag-icon-gh.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gh.svg); }

.flag-icon-gi {
  background-image: url(../fonts/flags//4x3/gi.svg); }
  .flag-icon-gi.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gi.svg); }

.flag-icon-gl {
  background-image: url(../fonts/flags//4x3/gl.svg); }
  .flag-icon-gl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gl.svg); }

.flag-icon-gm {
  background-image: url(../fonts/flags//4x3/gm.svg); }
  .flag-icon-gm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gm.svg); }

.flag-icon-gn {
  background-image: url(../fonts/flags//4x3/gn.svg); }
  .flag-icon-gn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gn.svg); }

.flag-icon-gp {
  background-image: url(../fonts/flags//4x3/gp.svg); }
  .flag-icon-gp.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gp.svg); }

.flag-icon-gq {
  background-image: url(../fonts/flags//4x3/gq.svg); }
  .flag-icon-gq.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gq.svg); }

.flag-icon-gr {
  background-image: url(../fonts/flags//4x3/gr.svg); }
  .flag-icon-gr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gr.svg); }

.flag-icon-gs {
  background-image: url(../fonts/flags//4x3/gs.svg); }
  .flag-icon-gs.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gs.svg); }

.flag-icon-gt {
  background-image: url(../fonts/flags//4x3/gt.svg); }
  .flag-icon-gt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gt.svg); }

.flag-icon-gu {
  background-image: url(../fonts/flags//4x3/gu.svg); }
  .flag-icon-gu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gu.svg); }

.flag-icon-gw {
  background-image: url(../fonts/flags//4x3/gw.svg); }
  .flag-icon-gw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gw.svg); }

.flag-icon-gy {
  background-image: url(../fonts/flags//4x3/gy.svg); }
  .flag-icon-gy.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gy.svg); }

.flag-icon-hk {
  background-image: url(../fonts/flags//4x3/hk.svg); }
  .flag-icon-hk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/hk.svg); }

.flag-icon-hm {
  background-image: url(../fonts/flags//4x3/hm.svg); }
  .flag-icon-hm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/hm.svg); }

.flag-icon-hn {
  background-image: url(../fonts/flags//4x3/hn.svg); }
  .flag-icon-hn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/hn.svg); }

.flag-icon-hr {
  background-image: url(../fonts/flags//4x3/hr.svg); }
  .flag-icon-hr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/hr.svg); }

.flag-icon-ht {
  background-image: url(../fonts/flags//4x3/ht.svg); }
  .flag-icon-ht.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ht.svg); }

.flag-icon-hu {
  background-image: url(../fonts/flags//4x3/hu.svg); }
  .flag-icon-hu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/hu.svg); }

.flag-icon-id {
  background-image: url(../fonts/flags//4x3/id.svg); }
  .flag-icon-id.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/id.svg); }

.flag-icon-ie {
  background-image: url(../fonts/flags//4x3/ie.svg); }
  .flag-icon-ie.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ie.svg); }

.flag-icon-il {
  background-image: url(../fonts/flags//4x3/il.svg); }
  .flag-icon-il.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/il.svg); }

.flag-icon-im {
  background-image: url(../fonts/flags//4x3/im.svg); }
  .flag-icon-im.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/im.svg); }

.flag-icon-in {
  background-image: url(../fonts/flags//4x3/in.svg); }
  .flag-icon-in.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/in.svg); }

.flag-icon-io {
  background-image: url(../fonts/flags//4x3/io.svg); }
  .flag-icon-io.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/io.svg); }

.flag-icon-iq {
  background-image: url(../fonts/flags//4x3/iq.svg); }
  .flag-icon-iq.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/iq.svg); }

.flag-icon-ir {
  background-image: url(../fonts/flags//4x3/ir.svg); }
  .flag-icon-ir.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ir.svg); }

.flag-icon-is {
  background-image: url(../fonts/flags//4x3/is.svg); }
  .flag-icon-is.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/is.svg); }

.flag-icon-it {
  background-image: url(../fonts/flags//4x3/it.svg); }
  .flag-icon-it.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/it.svg); }

.flag-icon-je {
  background-image: url(../fonts/flags//4x3/je.svg); }
  .flag-icon-je.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/je.svg); }

.flag-icon-jm {
  background-image: url(../fonts/flags//4x3/jm.svg); }
  .flag-icon-jm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/jm.svg); }

.flag-icon-jo {
  background-image: url(../fonts/flags//4x3/jo.svg); }
  .flag-icon-jo.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/jo.svg); }

.flag-icon-jp {
  background-image: url(../fonts/flags//4x3/jp.svg); }
  .flag-icon-jp.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/jp.svg); }

.flag-icon-ke {
  background-image: url(../fonts/flags//4x3/ke.svg); }
  .flag-icon-ke.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ke.svg); }

.flag-icon-kg {
  background-image: url(../fonts/flags//4x3/kg.svg); }
  .flag-icon-kg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kg.svg); }

.flag-icon-kh {
  background-image: url(../fonts/flags//4x3/kh.svg); }
  .flag-icon-kh.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kh.svg); }

.flag-icon-ki {
  background-image: url(../fonts/flags//4x3/ki.svg); }
  .flag-icon-ki.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ki.svg); }

.flag-icon-km {
  background-image: url(../fonts/flags//4x3/km.svg); }
  .flag-icon-km.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/km.svg); }

.flag-icon-kn {
  background-image: url(../fonts/flags//4x3/kn.svg); }
  .flag-icon-kn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kn.svg); }

.flag-icon-kp {
  background-image: url(../fonts/flags//4x3/kp.svg); }
  .flag-icon-kp.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kp.svg); }

.flag-icon-kr {
  background-image: url(../fonts/flags//4x3/kr.svg); }
  .flag-icon-kr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kr.svg); }

.flag-icon-kw {
  background-image: url(../fonts/flags//4x3/kw.svg); }
  .flag-icon-kw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kw.svg); }

.flag-icon-ky {
  background-image: url(../fonts/flags//4x3/ky.svg); }
  .flag-icon-ky.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ky.svg); }

.flag-icon-kz {
  background-image: url(../fonts/flags//4x3/kz.svg); }
  .flag-icon-kz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/kz.svg); }

.flag-icon-la {
  background-image: url(../fonts/flags//4x3/la.svg); }
  .flag-icon-la.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/la.svg); }

.flag-icon-lb {
  background-image: url(../fonts/flags//4x3/lb.svg); }
  .flag-icon-lb.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lb.svg); }

.flag-icon-lc {
  background-image: url(../fonts/flags//4x3/lc.svg); }
  .flag-icon-lc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lc.svg); }

.flag-icon-li {
  background-image: url(../fonts/flags//4x3/li.svg); }
  .flag-icon-li.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/li.svg); }

.flag-icon-lk {
  background-image: url(../fonts/flags//4x3/lk.svg); }
  .flag-icon-lk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lk.svg); }

.flag-icon-lr {
  background-image: url(../fonts/flags//4x3/lr.svg); }
  .flag-icon-lr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lr.svg); }

.flag-icon-ls {
  background-image: url(../fonts/flags//4x3/ls.svg); }
  .flag-icon-ls.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ls.svg); }

.flag-icon-lt {
  background-image: url(../fonts/flags//4x3/lt.svg); }
  .flag-icon-lt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lt.svg); }

.flag-icon-lu {
  background-image: url(../fonts/flags//4x3/lu.svg); }
  .flag-icon-lu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lu.svg); }

.flag-icon-lv {
  background-image: url(../fonts/flags//4x3/lv.svg); }
  .flag-icon-lv.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/lv.svg); }

.flag-icon-ly {
  background-image: url(../fonts/flags//4x3/ly.svg); }
  .flag-icon-ly.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ly.svg); }

.flag-icon-ma {
  background-image: url(../fonts/flags//4x3/ma.svg); }
  .flag-icon-ma.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ma.svg); }

.flag-icon-mc {
  background-image: url(../fonts/flags//4x3/mc.svg); }
  .flag-icon-mc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mc.svg); }

.flag-icon-md {
  background-image: url(../fonts/flags//4x3/md.svg); }
  .flag-icon-md.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/md.svg); }

.flag-icon-me {
  background-image: url(../fonts/flags//4x3/me.svg); }
  .flag-icon-me.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/me.svg); }

.flag-icon-mf {
  background-image: url(../fonts/flags//4x3/mf.svg); }
  .flag-icon-mf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mf.svg); }

.flag-icon-mg {
  background-image: url(../fonts/flags//4x3/mg.svg); }
  .flag-icon-mg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mg.svg); }

.flag-icon-mh {
  background-image: url(../fonts/flags//4x3/mh.svg); }
  .flag-icon-mh.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mh.svg); }

.flag-icon-mk {
  background-image: url(../fonts/flags//4x3/mk.svg); }
  .flag-icon-mk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mk.svg); }

.flag-icon-ml {
  background-image: url(../fonts/flags//4x3/ml.svg); }
  .flag-icon-ml.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ml.svg); }

.flag-icon-mm {
  background-image: url(../fonts/flags//4x3/mm.svg); }
  .flag-icon-mm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mm.svg); }

.flag-icon-mn {
  background-image: url(../fonts/flags//4x3/mn.svg); }
  .flag-icon-mn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mn.svg); }

.flag-icon-mo {
  background-image: url(../fonts/flags//4x3/mo.svg); }
  .flag-icon-mo.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mo.svg); }

.flag-icon-mp {
  background-image: url(../fonts/flags//4x3/mp.svg); }
  .flag-icon-mp.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mp.svg); }

.flag-icon-mq {
  background-image: url(../fonts/flags//4x3/mq.svg); }
  .flag-icon-mq.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mq.svg); }

.flag-icon-mr {
  background-image: url(../fonts/flags//4x3/mr.svg); }
  .flag-icon-mr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mr.svg); }

.flag-icon-ms {
  background-image: url(../fonts/flags//4x3/ms.svg); }
  .flag-icon-ms.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ms.svg); }

.flag-icon-mt {
  background-image: url(../fonts/flags//4x3/mt.svg); }
  .flag-icon-mt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mt.svg); }

.flag-icon-mu {
  background-image: url(../fonts/flags//4x3/mu.svg); }
  .flag-icon-mu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mu.svg); }

.flag-icon-mv {
  background-image: url(../fonts/flags//4x3/mv.svg); }
  .flag-icon-mv.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mv.svg); }

.flag-icon-mw {
  background-image: url(../fonts/flags//4x3/mw.svg); }
  .flag-icon-mw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mw.svg); }

.flag-icon-mx {
  background-image: url(../fonts/flags//4x3/mx.svg); }
  .flag-icon-mx.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mx.svg); }

.flag-icon-my {
  background-image: url(../fonts/flags//4x3/my.svg); }
  .flag-icon-my.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/my.svg); }

.flag-icon-mz {
  background-image: url(../fonts/flags//4x3/mz.svg); }
  .flag-icon-mz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/mz.svg); }

.flag-icon-na {
  background-image: url(../fonts/flags//4x3/na.svg); }
  .flag-icon-na.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/na.svg); }

.flag-icon-nc {
  background-image: url(../fonts/flags//4x3/nc.svg); }
  .flag-icon-nc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/nc.svg); }

.flag-icon-ne {
  background-image: url(../fonts/flags//4x3/ne.svg); }
  .flag-icon-ne.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ne.svg); }

.flag-icon-nf {
  background-image: url(../fonts/flags//4x3/nf.svg); }
  .flag-icon-nf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/nf.svg); }

.flag-icon-ng {
  background-image: url(../fonts/flags//4x3/ng.svg); }
  .flag-icon-ng.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ng.svg); }

.flag-icon-ni {
  background-image: url(../fonts/flags//4x3/ni.svg); }
  .flag-icon-ni.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ni.svg); }

.flag-icon-nl {
  background-image: url(../fonts/flags//4x3/nl.svg); }
  .flag-icon-nl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/nl.svg); }

.flag-icon-no {
  background-image: url(../fonts/flags//4x3/no.svg); }
  .flag-icon-no.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/no.svg); }

.flag-icon-np {
  background-image: url(../fonts/flags//4x3/np.svg); }
  .flag-icon-np.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/np.svg); }

.flag-icon-nr {
  background-image: url(../fonts/flags//4x3/nr.svg); }
  .flag-icon-nr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/nr.svg); }

.flag-icon-nu {
  background-image: url(../fonts/flags//4x3/nu.svg); }
  .flag-icon-nu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/nu.svg); }

.flag-icon-nz {
  background-image: url(../fonts/flags//4x3/nz.svg); }
  .flag-icon-nz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/nz.svg); }

.flag-icon-om {
  background-image: url(../fonts/flags//4x3/om.svg); }
  .flag-icon-om.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/om.svg); }

.flag-icon-pa {
  background-image: url(../fonts/flags//4x3/pa.svg); }
  .flag-icon-pa.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pa.svg); }

.flag-icon-pe {
  background-image: url(../fonts/flags//4x3/pe.svg); }
  .flag-icon-pe.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pe.svg); }

.flag-icon-pf {
  background-image: url(../fonts/flags//4x3/pf.svg); }
  .flag-icon-pf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pf.svg); }

.flag-icon-pg {
  background-image: url(../fonts/flags//4x3/pg.svg); }
  .flag-icon-pg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pg.svg); }

.flag-icon-ph {
  background-image: url(../fonts/flags//4x3/ph.svg); }
  .flag-icon-ph.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ph.svg); }

.flag-icon-pk {
  background-image: url(../fonts/flags//4x3/pk.svg); }
  .flag-icon-pk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pk.svg); }

.flag-icon-pl {
  background-image: url(../fonts/flags//4x3/pl.svg); }
  .flag-icon-pl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pl.svg); }

.flag-icon-pm {
  background-image: url(../fonts/flags//4x3/pm.svg); }
  .flag-icon-pm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pm.svg); }

.flag-icon-pn {
  background-image: url(../fonts/flags//4x3/pn.svg); }
  .flag-icon-pn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pn.svg); }

.flag-icon-pr {
  background-image: url(../fonts/flags//4x3/pr.svg); }
  .flag-icon-pr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pr.svg); }

.flag-icon-ps {
  background-image: url(../fonts/flags//4x3/ps.svg); }
  .flag-icon-ps.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ps.svg); }

.flag-icon-pt {
  background-image: url(../fonts/flags//4x3/pt.svg); }
  .flag-icon-pt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pt.svg); }

.flag-icon-pw {
  background-image: url(../fonts/flags//4x3/pw.svg); }
  .flag-icon-pw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/pw.svg); }

.flag-icon-py {
  background-image: url(../fonts/flags//4x3/py.svg); }
  .flag-icon-py.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/py.svg); }

.flag-icon-qa {
  background-image: url(../fonts/flags//4x3/qa.svg); }
  .flag-icon-qa.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/qa.svg); }

.flag-icon-re {
  background-image: url(../fonts/flags//4x3/re.svg); }
  .flag-icon-re.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/re.svg); }

.flag-icon-ro {
  background-image: url(../fonts/flags//4x3/ro.svg); }
  .flag-icon-ro.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ro.svg); }

.flag-icon-rs {
  background-image: url(../fonts/flags//4x3/rs.svg); }
  .flag-icon-rs.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/rs.svg); }

.flag-icon-ru {
  background-image: url(../fonts/flags//4x3/ru.svg); }
  .flag-icon-ru.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ru.svg); }

.flag-icon-rw {
  background-image: url(../fonts/flags//4x3/rw.svg); }
  .flag-icon-rw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/rw.svg); }

.flag-icon-sa {
  background-image: url(../fonts/flags//4x3/sa.svg); }
  .flag-icon-sa.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sa.svg); }

.flag-icon-sb {
  background-image: url(../fonts/flags//4x3/sb.svg); }
  .flag-icon-sb.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sb.svg); }

.flag-icon-sc {
  background-image: url(../fonts/flags//4x3/sc.svg); }
  .flag-icon-sc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sc.svg); }

.flag-icon-sd {
  background-image: url(../fonts/flags//4x3/sd.svg); }
  .flag-icon-sd.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sd.svg); }

.flag-icon-se {
  background-image: url(../fonts/flags//4x3/se.svg); }
  .flag-icon-se.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/se.svg); }

.flag-icon-sg {
  background-image: url(../fonts/flags//4x3/sg.svg); }
  .flag-icon-sg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sg.svg); }

.flag-icon-sh {
  background-image: url(../fonts/flags//4x3/sh.svg); }
  .flag-icon-sh.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sh.svg); }

.flag-icon-si {
  background-image: url(../fonts/flags//4x3/si.svg); }
  .flag-icon-si.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/si.svg); }

.flag-icon-sj {
  background-image: url(../fonts/flags//4x3/sj.svg); }
  .flag-icon-sj.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sj.svg); }

.flag-icon-sk {
  background-image: url(../fonts/flags//4x3/sk.svg); }
  .flag-icon-sk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sk.svg); }

.flag-icon-sl {
  background-image: url(../fonts/flags//4x3/sl.svg); }
  .flag-icon-sl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sl.svg); }

.flag-icon-sm {
  background-image: url(../fonts/flags//4x3/sm.svg); }
  .flag-icon-sm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sm.svg); }

.flag-icon-sn {
  background-image: url(../fonts/flags//4x3/sn.svg); }
  .flag-icon-sn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sn.svg); }

.flag-icon-so {
  background-image: url(../fonts/flags//4x3/so.svg); }
  .flag-icon-so.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/so.svg); }

.flag-icon-sr {
  background-image: url(../fonts/flags//4x3/sr.svg); }
  .flag-icon-sr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sr.svg); }

.flag-icon-ss {
  background-image: url(../fonts/flags//4x3/ss.svg); }
  .flag-icon-ss.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ss.svg); }

.flag-icon-st {
  background-image: url(../fonts/flags//4x3/st.svg); }
  .flag-icon-st.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/st.svg); }

.flag-icon-sv {
  background-image: url(../fonts/flags//4x3/sv.svg); }
  .flag-icon-sv.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sv.svg); }

.flag-icon-sx {
  background-image: url(../fonts/flags//4x3/sx.svg); }
  .flag-icon-sx.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sx.svg); }

.flag-icon-sy {
  background-image: url(../fonts/flags//4x3/sy.svg); }
  .flag-icon-sy.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sy.svg); }

.flag-icon-sz {
  background-image: url(../fonts/flags//4x3/sz.svg); }
  .flag-icon-sz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/sz.svg); }

.flag-icon-tc {
  background-image: url(../fonts/flags//4x3/tc.svg); }
  .flag-icon-tc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tc.svg); }

.flag-icon-td {
  background-image: url(../fonts/flags//4x3/td.svg); }
  .flag-icon-td.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/td.svg); }

.flag-icon-tf {
  background-image: url(../fonts/flags//4x3/tf.svg); }
  .flag-icon-tf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tf.svg); }

.flag-icon-tg {
  background-image: url(../fonts/flags//4x3/tg.svg); }
  .flag-icon-tg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tg.svg); }

.flag-icon-th {
  background-image: url(../fonts/flags//4x3/th.svg); }
  .flag-icon-th.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/th.svg); }

.flag-icon-tj {
  background-image: url(../fonts/flags//4x3/tj.svg); }
  .flag-icon-tj.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tj.svg); }

.flag-icon-tk {
  background-image: url(../fonts/flags//4x3/tk.svg); }
  .flag-icon-tk.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tk.svg); }

.flag-icon-tl {
  background-image: url(../fonts/flags//4x3/tl.svg); }
  .flag-icon-tl.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tl.svg); }

.flag-icon-tm {
  background-image: url(../fonts/flags//4x3/tm.svg); }
  .flag-icon-tm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tm.svg); }

.flag-icon-tn {
  background-image: url(../fonts/flags//4x3/tn.svg); }
  .flag-icon-tn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tn.svg); }

.flag-icon-to {
  background-image: url(../fonts/flags//4x3/to.svg); }
  .flag-icon-to.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/to.svg); }

.flag-icon-tr {
  background-image: url(../fonts/flags//4x3/tr.svg); }
  .flag-icon-tr.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tr.svg); }

.flag-icon-tt {
  background-image: url(../fonts/flags//4x3/tt.svg); }
  .flag-icon-tt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tt.svg); }

.flag-icon-tv {
  background-image: url(../fonts/flags//4x3/tv.svg); }
  .flag-icon-tv.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tv.svg); }

.flag-icon-tw {
  background-image: url(../fonts/flags//4x3/tw.svg); }
  .flag-icon-tw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tw.svg); }

.flag-icon-tz {
  background-image: url(../fonts/flags//4x3/tz.svg); }
  .flag-icon-tz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/tz.svg); }

.flag-icon-ua {
  background-image: url(../fonts/flags//4x3/ua.svg); }
  .flag-icon-ua.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ua.svg); }

.flag-icon-ug {
  background-image: url(../fonts/flags//4x3/ug.svg); }
  .flag-icon-ug.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ug.svg); }

.flag-icon-um {
  background-image: url(../fonts/flags//4x3/um.svg); }
  .flag-icon-um.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/um.svg); }

.flag-icon-us {
  background-image: url(../fonts/flags//4x3/us.svg); }
  .flag-icon-us.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/us.svg); }

.flag-icon-uy {
  background-image: url(../fonts/flags//4x3/uy.svg); }
  .flag-icon-uy.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/uy.svg); }

.flag-icon-uz {
  background-image: url(../fonts/flags//4x3/uz.svg); }
  .flag-icon-uz.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/uz.svg); }

.flag-icon-va {
  background-image: url(../fonts/flags//4x3/va.svg); }
  .flag-icon-va.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/va.svg); }

.flag-icon-vc {
  background-image: url(../fonts/flags//4x3/vc.svg); }
  .flag-icon-vc.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/vc.svg); }

.flag-icon-ve {
  background-image: url(../fonts/flags//4x3/ve.svg); }
  .flag-icon-ve.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ve.svg); }

.flag-icon-vg {
  background-image: url(../fonts/flags//4x3/vg.svg); }
  .flag-icon-vg.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/vg.svg); }

.flag-icon-vi {
  background-image: url(../fonts/flags//4x3/vi.svg); }
  .flag-icon-vi.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/vi.svg); }

.flag-icon-vn {
  background-image: url(../fonts/flags//4x3/vn.svg); }
  .flag-icon-vn.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/vn.svg); }

.flag-icon-vu {
  background-image: url(../fonts/flags//4x3/vu.svg); }
  .flag-icon-vu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/vu.svg); }

.flag-icon-wf {
  background-image: url(../fonts/flags//4x3/wf.svg); }
  .flag-icon-wf.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/wf.svg); }

.flag-icon-ws {
  background-image: url(../fonts/flags//4x3/ws.svg); }
  .flag-icon-ws.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ws.svg); }

.flag-icon-ye {
  background-image: url(../fonts/flags//4x3/ye.svg); }
  .flag-icon-ye.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/ye.svg); }

.flag-icon-yt {
  background-image: url(../fonts/flags//4x3/yt.svg); }
  .flag-icon-yt.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/yt.svg); }

.flag-icon-za {
  background-image: url(../fonts/flags//4x3/za.svg); }
  .flag-icon-za.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/za.svg); }

.flag-icon-zm {
  background-image: url(../fonts/flags//4x3/zm.svg); }
  .flag-icon-zm.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/zm.svg); }

.flag-icon-zw {
  background-image: url(../fonts/flags//4x3/zw.svg); }
  .flag-icon-zw.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/zw.svg); }

.flag-icon-es-ct {
  background-image: url(../fonts/flags//4x3/es-ct.svg); }
  .flag-icon-es-ct.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/es-ct.svg); }

.flag-icon-eu {
  background-image: url(../fonts/flags//4x3/eu.svg); }
  .flag-icon-eu.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/eu.svg); }

.flag-icon-gb-eng {
  background-image: url(../fonts/flags//4x3/gb-eng.svg); }
  .flag-icon-gb-eng.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gb-eng.svg); }

.flag-icon-gb-nir {
  background-image: url(../fonts/flags//4x3/gb-nir.svg); }
  .flag-icon-gb-nir.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gb-nir.svg); }

.flag-icon-gb-sct {
  background-image: url(../fonts/flags//4x3/gb-sct.svg); }
  .flag-icon-gb-sct.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gb-sct.svg); }

.flag-icon-gb-wls {
  background-image: url(../fonts/flags//4x3/gb-wls.svg); }
  .flag-icon-gb-wls.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/gb-wls.svg); }

.flag-icon-un {
  background-image: url(../fonts/flags//4x3/un.svg); }
  .flag-icon-un.flag-icon-squared {
    background-image: url(../fonts/flags//1x1/un.svg); }

.veil {
  position: absolute;
  z-index: 100;
  text-align: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  .veil .underlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background-color: #000; }

.spinner {
  width: 80px;
  height: 80px;
  text-align: center;
  -webkit-animation: sk-rotate 2s infinite linear;
          animation: sk-rotate 2s infinite linear;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: -40px; }

.dot1,
.dot2 {
  width: 60%;
  height: 60%;
  display: inline-block;
  position: absolute;
  top: 0;
  background-color: #fff;
  border-radius: 100%;
  -webkit-animation: sk-bounce 2s infinite ease-in-out;
          animation: sk-bounce 2s infinite ease-in-out; }

.dot2 {
  top: auto;
  bottom: 0;
  -webkit-animation-delay: -1s;
          animation-delay: -1s; }

@-webkit-keyframes sk-rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes sk-rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes sk-bounce {
  0%,
  100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes sk-bounce {
  0%,
  100% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.notify {
  position: fixed;
  top: 0; }

.form-nav .nav-tabs .nav-link {
  color: #333; }

.form-nav .nav-tabs .nav-link.active,
.form-nav .nav-tabs .nav-link.active:focus,
.form-nav .nav-tabs .nav-link.active:hover {
  background-color: #fff;
  color: #333; }

.nav-tabs .nav-link.active {
  background-color: transparent; }

@media (min-width: 1024px) {
  .form-nav .nav-item > .nav-link {
    color: #333; } }

/* 20/16 */
.info-icon {
  position: relative;
  cursor: pointer;
  display: inline-block;
  border: none;
  padding: 0;
  background: inherit; }
  .info-icon .icon {
    border-radius: 1.25rem;
    background-color: var(--skin-primary-color-1);
    width: 1.5625rem;
    display: inline-block;
    text-align: center;
    color: #fff;
    font-weight: 600; }
  .info-icon .tooltip {
    position: absolute;
    bottom: 100%;
    padding: 0.312rem;
    border-radius: 0.25rem;
    background-color: #444;
    color: #fff;
    font-size: 0.928rem;
    min-width: 20rem;
    max-width: 15rem;
    -webkit-transform: translate(-50%, -0.625em);
            transform: translate(-50%, -0.625em);
    left: 50%;
    margin-left: 4px;
    -webkit-animation: fade-in 0.5s linear forwards;
            animation: fade-in 0.5s linear forwards; }

@-webkit-keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
    .info-icon .tooltip::before {
      content: " ";
      position: absolute;
      display: block;
      height: 1.25em;
      /* 20/16 */
      left: 0;
      bottom: -1.25em;
      width: 100%; }
    .info-icon .tooltip::after {
      border-left: solid transparent 0.625em;
      /* 10/16 */
      border-right: solid transparent 0.625em;
      /* 10/16 */
      border-top: solid #444 0.625em;
      bottom: -0.625em;
      content: " ";
      height: 0;
      left: 50%;
      margin-left: -13px;
      position: absolute;
      width: 0; }

/* stylelint-disable */
.is-mb-transparent.body-wrapper .sticky-header.-fixed {
  background-color: #fff; }

.is-mb-transparent .sticky-header:not(.-fixed):not(.-hovered) {
  border-bottom-color: transparent;
  background-color: transparent; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .header .icon,
.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-mobile .icon {
  fill: #fff; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-field {
  background-color: rgba(170, 170, 170, 0.6); }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .logo.-black {
  display: none; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .logo.-white {
  display: inline-block; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-field {
  color: #fff; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::-webkit-input-placeholder {
  color: #ccc; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::-moz-placeholder {
  color: #ccc; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::-ms-input-placeholder {
  color: #ccc; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::placeholder {
  color: #ccc; }

.is-mb-transparent.header-mb-white .sticky-header:not(.-fixed):not(.-hovered) .minicart-quantity {
  background-color: #fff;
  color: #000; }

.is-mb-transparent.header-mb-black .sticky-header:not(.-fixed):not(.-hovered) .search-field {
  background-color: rgba(244, 244, 244, 0.6); }

.is-mb-transparent .maincontent {
  margin-top: -11.1rem; }

.coupon-text-pd {
  text-decoration: none; }

.coupon-text-pd > p {
  display: inline-block; }

.image-gradient {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 33%;
  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(-40%, #000), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(360deg, #000 -40%, rgba(0, 0, 0, 0) 100%); }

.buttons-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.buttons-wrapper .btn-wrapper {
  width: 100%; }

.buttons-wrapper .btn-wrapper.autowidth {
  width: auto !important; }

.buttons-wrapper.center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.buttons-wrapper.left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.buttons-wrapper.-horizontal .btn-wrapper:not(:last-child) {
  margin-right: 20px; }

.buttons-wrapper.-horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.buttons-wrapper.-horizontal .btn-wrapper {
  width: auto; }

.buttons-wrapper.-horizontal.center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.decreased-margin h1,
.decreased-margin h2,
.decreased-margin h3,
.decreased-margin h4 {
  margin-bottom: 0.5rem !important; }

.text-increased h1,
.text-increased h2,
.text-increased h3,
.text-increased h4 {
  line-height: 1 !important; }

.text-increased h1 {
  font-size: 4.8rem !important; }

.text-increased h2 {
  font-size: 3.4rem !important; }

.text-increased h3 {
  font-size: 2.2rem !important; }

.text-increased h4 {
  font-size: 1.8rem !important; }

.custom-fontsizes h1:not(.item) {
  margin-bottom: 0;
  font-size: 3.2rem;
  line-height: 3.8rem; }

.custom-fontsizes h2:not(.item) {
  margin-bottom: 0;
  font-size: 2.2rem;
  line-height: 3.3rem; }

.custom-fontsizes h3:not(.item) {
  margin-bottom: 0;
  font-size: 1.8rem;
  line-height: 3rem; }

.custom-fontsizes p:not(.item) {
  margin-bottom: 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.8rem; }

.custom-fontsizes .coupon-text-pd {
  display: inline-block;
  margin-bottom: 1rem; }

.custom-fontsizes .btn {
  font-size: 1.4rem; }

@media (min-width: 1024px) {
  .text-increased h1 {
    font-size: 9rem !important; }
  .text-increased h2 {
    font-size: 6rem !important; }
  .text-increased h3 {
    font-size: 4.8rem !important; }
  .text-increased h4 {
    font-size: 3.4rem !important; }
  .custom-fontsizes h1:not(.item) {
    margin-bottom: 0;
    font-size: 4.8rem;
    line-height: 4.6rem; }
  .custom-fontsizes h2:not(.item) {
    margin-bottom: 0;
    font-size: 2.8rem;
    line-height: 3.5rem; }
  .custom-fontsizes h3:not(.item) {
    margin-bottom: 0;
    font-size: 2.2rem;
    line-height: 3.4rem; }
  .custom-fontsizes p:not(.item) {
    font-size: 1.8rem;
    line-height: 3rem; }
  .custom-fontsizes .btn {
    font-size: 1.6rem; } }

@media (min-width: 768px) {
  .text-center.-gradient,
  .image-gradient.center {
    height: 100%;
    background-image: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 82%); }
  .-gradient,
  .text-left.-gradient,
  .image-gradient.left {
    width: 33%;
    height: 100%;
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); } }

.layout .row.no-gutters > .col,
.layout .row.no-gutters > [class*='col-'] {
  padding-right: 0 !important;
  padding-left: 0 !important; }

.experience-component a:not(.btn) {
  color: inherit; }

.storepage:not(.plp) .experience-component:first-child > .container,
.storepage:not(.plp) .experience-component:first-child > .container-fluid {
  margin-top: 0 !important; }

@media (min-width: 1024px) {
  .is-mb-transparent:not(.is-dsk-transparent) .sticky-header:not(.-fixed):not(.-hovered) {
    border-bottom-color: #fff;
    background-color: #fff; }
  .is-mb-transparent:not(.is-dsk-transparent) .maincontent {
    margin-top: 0; }
  .is-mb-transparent:not(.is-dsk-transparent) .header .logo {
    display: inline-block !important; }
  .is-mb-transparent:not(.is-dsk-transparent) .header .logo.-white {
    display: none !important; }
  .is-mb-transparent:not(.is-dsk-transparent) .search-field {
    background-color: #f4f4f4 !important; }
  .is-mb-transparent:not(.is-dsk-transparent) .header .icon {
    fill: #000 !important; }
  .is-dsk-transparent .sticky-header:not(.-fixed):not(.-hovered) .main-menu,
  .is-dsk-transparent .sticky-header:not(.-fixed):not(.-hovered) .navbar {
    background-color: transparent; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .gender-links-wrapper .menu-link {
    color: #ccc; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .gender-links-wrapper .main-nav-item.active .menu-link,
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .main-menu .menu-link,
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .main-menu .menu-link a {
    color: #fff; }
  .is-dsk-transparent.body-wrapper .sticky-header.-fixed {
    background-color: #fff; }
  .is-dsk-transparent .sticky-header:not(.-fixed):not(.-hovered) {
    border-bottom-color: transparent;
    background-color: transparent; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .header .icon,
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-mobile .icon {
    fill: #fff; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-field {
    background-color: rgba(170, 170, 170, 0.6); }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .logo.-black {
    display: none; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .logo.-white {
    display: inline-block; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-field {
    color: #fff; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::-webkit-input-placeholder {
    color: #ccc; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::-moz-placeholder {
    color: #ccc; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::-ms-input-placeholder {
    color: #ccc; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .search-field::placeholder {
    color: #ccc; }
  .is-dsk-transparent.header-dsk-white .sticky-header:not(.-fixed):not(.-hovered) .minicart-quantity {
    background-color: #fff;
    color: #000; }
  .is-dsk-transparent.header-dsk-black .sticky-header:not(.-fixed):not(.-hovered) .search-field {
    background-color: rgba(244, 244, 244, 0.6); }
  .is-dsk-transparent .maincontent {
    margin-top: -11.1rem; } }

/* stylelint-enable */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcmVib290LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy90aGVtZXMvZGVmYXVsdC92YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2Uvc3RvcmVQYWdlLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy90aGVtZXMvZGVmYXVsdC92YXJpYWJsZXMvY29tcG9uZW50cy9fbGluay5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdHlwZS5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jb2RlLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3RhYmxlcy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvdXRpbHMvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19mb3Jtcy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvdXRpbHMvX2Z1bmN0aW9ucy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvdGhlbWVzL2RlZmF1bHQvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL3RoZW1lcy9kZWZhdWx0L3ZhcmlhYmxlcy9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL190cmFuc2l0aW9ucy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19kcm9wZG93bi5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2J1dHRvbi1ncm91cC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19pbnB1dC1ncm91cC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jdXN0b20tZm9ybXMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbmF2LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NhcmQuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fYnJlYWRjcnVtYi5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19wYWdpbmF0aW9uLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JhZGdlLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19qdW1ib3Ryb24uc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL3RoZW1lcy9kZWZhdWx0L3ZhcmlhYmxlcy92ZW5kb3JzL19ib290c3RyYXAuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbWVkaWEuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jbG9zZS5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19tb2RhbC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvdGhlbWVzL2RlZmF1bHQvdmFyaWFibGVzL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3Rvb2x0aXAuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL3RoZW1lcy9kZWZhdWx0L3ZhcmlhYmxlcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3BvcG92ZXIuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19hbGlnbi5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYmFja2dyb3VuZC12YXJpYW50LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19iYWNrZ3JvdW5kLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19ib3JkZXJzLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fZmxvYXQuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvX292ZXJmbG93LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2hhZG93cy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL19zdHJldGNoZWQtbGluay5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fc3BhY2luZy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3V0aWxpdGllcy9fdGV4dC5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC10cnVuY2F0ZS5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1oaWRlLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdXRpbGl0aWVzL192aXNpYmlsaXR5LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ByaW50LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9iYXNpcy9fYmFzZS5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvYmFzaXMvX3R5cG9ncmFwaHkuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2Jhc2lzL19oZWxwZXJzLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy90aGVtZXMvZGVmYXVsdC92YXJpYWJsZXMvX2hlbHBlcnMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9sYXlvdXRzL19tb2JpbGUtcm93LWdyaWQuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9sYXlvdXRzL19jdXN0b20tbGF5b3V0LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9leHBlcmllbmNlL2NvbXBvbmVudHMvcHZoX2Fzc2V0cy9faW1hZ2UtdGV4dC1idG4uc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL3V0aWxzL21peGlucy9faGVscGVycy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvZXhwZXJpZW5jZS9jb21wb25lbnRzL3B2aF9hc3NldHMvX2ltYWdlLXRpbGUuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9wdmhfYXNzZXRzL190ZXh0Ym94LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9leHBlcmllbmNlL2NvbXBvbmVudHMvcHZoX2Fzc2V0cy9fdHdvLWNvbC1pbWFnZS10ZXh0LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9leHBlcmllbmNlL2NvbXBvbmVudHMvcHZoX2Fzc2V0cy9fdmlkZW8tYmxvY2suc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9wdmhfYXNzZXRzL19jbHAtY2Fyb3VzZWwuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9wdmhfYXNzZXRzL19zaXgtYnV0dG9ucy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvZXhwZXJpZW5jZS9jb21wb25lbnRzL3B2aF9hc3NldHMvX3R3by1jb2wtdHdvLWltYWdlcy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvZXhwZXJpZW5jZS9jb21wb25lbnRzL2NvbW1lcmNlQXNzZXRzL2NhdGVnb3J5LnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvYXBwL2FwcF9ld2F2ZV9wdmhfY2svY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvZXhwZXJpZW5jZS92YXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2Jsb2Nrcy9zZWFyY2gvX3NlYXJjaC1iYW5uZXIuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9wdmhfYXNzZXRzL19iYW5uZXItY2Fyb3VzZWwuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL2FwcC9hcHBfZXdhdmVfcHZoX2NrL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL2V4cGVyaWVuY2UvY29tcG9uZW50cy9wdmhfYXNzZXRzL19uZXdzbGV0dGVyLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9ibG9ja3MvaG9tZXBhZ2UvX2dlbmRlci1ibG9jay5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvdmVuZG9yL3NhbGVzZm9yY2VfYmFzZS9hcHBfc3RvcmVmcm9udF9iYXNlL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL3NraW4vX3NraW5WYXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL3ZlbmRvci9zYWxlc2ZvcmNlX2Jhc2UvYXBwX3N0b3JlZnJvbnRfYmFzZS9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy91dGlsaXRpZXMvX3Jlc3BvbnNpdmVVdGlscy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvbm9kZV9tb2R1bGVzL2ZsYWctaWNvbi1jc3Mvc2Fzcy9fZmxhZy1pY29uLWJhc2Uuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL3ZlbmRvci9zYWxlc2ZvcmNlX2Jhc2UvYXBwX3N0b3JlZnJvbnRfYmFzZS9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9jb21wb25lbnRzL19zcGlubmVyLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC92ZW5kb3Ivc2FsZXNmb3JjZV9iYXNlL2FwcF9zdG9yZWZyb250X2Jhc2UvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvY29tcG9uZW50cy9fbm90aWZpY2F0aW9uLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC92ZW5kb3Ivc2FsZXNmb3JjZV9iYXNlL2FwcF9zdG9yZWZyb250X2Jhc2UvY2FydHJpZGdlL2NsaWVudC9kZWZhdWx0L3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiZmlsZTovLy9DOi9Qcm9qZWN0cy9wdmgvdmVuZG9yL3NhbGVzZm9yY2VfYmFzZS9hcHBfc3RvcmVmcm9udF9iYXNlL2NhcnRyaWRnZS9jbGllbnQvZGVmYXVsdC9zY3NzL192YXJpYWJsZXMuc2NzcyIsImZpbGU6Ly8vQzovUHJvamVjdHMvcHZoL3ZlbmRvci9zYWxlc2ZvcmNlX2Jhc2UvYXBwX3N0b3JlZnJvbnRfYmFzZS9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJmaWxlOi8vL0M6L1Byb2plY3RzL3B2aC9hcHAvYXBwX2V3YXZlX3B2aF9jay9jYXJ0cmlkZ2UvY2xpZW50L2RlZmF1bHQvc2Nzcy9leHBlcmllbmNlL3BhZ2VzL19wYWdlRGVzaWduZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkE7OztFQUdFLDhCQUFzQjtVQUF0QixzQkFBc0I7O0FBR3hCO0VBQ0UsdUJBQXVCO0VBQ3ZCLGlCQUFpQjtFQUNqQiw4QkFBOEI7RUFDOUIsNkNDWGE7O0FEaUJmO0VBQ0UsY0FBYzs7QUFVaEI7RUFDRSxTQUFTO0VBQ1QseU1DaU9pTjtFQ2pKN00saUJBdENZO0VGeENoQixnQkMwTytCO0VEek8vQixnQkczQ29CO0VINENwQixXQ2xDYTtFRG1DYixnQkFBZ0I7RUFDaEIsc0JDOUNhOztBR2lCZjtFSnNDRSxxQkFBcUI7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NEdNLGtCQXRDWTs7QUtyRWxCO0VMMkdNLGVBdENZOztBS25FbEI7RUx5R00sa0JBdENZO0VLakVoQixnQk5tUytCOztBTS9SakM7RUxtR00sZUF0Q1k7RUszRGhCLGdCTnNSK0I7RU1yUi9CLGdCTjZRK0I7O0FNM1FqQztFTDhGTSxpQkF0Q1k7RUt0RGhCLGdCTmtSK0I7RU1qUi9CLGdCTndRK0I7O0FNdFFqQztFTHlGTSxpQkF0Q1k7RUtqRGhCLGdCTjhRK0I7RU03US9CLGdCTm1RK0I7O0FNalFqQztFTG9GTSxpQkF0Q1k7RUs1Q2hCLGdCTjBRK0I7RU16US9CLGdCTjhQK0I7O0FEck9qQztFT2hCRSxnQk4wRVc7RU16RVgsbUJOeUVXO0VNeEVYLFNBQVM7RUFDVCx3Q056Q2E7O0FNaURmOztFTE1JLGNBQVc7RUtIYixnQk5zTitCOztBTW5OakM7O0VBRUUsY044UGdDO0VNN1BoQyx5Qk5zUW1DOztBTTlQckM7RUMvRUUsZUFBZTtFQUNmLGdCQUFnQjs7QURtRmxCO0VDcEZFLGVBQWU7RUFDZixnQkFBZ0I7O0FEc0ZsQjtFQUNFLHFCQUFxQjtFQUR2QjtJQUlJLG9CTmdQK0I7O0FNdE9uQztFTGpDSSxjQUFXO0VLbUNiLHlCQUF5Qjs7QUFJM0I7RUFDRSxtQk5pQlc7RUNGUCxrQkF0Q1k7O0FLMkJsQjtFQUNFLGNBQWM7RUw3Q1osY0FBVztFSytDYixjTjFHZ0I7RU11R2xCO0lBTUkscUJBQXFCOztBRW5IekI7RUNJRSxlQUFlO0VBR2YsWUFBWTs7QUREZDtFQUNFLGdCUisrQndDO0VROStCeEMsc0JSUmE7RVFTYix5QlJOZ0I7RVVMZCxzQlZxT2dDO0VTL05sQyxlQUFlO0VBR2YsWUFBWTs7QURjZDtFQUVFLHFCQUFxQjs7QUFHdkI7RUFDRSxxQkFBMEI7RUFDMUIsY0FBYzs7QUFHaEI7RVBrQ0ksY0FBVztFT2hDYixjUjNCZ0I7O0FXWmxCO0VWdUVJLGdCQUFXO0VVckViLGNYb0NlO0VXbkNmLHNCQUFzQjtFQUd0QjtJQUNFLGNBQWM7O0FBS2xCO0VBQ0Usc0JYaWtDdUM7RUN2Z0NyQyxnQkFBVztFVXhEYixXWFRhO0VXVWIseUJYRGdCO0VVWGQscUJWdU8rQjtFVy9ObkM7SUFTSSxVQUFVO0lWa0RWLGVBQVc7SVVoRFgsZ0JYb1E2Qjs7QUQzRGpDO0VZbE1FLGNBQWM7RVZ5Q1osZ0JBQVc7RVV2Q2IsY1hqQmdCO0VXY2xCO0lWMENJLGtCQUFXO0lVbENYLGNBQWM7SUFDZCxrQkFBa0I7O0FBS3RCO0VBQ0UsaUJYd2lDdUM7RVd2aUN2QyxrQkFBa0I7O0FDMUNwQjtFQUNFLFdBQVc7RUFDWCxtQloySFc7RVkxSFgsY1pTZ0I7RVlabEI7O0lBUUksZ0JaOFVnQztJWTdVaEMsbUJBQW1CO0lBQ25CLDZCWkpjO0VZTmxCO0lBY0ksc0JBQXNCO0lBQ3RCLGdDWlRjO0VZTmxCO0lBbUJJLDZCWmJjOztBWXNCbEI7O0VBR0ksZVp3VCtCOztBWS9TbkM7RUFDRSx5QlpuQ2dCO0VZa0NsQjs7SUFLSSx5Qlp2Q2M7RVlrQ2xCOztJQVdNLHdCQUE0Qzs7QUFLbEQ7Ozs7RUFLSSxTQUFTOztBQVFiO0VBRUkscUNaMURXOztBS0xiO0VPMkVJLGNadkVZO0VZd0VaLHNDWnZFUzs7QWFaYjs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUkseUJDMkU0RDs7QUQvRWhFOzs7O0VBWU0scUJDbUUwRDs7QVR4RWhFO0VRaUJNLHlCQUpzQztFQUQ1Qzs7SUFTUSx5QkFSb0M7O0FBcEI1Qzs7O0VBSUksc0NiUVM7O0FLTGI7RVFpQk0sc0NBSnNDO0VBRDVDOztJQVNRLHNDQVJvQzs7QURzRjlDO0VBR00sV1ozR1M7RVk0R1QseUJacEdZO0VZcUdaLHFCWjJQcUQ7O0FZaFEzRDtFQVdNLGNaNUdZO0VZNkdaLHlCWmxIWTtFWW1IWixxQlpsSFk7O0FZdUhsQjtFQUNFLFdaM0hhO0VZNEhiLHlCWnBIZ0I7RVlrSGxCOzs7SUFPSSxxQlp1T3VEO0VZOU8zRDtJQVdJLFNBQVM7RUFYYjtJQWdCTSwyQ1oxSVM7RUtLYjtJTzRJTSxXWmpKTztJWWtKUCw0Q1psSk87O0FlZ0NQO0VIbUlKO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0lBTHBDO01BU0ssU0FBUyxJQUNWOztBRzdJRDtFSG1JSjtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztJQUxwQztNQVNLLFNBQVMsSUFDVjs7QUc3SUQ7RUhtSUo7SUFFSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7SUFMcEM7TUFTSyxTQUFTLElBQ1Y7O0FHN0lEO0VIbUlKO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0lBTHBDO01BU0ssU0FBUyxJQUNWOztBRzdJRDtFSG1JSjtJQUVJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsZ0JBQWdCO0lBQ2hCLGlDQUFpQztJQUxwQztNQVNLLFNBQVMsSUFDVjs7QUc3SUQ7RUhtSUo7SUFFSSxjQUFjO0lBQ2QsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixpQ0FBaUM7SUFMcEM7TUFTSyxTQUFTLElBQ1Y7O0FHN0lEO0VIbUlKO0lBRUksY0FBYztJQUNkLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsaUNBQWlDO0lBTHBDO01BU0ssU0FBUyxJQUNWOztBQWZUO0VBT1EsY0FBYztFQUNkLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUNBQWlDO0VBVnpDO0lBY1UsU0FBUzs7QUk3S25CO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxjQ00wQjtFREwxQix5QmhCcVhrQztFQ2hROUIsaUJBdENZO0VlNUVoQixnQmhCOFErQjtFZ0I3US9CLGdCaEJrUitCO0VnQmpSL0IsV2hCRWE7RWdCRGIsc0JoQlRhO0VnQlViLDRCQUE0QjtFQUM1Qix5QkVSZ0I7RVJMZCxnQlNPbUI7RUNOakIsd0ZwQjRlNEY7RW9CNWU1RixnRnBCNGU0RjtFb0I1ZTVGLHdFcEI0ZTRGO0VvQjVlNUYsOEdwQjRlNEY7RW9CdmU5RjtJSkxKO01JTU0sd0JBQWdCO01BQWhCLGdCQUFnQixJSnlDckI7RUEvQ0Q7SUFzQkksNkJBQTZCO0lBQzdCLFNBQVM7RUtoQlg7SUFDRSxjckJBYztJcUJDZCxzQnJCUlc7SXFCU1gscUJyQmdkc0U7SXFCL2N0RSxVQUFVO0lBS1Isd0RyQmNXO1lxQmRYLGdEckJjVztFZ0I5QmpCO0lBK0JJLGNoQnhCYztJZ0IwQmQsVUFBVTtFQWpDZDtJQStCSSxjaEJ4QmM7SWdCMEJkLFVBQVU7RUFqQ2Q7SUErQkksY2hCeEJjO0lnQjBCZCxVQUFVO0VBakNkO0lBK0JJLGNoQnhCYztJZ0IwQmQsVUFBVTtFQWpDZDtJQTJDSSx5QkUzQ2M7SUY2Q2QsVUFBVTs7QUFJZDtFQU9JLFdoQjdDVztFZ0I4Q1gsc0JoQnhEVzs7QWdCNkRmOztFQUVFLGNBQWM7RUFDZCxXQUFXOztBQVViO0VBQ0UsaUNBQStEO0VBQy9ELG9DQUFrRTtFQUNsRSxnQkFBZ0I7RWZaZCxrQkFBVztFZWNiLGdCaEIwTStCOztBZ0J2TWpDO0VBQ0UsK0JBQWtFO0VBQ2xFLGtDQUFxRTtFZm9DakUsa0JBdENZO0VlSWhCLGdCaEJ1SStCOztBZ0JwSWpDO0VBQ0UsZ0NBQWtFO0VBQ2xFLG1DQUFxRTtFZjZCakUsbUJBdENZO0VlV2hCLGdCaEJpSStCOztBZ0J4SGpDO0VBQ0UsY0FBYztFQUNkLFdBQVc7RUFDWCxxQmhCOFFtQztFZ0I3UW5DLHdCaEI2UW1DO0VnQjVRbkMsZ0JBQWdCO0VBQ2hCLGdCaEI2SytCO0VnQjVLL0IsY2hCcEdnQjtFZ0JxR2hCLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsbUJBQW1DO0VBVnJDO0lBY0ksZ0JBQWdCO0lBQ2hCLGVBQWU7O0FBWW5CO0VBQ0Usa0NoQnNXcUk7RWdCcldySSx1QmhCK1BpQztFQzFRN0IsbUJBdENZO0VlbURoQixnQmhCeUYrQjtFVWhPN0IscUJWdU8rQjs7QWdCNUZuQztFQUNFLGdDaEIrVnFJO0VnQjlWckksb0JoQjRQZ0M7RUMvUTVCLGtCQXRDWTtFZTJEaEIsZ0JoQmdGK0I7RVUvTjdCLHFCVnNPK0I7O0FnQmxGbkM7RUFHSSxZQUFZOztBQUloQjtFQUNFLFlBQVk7O0FBUWQ7RUFDRSxxQkMzSjBCOztBRDhKNUI7RUFDRSxjQUFjO0VBQ2QsbUJoQnFVNEM7O0FnQjdUOUM7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFlO01BQWYsZUFBZTtFQUNmLGtCQUEwQztFQUMxQyxpQkFBeUM7RUFKM0M7O0lBUUksa0JBQTBDO0lBQzFDLGlCQUF5Qzs7QUFTN0M7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGVHak15Qjs7QUhvTTNCO0VBQ0Usa0JBQWtCO0VBQ2xCLGtCaEJzUzJDO0VnQnJTM0MsY0d2TXlCO0VIb00zQjtJQU1JLGNoQnhNYzs7QWdCNE1sQjtFQUNFLGdCQUFnQjs7QUFHbEI7RUFDRSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YscUJoQnlSNEM7RWdCN1I5QztJQVFJLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsdUJoQm9SNEM7SWdCblI1QyxjQUFjOztBSzNNaEI7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLG1CckJvZDBDO0VDNWExQyxjQUFXO0VvQnRDWCxjckJTYTs7QXFCTmY7RUFDRSxrQkFBa0I7RUFDbEIsU0FBUztFQUNULFVBQVU7RUFDVixhQUFhO0VBQ2IsZUFBZTtFQUNmLHVCckJzeUJxQztFcUJyeUJyQyxpQkFBaUI7RXBCbUZmLG1CQXRDWTtFb0IzQ2QsZ0JyQmtQNkI7RXFCalA3QixXckJ4Q1c7RXFCeUNYLHdDckJMYTtFVXRDYixzQlZxT2dDOztBcUJyTGhDO0VBRUUscUJyQlpXO0VxQlViO0lBYUkscUJyQnZCUztJcUJ3QlQsd0RyQnhCUztZcUJ3QlQsZ0RyQnhCUztFcUJVYjs7O0lBbUJJLGNBQWM7O0FBaUJsQjtFQUVFLHFCckJoRFc7RXFCOENiO0lBVUkscUJyQnhEUztJcUJ5RFQsd0RyQnpEUztZcUJ5RFQsZ0RyQnpEUztFcUI4Q2I7OztJQWdCSSxjQUFjOztBQU9sQjs7O0VBSUksY0FBYzs7QUFNbEI7RUFHSSxjckJsRlM7O0FxQitFYjs7O0VBUUksY0FBYzs7QUFNbEI7RUFHSSxjckJoR1M7RXFCNkZiO0lBTU0scUJyQm5HTzs7QXFCNkZiOzs7RUFZSSxjQUFjOztBQVpsQjtFQWlCTSxxQkFBa0M7RUNuSnhDLHlCRG9KK0M7O0FBbEIvQztFQXdCTSx3RHJCckhPO1VxQnFIUCxnRHJCckhPOztBcUI2RmI7RUE0Qk0scUJyQnpITzs7QXFCaUliO0VBR0kscUJyQnBJUzs7QXFCaUliOzs7RUFRSSxjQUFjOztBQVJsQjtFQWFNLHFCckI5SU87RXFCK0lQLHdEckIvSU87VXFCK0lQLGdEckIvSU87O0FxQmRmO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxtQnJCb2QwQztFQzVhMUMsY0FBVztFb0J0Q1gsY3JCTWE7O0FxQkhmO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxVQUFVO0VBQ1YsYUFBYTtFQUNiLGVBQWU7RUFDZix1QnJCc3lCcUM7RXFCcnlCckMsaUJBQWlCO0VwQm1GZixtQkF0Q1k7RW9CM0NkLGdCckJrUDZCO0VxQmpQN0IsV3JCeENXO0VxQnlDWCx3Q3JCUmE7RVVuQ2Isc0JWcU9nQzs7QXFCckxoQztFQUVFLHFCckJmVztFcUJhYjtJQWFJLHFCckIxQlM7SXFCMkJULHdEckIzQlM7WXFCMkJULGdEckIzQlM7RXFCYWI7OztJQW1CSSxjQUFjOztBQWlCbEI7RUFFRSxxQnJCbkRXO0VxQmlEYjtJQVVJLHFCckIzRFM7SXFCNERULHdEckI1RFM7WXFCNERULGdEckI1RFM7RXFCaURiOzs7SUFnQkksY0FBYzs7QUFPbEI7OztFQUlJLGNBQWM7O0FBTWxCO0VBR0ksY3JCckZTOztBcUJrRmI7OztFQVFJLGNBQWM7O0FBTWxCO0VBR0ksY3JCbkdTO0VxQmdHYjtJQU1NLHFCckJ0R087O0FxQmdHYjs7O0VBWUksY0FBYzs7QUFabEI7RUFpQk0scUJBQWtDO0VDbkp4Qyx5QkRvSitDOztBQWxCL0M7RUF3Qk0sd0RyQnhITztVcUJ3SFAsZ0RyQnhITzs7QXFCZ0diO0VBNEJNLHFC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a1krRTtJNkJqWS9FLG1CQUFtQjtJQUVuQixxQjdCZ1k0RTtFNkJ6WWxGO0lBYU0sd0JBQTBJO0lBQzFJLDBCQUErRztJQUMvRyx1QjdCMlhpSTtJNkIxWGpJLHdCN0IwWGlJO0k2QnpYakkseUI3QjNLWTtJNkI2S1oscUI3QnNYNEU7SW9CemlCNUUsaUtwQjhmK0g7SW9COWYvSCx5SnBCOGYrSDtJb0I5Zi9ILHlJcEI4ZitIO0lvQjlmL0gsb05wQjhmK0g7SW9CemZqSTtNUzJKSjtRVDFKTSx3QkFBZ0I7UUFBaEIsZ0JBQWdCLElTK0tqQjtFQXJCTDtJQTBCTSxzQjdCekxTO0k2QjBMVCxzQ0FBNEU7WUFBNUUsOEJBQTRFO0VBM0JsRjtJQWlDTSx3QzdCbktXOztBNkIrS2pCO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxtQzdCd1IySDtFNkJ2UjNILDBDN0J3S2tDO0VDaFE5QixlQXRDWTtFNEJpSWhCLGdCN0JpRStCO0U2QmhFL0IsZ0I3QnFFK0I7RTZCcEUvQixjN0I5TWdCO0U2QitNaEIsc0JBQXNCO0VBQ3RCLDZNN0JtV21JO0U2QmxXbkksc0I3QnhOYTtFNkJ5TmIseUI3QnJOZ0I7RVVOZCxzQlZxT2dDO0U2QlBsQyx3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQWhCbEI7SUFtQkkscUI3QjBQc0U7STZCelB0RSxVQUFVO0lBSVIsd0Q3QnZNVztZNkJ1TVgsZ0Q3QnZNVztJNkIrS2pCO01BaUNNLFc3Qm5PUztNNkJvT1Qsc0I3QjlPUztFNkI0TWY7SUF3Q0ksWUFBWTtJQUNaLHNCN0JtSWdDO0k2QmxJaEMsc0JBQXNCO0VBMUMxQjtJQThDSSxjN0JwUGM7STZCcVBkLHlCWDVQYztFVzZNbEI7SUFvREksYUFBYTs7QUFJakI7RUFDRSxrQzdCbU9xSTtFNkJsT3JJLG9CN0IySGtDO0U2QjFIbEMsdUI3QjBIa0M7RTZCekhsQyxvQjdCMEhpQztFQzFRN0IsbUJBdENZOztBNEIwTGxCO0VBQ0UsZ0M3QjROcUk7RTZCM05ySSxtQjdCd0hpQztFNkJ2SGpDLHNCN0J1SGlDO0U2QnRIakMsa0I3QnVIZ0M7RUMvUTVCLGtCQXRDWTs7QTRCdU1sQjtFQUNFLGtCQUFrQjtFQUNsQixxQkFBcUI7RUFDckIsV0FBVztFQUNYLG1DN0IwTTJIO0U2QnpNM0gsZ0JBQWdCOztBQUdsQjtFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLG1DN0JrTTJIO0U2QmpNM0gsU0FBUztFQUNULFVBQVU7RUFOWjtJQVNJLHFCN0IrS3NFO0k2QjlLdEUsd0Q3QjlRYTtZNkI4UWIsZ0Q3QjlRYTtFNkJvUWpCO0lBY0kseUI3QjdTYztFNkIrUmxCO0lBbUJNLGlCN0JxVVE7RTZCeFZkO0lBd0JJLDBCQUEwQjs7QUFJOUI7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsVUFBVTtFQUNWLG1DN0JvSzJIO0U2Qm5LM0gseUI3Qm9Ea0M7RTZCbERsQyxnQjdCbEQrQjtFNkJtRC9CLGdCN0I5QytCO0U2QitDL0IsYzdCalVnQjtFNkJrVWhCLHNCN0J6VWE7RTZCMFViLHlCN0J0VWdCO0VVTmQsc0JWcU9nQztFNkIwRnBDO0lBa0JJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0lBQ1YsY0FBYztJQUNkLDZCN0I4SStGO0k2QjdJL0YseUI3QmtDZ0M7STZCakNoQyxnQjdCOUQ2QjtJNkIrRDdCLGM3QmpWYztJNkJrVmQsaUJBQWlCO0lQMVZqQix5QnRCR2M7STZCeVZkLG9CQUFvQjtJbkI3VnBCLGtDbUI4VmdGOztBQVVwRjtFQUNFLFdBQVc7RUFDWCwyQkFBK0Y7RUFDL0YsVUFBVTtFQUNWLDZCQUE2QjtFQUM3Qix3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUxsQjtJQVFJLGFBQWE7SUFSakI7TUFZOEIsd0U3QnJWYjtjNkJxVmEsZ0U3QnJWYjtJNkJ5VWpCO01BYThCLGdFN0J0VmI7STZCeVVqQjtNQWM4QixnRTdCdlZiO0U2QnlVakI7SUFrQkksU0FBUztFQWxCYjtJQXNCSSxXN0I4TjZDO0k2QjdON0MsWTdCNk42QztJNkI1TjdDLG9CQUF5RTtJUC9YekUseUJ0QjhCYTtJNkJtV2IsUzdCNk4wQztJVS9sQjFDLG1CVmdtQjZDO0lvQi9sQjNDLDRIcEI4ZitIO0lvQjlmL0gsb0hwQjhmK0g7SW9COWYvSCw0R3BCOGYrSDtJb0I5Zi9ILGtKcEI4ZitIO0k2QnpIakksd0JBQWdCO1lBQWhCLGdCQUFnQjtJVGhZaEI7TVNrV0o7UVRqV00sd0JBQWdCO1FBQWhCLGdCQUFnQixJU29ZbkI7SUFuQ0g7TVB2V0kseUJ0Qm1tQjJFO0U2QjVQL0U7SUFzQ0ksVzdCdU1vQztJNkJ0TXBDLGM3QnVNcUM7STZCdE1yQyxrQkFBa0I7SUFDbEIsZTdCc011QztJNkJyTXZDLHlCN0I3WWM7STZCOFlkLHlCQUF5QjtJbkJuWnpCLG1CVnlsQm9DO0U2QmpQeEM7SUFpREksVzdCbU02QztJNkJsTTdDLFk3QmtNNkM7SXNCM2xCN0MseUJ0QjhCYTtJNkI2WGIsUzdCbU0wQztJVS9sQjFDLG1CVmdtQjZDO0lvQi9sQjNDLDRIcEI4ZitIO0lvQjlmL0gsb0hwQjhmK0g7SW9COWYvSCw0R3BCOGYrSDtJb0I5Zi9ILGtKcEI4ZitIO0k2Qi9GakkscUJBQWdCO1NBQWhCLGdCQUFnQjtJVDFaaEI7TVNrV0o7UVRqV00sd0JBQWdCO1FBQWhCLGdCQUFnQixJUzhabkI7SUE3REg7TVB2V0kseUJ0Qm1tQjJFO0U2QjVQL0U7SUFnRUksVzdCNktvQztJNkI1S3BDLGM3QjZLcUM7STZCNUtyQyxrQkFBa0I7SUFDbEIsZTdCNEt1QztJNkIzS3ZDLHlCN0J2YWM7STZCd2FkLHlCQUF5QjtJbkI3YXpCLG1CVnlsQm9DO0U2QmpQeEM7SUEyRUksVzdCeUs2QztJNkJ4SzdDLFk3QndLNkM7STZCdks3QyxhQUFhO0lBQ2Isb0I3QnZEK0I7STZCd0QvQixtQjdCeEQrQjtJc0I5WC9CLHlCdEI4QmE7STZCMFpiLFM3QnNLMEM7SVUvbEIxQyxtQlZnbUI2QztJb0IvbEIzQyw0SHBCOGYrSDtJb0I5Zi9ILG9IcEI4ZitIO0lvQjlmL0gsNEdwQjhm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WWhDbWdDdUM7O0FnQzVnQzdDO0VBb0JJLDBCQUEwQjs7QUFwQjlCO0VBd0JJLHFCQUFxQjs7QUF4QnpCO0VBNEJJLGNoQ3pCYzs7QWlDYmxCO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RTFCR2IsZUFBZTtFQUNmLGdCQUFnQjtFR0FkLHNCVnFPZ0M7O0FpQ3BPcEM7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLHVCakNxd0J3QztFaUNwd0J4QyxpQmpDNk4rQjtFaUM1Ti9CLGlCakN3d0JzQztFaUN2d0J0QyxjakN3QmU7RWlDdkJmLHNCakNOYTtFaUNPYix5QmpDSmdCO0VpQ0psQjtJQVdJLFVBQVU7SUFDVixjakMySjhEO0lpQzFKOUQscUJBQXFCO0lBQ3JCLHlCakNYYztJaUNZZCxxQmpDWGM7RWlDSmxCO0lBbUJJLFVBQVU7SUFDVixVakNpd0JpQztJaUNod0JqQyx3RGpDU2E7WWlDVGIsZ0RqQ1NhOztBaUNMakI7RUFHTSxjQUFjO0V2QkNoQiwrQlZ1TWdDO0VVdE1oQyxrQ1ZzTWdDOztBaUMzTXBDO0V2QlZJLGdDVnFOZ0M7RVVwTmhDLG1DVm9OZ0M7O0FpQzNNcEM7RUFjSSxVQUFVO0VBQ1YsV2pDdkNXO0VpQ3dDWCx5QmpDWGE7RWlDWWIscUJqQ1phOztBaUNMakI7RUFxQkksY2pDdkNjO0VpQ3dDZCxvQkFBb0I7RUFFcEIsWUFBWTtFQUNaLHNCakNqRFc7RWlDa0RYLHFCakMvQ2M7O0FrQ1BoQjtFQUNFLHVCbEM4d0JzQztFQ25wQnBDLGlCQXRDWTtFaUNuRmQsZ0JsQzhONkI7O0FrQ3pOM0I7RXhCd0JGLDhCVndNK0I7RVV2TS9CLGlDVnVNK0I7O0FrQzNON0I7RXhCS0YsK0JWc04rQjtFVXJOL0Isa0NWcU4rQjs7QWtDeE9qQztFQUNFLHVCbEM0d0JxQztFQ2pwQm5DLG1CQXRDWTtFaUNuRmQsZ0JsQytONkI7O0FrQzFOM0I7RXhCd0JGLDhCVnlNK0I7RVV4TS9CLGlDVndNK0I7O0FrQzVON0I7RXhCS0YsK0JWdU4rQjtFVXROL0Isa0NWc04rQjs7QW1Ddk9uQztFQUNFLHFCQUFxQjtFQUNyQixxQm5DMjRCc0M7RUMxMEJwQyxjQUFXO0VrQy9EYixnQm5DbVIrQjtFbUNsUi9CLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLHdCQUF3QjtFekJSdEIsc0JWcU9nQztFb0JwTzlCLHFKcEJxYjZJO0VvQnJiN0ksNklwQnFiNkk7RW9CcmI3SSxxSXBCcWI2STtFb0JyYjdJLDJLcEJxYjZJO0VvQmhiL0k7SWVOSjtNZk9NLHdCQUFnQjtNQUFoQixnQkFBZ0IsSWVlckI7RTlCWEM7SThCR0kscUJBQXFCO0VBZDNCO0lBb0JJLGFBQWE7O0FBS2pCO0VBQ0Usa0JBQWtCO0VBQ2xCLFNBQVM7O0FBT1g7RUFDRSxvQm5DZzNCc0M7RW1DLzJCdEMsbUJuQysyQnNDO0VVbjVCcEMsb0JWczVCcUM7O0FtQ3oyQnZDO0VDakRBLFdwQ01hO0VvQ0xiLHNCcENlYTtFS0RiO0krQlZJLFdwQ0NTO0lvQ0FULHVCQUFrQztFQUg5QjtJQVFKLFVBQVU7SUFDVixtRHBDSVM7WW9DSlQsMkNwQ0lTOztBbUNpQ2I7RUNqREEsV3BDTWE7RW9DTGIseUJwQ1dnQjtFS0doQjtJK0JWSSxXcENDUztJb0NBVCx5QkFBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1YseURwQ0FZO1lvQ0FaLGlEcENBWTs7QW1DcUNoQjtFQ2pEQSxXcENNYTtFb0NMYix5QnBDeUNlO0VLM0JmO0krQlZJLFdwQ0NTO0lvQ0FULHlCQUFrQztFQUg5QjtJQVFKLFVBQVU7SUFDVix1RHBDOEJXO1lvQzlCWCwrQ3BDOEJXOztBbUNPZjtFQ2pEQSxXcENNYTtFb0NMYix5QnBDMkNlO0VLN0JmO0krQlZJLFdwQ0NTO0lvQ0FULHlCQUFrQztFQUg5QjtJQVFKLFVBQVU7SUFDVix3RHBDZ0NXO1lvQ2hDWCxnRHBDZ0NXOztBbUNLZjtFQ2pEQSxjcENlZ0I7RW9DZGhCLHlCcEN3Q2U7RUsxQmY7SStCVkksY3BDVVk7SW9DVFoseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLHVEcEM2Qlc7WW9DN0JYLCtDcEM2Qlc7O0FtQ1FmO0VDakRBLFdwQ01hO0VvQ0xiLHlCcENzQ2U7RUt4QmY7SStCVkksV3BDQ1M7SW9DQVQseUJBQWtDO0VBSDlCO0lBUUosVUFBVTtJQUNWLHVEcEMyQlc7WW9DM0JYLCtDcEMyQlc7O0FtQ1VmO0VDakRBLGNwQ2VnQjtFb0NkaEIseUJwQ01nQjtFS1FoQjtJK0JWSSxjcENVWTtJb0NUWix5QkFBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1YseURwQ0xZO1lvQ0taLGlEcENMWTs7QW1DMENoQjtFQ2pEQSxXcENNYTtFb0NMYix5QnBDYWdCO0VLQ2hCO0krQlZJLFdwQ0NTO0lvQ0FULHlCQUFrQztFQUg5QjtJQVFKLFVBQVU7SUFDVixzRHBDRVk7WW9DRlosOENwQ0VZOztBbUNtQ2hCO0VDakRBLFdwQ01hO0VvQ0xiLHNCbEJvQ29CO0VidEJwQjtJK0JWSSxXcENDUztJb0NBVCx5QkFBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1Ysc0RsQnlCZ0I7WWtCekJoQiw4Q2xCeUJnQjs7QWlCWXBCO0VDakRBLFdwQ01hO0VvQ0xiLHlCbEJzQ3VCO0VieEJ2QjtJK0JWSSxXcENDUztJb0NBVCx5QkFBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1YsdURsQjJCbUI7WWtCM0JuQiwrQ2xCMkJtQjs7QWlCVXZCO0VDakRBLFdwQ01hO0VvQ0xiLHlCbEJxQ3VCO0VidkJ2QjtJK0JWSSxXcENDUztJb0NBVCx5QkFBa0M7RUFIOUI7SUFRSixVQUFVO0lBQ1YsdURsQjBCbUI7WWtCMUJuQiwrQ2xCMEJtQjs7QWlCV3ZCO0VDakRBLGNwQ2VnQjtFb0NkaEIseUJsQnVDdUI7RWJ6QnZCO0krQlZJLGNwQ1VZO0lvQ1RaLHlCQUFrQztFQUg5QjtJQVFKLFVBQVU7SUFDVix3RGxCNEJtQjtZa0I1Qm5CLGdEbEI0Qm1COztBbUJ6Q3pCO0VBQ0Usa0JBQW9EO0VBQ3BELG1CckMweUJzQztFcUN4eUJ0Qyx5QnJDS2dCO0VVSmQscUJWc08rQjtFZTFOM0I7SXNCakJSO01BUUksa0JyQ295Qm9DLElxQ2x5QnZDOztBQUVEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGVBQWU7RTNCVGIsZ0IyQlVzQjs7QUNieEI7RUFDRTtJQUFPLDZCQUF1QztFQUM5QztJQUFLLHdCQUF3Qjs7QUFGL0I7RUFDRTtJQUFPLDZCQUF1QztFQUM5QztJQUFLLHdCQUF3Qjs7QUFJakM7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGNyQkswQjtFcUJKMUIsZ0JBQWdCO0VyQ29IWixrQkF0Q1k7RXFDNUVoQix5QnBCRmdCO0VSTmQsZ0I2QlVzQjs7QURHMUI7RUFDRSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0Qix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixXdENmYTtFc0NnQmIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixzQnRDUmE7RW9CWFQsbUNwQnc5QjRDO0VvQng5QjVDLDJCcEJ3OUI0QztFb0JuOUI5QztJa0JPSjtNbEJOTSx3QkFBZ0I7TUFBaEIsZ0JBQWdCLElrQmVyQjs7QUFFRDtFaEJjRSxxTUFBNkk7RWdCWjdJLDhCckJoQjBCOztBcUJvQjFCO0VBQ0UsMER0Q3k3QmtEO1VzQ3o3QmxELGtEdEN5N0JrRDtFc0N2N0JsRDtJQUhGO01BSUksdUJBQWU7Y0FBZixlQUFlLElBRWxCOztBRXpDSDtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7O0FBR3pCO0VBQ0UsbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTzs7QUNGVDtFQUNFLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBR3RCLGVBQWU7RUFDZixnQkFBZ0I7O0FBU2xCO0VBQ0UsV0FBVztFQUNYLGN6Q1BnQjtFeUNRaEIsbUJBQW1CO0VwQ05uQjtJb0NVRSxVQUFVO0lBQ1YsY3pDYmM7SXlDY2QscUJBQXFCO0lBQ3JCLHlCekNyQmM7RXlDV2xCO0lBY0ksY3pDakJjO0l5Q2tCZCx5QnpDekJjOztBeUNrQ2xCO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCx3QnpDNDdCeUM7RXlDMTdCekMsbUJ6Q3VMK0I7RXlDckwvQixzQnpDM0NhO0V5QzRDYixzQ3pDbENhO0V5QzBCZjtJL0I3QkksK0JWNE5nQztJVTNOaEMsZ0NWMk5nQztFeUMvTHBDO0lBZUksZ0JBQWdCO0kvQjlCaEIsbUNWOE1nQztJVTdNaEMsa0NWNk1nQztFeUMvTHBDO0lBcUJJLGN6Q25EYztJeUNvRGQsb0JBQW9CO0lBQ3BCLHNCekMzRFc7RXlDb0NmO0lBNEJJLFVBQVU7SUFDVixXekNqRVc7SXlDa0VYLHlCekNyQ2E7SXlDc0NiLHFCekN0Q2E7O0F5Q21EYjtFQUNFLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQjtFQURyQjtJQUlJLGtCekM0SXlCO0l5QzNJekIsZ0JBQWdCO0lBTHBCO00vQnBEQSwrQlZ1TWdDO01VdE1oQyxrQ1ZzTWdDO01VMUxoQywwQitCZ0R3QztJQVR4QztNQWFNLGVBQWU7TS9CL0VyQixnQ1ZxTmdDO01VcE5oQyxtQ1ZvTmdDO01VOUtoQyw0QitCMEMwQzs7QTFCckZ0QztFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0ExQnRGRDtFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0ExQnRGRDtFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0ExQnRGRDtFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0ExQnRGRDtFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0ExQnRGRDtFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0ExQnRGRDtFMEJzRUo7SUFDRSw4QkFBbUI7SUFBbkIsNkJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixtQkFBbUI7SUFEckI7TUFJSSxrQnpDNEl5QjtNeUMzSXpCLGdCQUFnQjtNQUxwQjtRL0JwREEsK0JWdU1nQztRVXRNaEMsa0NWc01nQztRVTFMaEMsMEIrQmdEd0M7TUFUeEM7UUFhTSxlQUFlO1EvQi9FckIsZ0NWcU5nQztRVXBOaEMsbUNWb05nQztRVTlLaEMsNEIrQjBDMEMsSUFDckM7O0FBWVQ7RUFFSSxlQUFlO0VBQ2YsY0FBYztFL0JqSGQsZ0IrQmtId0I7RUFKNUI7SUFPTSxtQnpDNkcyQjs7QXlDcEhqQztFQWFNLGFBQWE7O0FBYm5CO0VBbUJNLGdCQUFnQjtFQUNoQixnQkFBZ0I7O0FDcElwQjtFQUNFLFk1QmdGOEQ7RTRCL0U5RCx5QjVCK0U4RDtFVHBFaEU7SXFDUE0sWTVCMkUwRDtJNEIxRTFELHlCQUF5QztFQVAvQztJQVdNLFcxQ1BPO0kwQ1FQLHVCNUJxRTBEO0k0QnBFMUQsbUI1Qm9FMEQ7O0E0QmpGaEU7RUFDRSxjNUJnRjhEO0U0Qi9FOUQseUI1QitFOEQ7RVRwRWhFO0lxQ1BNLGM1QjJFMEQ7STRCMUUxRCx5QkFBeUM7RUFQL0M7SUFXTSxXMUNQTztJMENRUCx5QjVCcUUwRDtJNEJwRTFELHFCNUJvRTBEOztBNEJqRmhFO0VBQ0UsYzVCZ0Y4RDtFNEIvRTlELHlCNUIrRThEO0VUcEVoRTtJcUNQTSxjNUIyRTBEO0k0QjFFMUQseUJBQXlDO0VBUC9DO0lBV00sVzFDUE87STBDUVAseUI1QnFFMEQ7STRCcEUxRCxxQjVCb0UwRDs7QTRCakZoRTtFQUNFLGM1QmdGOEQ7RTRCL0U5RCx5QjVCK0U4RDtFVHBFaEU7SXFDUE0sYzVCMkUwRDtJNEIxRTFELHlCQUF5QztFQVAvQztJQVdNLFcxQ1BPO0kwQ1FQLHlCNUJxRTBEO0k0QnBFMUQscUI1Qm9FMEQ7O0E0QmpGaEU7RUFDRSxjNUJnRjhEO0U0Qi9FOUQseUI1QitFOEQ7RVRwRWhFO0lxQ1BNLGM1QjJFMEQ7STRCMUUxRCx5QkFBeUM7RUFQL0M7SUFXTSxXMUNQTztJMENRUCx5QjVCcUUwRDtJNEJwRTFELHFCNUJvRTBEOztBNEJqRmhFO0VBQ0UsYzVCZ0Y4RDtFNEIvRTlELHlCNUIrRThEO0VUcEVoRTtJcUNQTSxjNUIyRTBEO0k0QjFFMUQseUJBQXlDO0VBUC9DO0lBV00sVzFDUE87STBDUVAseUI1QnFFMEQ7STRCcEUxRCxxQjVCb0UwRDs7QTRCakZoRTtFQUNFLGM1QmdGOEQ7RTRCL0U5RCx5QjVCK0U4RDtFVHBFaEU7SXFDUE0sYzVCMkUwRDtJNEIxRTFELHlCQUF5QztFQVAvQztJQVdNLFcxQ1BPO0kwQ1FQLHlCNUJxRTBEO0k0QnBFMUQscUI1Qm9FMEQ7O0E0QmpGaEU7RUFDRSxjNUJnRjhEO0U0Qi9FOUQseUI1QitFOEQ7RVRwRWhFO0lxQ1BNLGM1QjJFMEQ7STRCMUUxRCx5QkFBeUM7RUFQL0M7SUFXTSxXMUNQTztJMENRUCx5QjVCcUUwRDtJNEJwRTFELHFCNUJvRTBEOztBNEJqRmhFO0VBQ0UsYzVCZ0Y4RDtFNEIvRTlELHlCNUIrRThEO0VUcEVoRTtJcUNQTSxjNUIyRTBEO0k0QjFFMUQseUJBQXlDO0VBUC9DO0lBV00sVzFDUE87STBDUVAseUI1QnFFMEQ7STRCcEUxRCxxQjVCb0UwRDs7QTRCakZoRTtFQUNFLGM1QmdGOEQ7RTRCL0U5RCx5QjVCK0U4RDtFVHBFaEU7SXFDUE0sYzVCMkUwRDtJNEIxRTFELHlCQUF5QztFQVAvQztJQVdNLFcxQ1BPO0kwQ1FQLHlCNUJxRTBEO0k0QnBFMUQscUI1Qm9FMEQ7O0E0QmpGaEU7RUFDRSxjNUJnRjhEO0U0Qi9FOUQseUI1QitFOEQ7RVRwRWhFO0lxQ1BNLGM1QjJFMEQ7STRCMUUxRCx5QkFBeUM7RUFQL0M7SUFXTSxXMUNQTztJMENRUCx5QjVCcUUwRDtJNEJwRTFELHFCNUJvRTBEOztBNEJq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LGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtFQUR6QjtJQUdJLGlEQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UsaURBQXVCO0VBRHpCO0lBR0ksaURBQXVCOztBQUgzQjtFQUNFLG9EQUF1QjtFQUR6QjtJQUdJLG9EQUF1Qjs7QUFIM0I7RUFDRSxpREFBdUI7RUFEekI7SUFHSSxpREFBdUI7O0FBSDNCO0VBQ0UscURBQXVCO0VBRHpCO0lBR0kscURBQXVCOztBQUgzQjtFQUNFLHFEQUF1QjtFQUR6QjtJQUdJLHFEQUF1Qjs7QUFIM0I7RUFDRSxxREFBdUI7RUFEekI7SUFHSSxxREFBdUI7O0FBSDNCO0VBQ0UscURBQXVCO0VBRHpCO0lBR0kscURBQXVCOztBQUgzQjtFQUNFLGlEQUF1QjtF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dUNZLHNCeEczV0Q7SXdHNFdDLFd4R2xXRDtFd0cwVFg7SUE4Q1ksMENBbFg0RDtFQW9VeEU7SUFtRFEsb0J2Ri9XZ0IsSXVGZ1huQjs7QUFJVCIsImZpbGUiOiJkZWZhdWx0XFxzY3NzXFxleHBlcmllbmNlXFxzdG9yZVBhZ2UuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc3R5bGVsaW50LWRpc2FibGUgYXQtcnVsZS1uby12ZW5kb3ItcHJlZml4LCBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQsIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZSwgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeFxuXG4vLyBSZWJvb3Rcbi8vXG4vLyBOb3JtYWxpemF0aW9uIG9mIEhUTUwgZWxlbWVudHMsIG1hbnVhbGx5IGZvcmtlZCBmcm9tIE5vcm1hbGl6ZS5jc3MgdG8gcmVtb3ZlXG4vLyBzdHlsZXMgdGFyZ2V0aW5nIGlycmVsZXZhbnQgYnJvd3NlcnMgd2hpbGUgYXBwbHlpbmcgbmV3IHN0eWxlcy5cbi8vXG4vLyBOb3JtYWxpemUgaXMgbGljZW5zZWQgTUlULiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG5cblxuLy8gRG9jdW1lbnRcbi8vXG4vLyAxLiBDaGFuZ2UgZnJvbSBgYm94LXNpemluZzogY29udGVudC1ib3hgIHNvIHRoYXQgYHdpZHRoYCBpcyBub3QgYWZmZWN0ZWQgYnkgYHBhZGRpbmdgIG9yIGBib3JkZXJgLlxuLy8gMi4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2Vycy5cbi8vIDMuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbi8vIDQuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuLy8gNS4gQ2hhbmdlIHRoZSBkZWZhdWx0IHRhcCBoaWdobGlnaHQgdG8gYmUgY29tcGxldGVseSB0cmFuc3BhcmVudCBpbiBpT1MuXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbn1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAzXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNFxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLy8gNVxufVxuXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuLy8gVE9ETzogcmVtb3ZlIGluIHY1XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQm9keVxuLy9cbi8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbi8vIDIuIEFzIGEgYmVzdCBwcmFjdGljZSwgYXBwbHkgYSBkZWZhdWx0IGBiYWNrZ3JvdW5kLWNvbG9yYC5cbi8vIDMuIFNldCBhbiBleHBsaWNpdCBpbml0aWFsIHRleHQtYWxpZ24gdmFsdWUgc28gdGhhdCB3ZSBjYW4gbGF0ZXIgdXNlXG4vLyAgICB0aGUgYGluaGVyaXRgIHZhbHVlIG9uIHRoaW5ncyBsaWtlIGA8dGg+YCBlbGVtZW50cy5cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgLy8gMVxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplLWJhc2UpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyAzXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnOyAvLyAyXG59XG5cbi8vIFN1cHByZXNzIHRoZSBmb2N1cyBvdXRsaW5lIG9uIGVsZW1lbnRzIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIHZpYSBrZXlib2FyZC5cbi8vIFRoaXMgcHJldmVudHMgYW4gdW53YW50ZWQgZm9jdXMgb3V0bGluZSBmcm9tIGFwcGVhcmluZyBhcm91bmQgZWxlbWVudHMgdGhhdFxuLy8gbWlnaHQgc3RpbGwgcmVzcG9uZCB0byBwb2ludGVyIGV2ZW50cy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2Vcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIENvbnRlbnQgZ3JvdXBpbmdcbi8vXG4vLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgaGVpZ2h0OiAwOyAvLyAxXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG59XG5cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbi8vIFJlbW92ZSB0b3AgbWFyZ2lucyBmcm9tIGhlYWRpbmdzXG4vL1xuLy8gQnkgZGVmYXVsdCwgYDxoMT5gLWA8aDY+YCBhbGwgcmVjZWl2ZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiBXZSBudWtlIHRoZSB0b3Bcbi8vIG1hcmdpbiBmb3IgZWFzaWVyIGNvbnRyb2wgd2l0aGluIHR5cGUgc2NhbGVzIGFzIGl0IGF2b2lkcyBtYXJnaW4gY29sbGFwc2luZy5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVzZXQgbWFyZ2lucyBvbiBwYXJhZ3JhcGhzXG4vL1xuLy8gU2ltaWxhcmx5LCB0aGUgdG9wIG1hcmdpbiBvbiBgPHA+YHMgZ2V0IHJlc2V0LiBIb3dldmVyLCB3ZSBhbHNvIHJlc2V0IHRoZVxuLy8gYm90dG9tIG1hcmdpbiB0byB1c2UgYHJlbWAgdW5pdHMgaW5zdGVhZCBvZiBgZW1gLlxucCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gQWJicmV2aWF0aW9uc1xuLy9cbi8vIDEuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG4vLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuLy8gMy4gQWRkIGV4cGxpY2l0IGN1cnNvciB0byBpbmRpY2F0ZSBjaGFuZ2VkIGJlaGF2aW9yLlxuLy8gNC4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gNS4gUHJldmVudCB0aGUgdGV4dC1kZWNvcmF0aW9uIHRvIGJlIHNraXBwZWQuXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDFcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyA0XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gNVxufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxub2wsXG51bCxcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxub2wgb2wsXG51bCB1bCxcbm9sIHVsLFxudWwgb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiAkZHQtZm9udC13ZWlnaHQ7XG59XG5cbmRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyOyAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpXG59XG5cbnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDgwJSk7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzXG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbi8vIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDc1JSk7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7IGJvdHRvbTogLS4yNWVtOyB9XG5zdXAgeyB0b3A6IC0uNWVtOyB9XG5cblxuLy9cbi8vIExpbmtzXG4vL1xuXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cbn1cblxuLy8gQW5kIHVuZG8gdGhlc2Ugc3R5bGVzIGZvciBwbGFjZWhvbGRlciBsaW5rcy9uYW1lZCBhbmNob3JzICh3aXRob3V0IGhyZWYpXG4vLyB3aGljaCBoYXZlIG5vdCBiZWVuIG1hZGUgZXhwbGljaXRseSBrZXlib2FyZC1mb2N1c2FibGUgKHdpdGhvdXQgdGFiaW5kZXgpLlxuLy8gSXQgd291bGQgYmUgbW9yZSBzdHJhaWdodGZvcndhcmQgdG8ganVzdCB1c2UgYVtocmVmXSBpbiBwcmV2aW91cyBibG9jaywgYnV0IHRoYXRcbi8vIGNhdXNlcyBzcGVjaWZpY2l0eSBpc3N1ZXMgaW4gbWFueSBvdGhlciBzdHlsZXMgdGhhdCBhcmUgdG9vIGNvbXBsZXggdG8gZml4LlxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk0MDJcblxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cblxuLy9cbi8vIENvZGVcbi8vXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgxZW0pOyAvLyBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG59XG5cbnByZSB7XG4gIC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHQgdG9wIG1hcmdpblxuICBtYXJnaW4tdG9wOiAwO1xuICAvLyBSZXNldCBicm93c2VyIGRlZmF1bHQgb2YgYDFlbWAgdG8gdXNlIGByZW1gc1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvLyBEb24ndCBhbGxvdyBjb250ZW50IHRvIGJyZWFrIG91dHNpZGVcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbmZpZ3VyZSB7XG4gIC8vIEFwcGx5IGEgY29uc2lzdGVudCBtYXJnaW4gc3RyYXRlZ3kgKG1hdGNoZXMgb3VyIHR5cGUgc3R5bGVzKS5cbiAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuXG4vL1xuLy8gSW1hZ2VzIGFuZCBjb250ZW50XG4vL1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItc3R5bGU6IG5vbmU7IC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxufVxuXG5zdmcge1xuICAvLyBXb3JrYXJvdW5kIGZvciB0aGUgU1ZHIG92ZXJmbG93IGJ1ZyBpbiBJRTEwLzExIGlzIHN0aWxsIHJlcXVpcmVkLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNjg3OFxuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vXG4vLyBUYWJsZXNcbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyc1xufVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG50aCB7XG4gIC8vIE1hdGNoZXMgZGVmYXVsdCBgPHRkPmAgYWxpZ25tZW50IGJ5IGluaGVyaXRpbmcgZnJvbSB0aGUgYDxib2R5PmAsIG9yIHRoZVxuICAvLyBjbG9zZXN0IHBhcmVudCB3aXRoIGEgc2V0IGB0ZXh0LWFsaWduYC5cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbn1cblxuXG4vL1xuLy8gRm9ybXNcbi8vXG5cbmxhYmVsIHtcbiAgLy8gQWxsb3cgbGFiZWxzIHRvIHVzZSBgbWFyZ2luYCBmb3Igc3BhY2luZy5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbn1cblxuLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGBib3JkZXItcmFkaXVzYCB0aGF0IG1hY09TIENocm9tZSBhZGRzLlxuLy9cbi8vIERldGFpbHMgYXQgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNDA5M1xuYnV0dG9uIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vLyBXb3JrIGFyb3VuZCBhIEZpcmVmb3gvSUUgYnVnIHdoZXJlIHRoZSB0cmFuc3BhcmVudCBgYnV0dG9uYCBiYWNrZ3JvdW5kXG4vLyByZXN1bHRzIGluIGEgbG9zcyBvZiB0aGUgZGVmYXVsdCBgYnV0dG9uYCBmb2N1cyBzdHlsZXMuXG4vL1xuLy8gQ3JlZGl0OiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlL1xuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7IC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKGluaGVyaXQpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG59XG5cbi8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2Ygd29yZC13cmFwIGluIFNhZmFyaS5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQ5OTBcbnNlbGVjdCB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5cbi8vIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuLy8gICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuLy8gMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxufVxuXG4vLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgYnV0dG9uIGVsZW1lbnRzLlxuQGlmICRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnMge1xuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgJjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgZnJvbSBGaXJlZm94LCBidXQgZG9uJ3QgcmVzdG9yZSB0aGUgb3V0bGluZSBsaWtlIE5vcm1hbGl6ZS5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC1cbiAgcGFkZGluZzogMDsgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLVxufVxuXG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgYXBwZWFyYW5jZSBvZiB0ZW1wb3JhbCBpbnB1dHMgdG8gYXZvaWQgYSBNb2JpbGUgU2FmYXJpXG4gIC8vIGJ1ZyB3aGVyZSBzZXR0aW5nIGEgY3VzdG9tIGxpbmUtaGVpZ2h0IHByZXZlbnRzIHRleHQgZnJvbSBiZWluZyB2ZXJ0aWNhbGx5XG4gIC8vIGNlbnRlcmVkIHdpdGhpbiB0aGUgaW5wdXQuXG4gIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4gIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExMjY2XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbGlzdGJveDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgLy8gVGV4dGFyZWFzIHNob3VsZCByZWFsbHkgb25seSByZXNpemUgdmVydGljYWxseSBzbyB0aGV5IGRvbid0IGJyZWFrIHRoZWlyIChob3Jpem9udGFsKSBjb250YWluZXJzLlxuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5maWVsZHNldCB7XG4gIC8vIEJyb3dzZXJzIHNldCBhIGRlZmF1bHQgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHVubGlrZSBlLmcuIGA8ZGl2PmBzLCB3aGljaCBoYXZlIGBtaW4td2lkdGg6IDA7YCBieSBkZWZhdWx0LlxuICAvLyBTbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBmaWVsZHNldHMgYmVoYXZlIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5XG4gIC8vIGFuZCBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jdGhlLWZpZWxkc2V0LWFuZC1sZWdlbmQtZWxlbWVudHNcbiAgbWluLXdpZHRoOiAwO1xuICAvLyBSZXNldCB0aGUgZGVmYXVsdCBvdXRsaW5lIGJlaGF2aW9yIG9mIGZpZWxkc2V0cyBzbyB0aGV5IGRvbid0IGFmZmVjdCBwYWdlIGxheW91dC5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4vLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG5sZWdlbmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDEuNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxufVxuXG4vLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbiAgLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4gIC8vIGJlIGFkZGVkIHRvIGAuZm9ybS1jb250cm9sYCBhcyBpdCdzIG5vdCBzcGVjaWZpYyBlbm91Z2guIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4vLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4vL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxufVxuXG4vL1xuLy8gQ29ycmVjdCBlbGVtZW50IGRpc3BsYXlzXG4vL1xuXG5vdXRwdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vyc1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUVcbn1cblxuLy8gQWx3YXlzIGhpZGUgYW4gZWxlbWVudCB3aXRoIHRoZSBgaGlkZGVuYCBIVE1MIGF0dHJpYnV0ZSAoZnJvbSBQdXJlQ1NTKS5cbi8vIE5lZWRlZCBmb3IgcHJvcGVyIGRpc3BsYXkgaW4gSUUgMTAtLlxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtfSArICN7JGlucHV0LXBhZGRpbmcteX0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgLyAyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIGNhbGMoI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemV9IC0gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDR9KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArICN7MiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteX0pICogMyAvIDQgKyAjeyRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nfSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvL1xyXG4vLyAgVHlwb2dyYXBoeVxyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4kZm9udC1mYW1pbHktYmFzZTogS2xlaW4sICRmb250LWZhbWlseS1iYXNlO1xyXG4kZm9udC1mYW1pbHktc2Vjb25kYXJ5OiBLbGVpbkNvbmRlbnNlZCwgJGZvbnQtZmFtaWx5LWJhc2U7XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogMS42O1xyXG5cclxuJGZvbnQtc2l6ZS1yb290IDogNjIuNSU7XHJcbiRmb250LXNpemUtYmFzZSA6IHJlbSgxNCk7XHJcbiRmb250LXNpemUtbGcgICA6IHJlbSgxNyk7XHJcbiRmb250LXNpemUtbWQgICA6IHJlbSgxNCk7XHJcbiRmb250LXNpemUtcyAgICA6IHJlbSgxMyk7XHJcbiRmb250LXNpemUteHMgICA6IHJlbSgxMik7XHJcblxyXG4vLyAkZm9udC13ZWlnaHQtbGlnaHQ6IDMwMDtcclxuLy8gJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZDogNTAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZGVyOiA3MDA7XHJcblxyXG4vL1xyXG4vLyAgSGVhZGVyc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAgRGVmYXVsdFxyXG4kaDFfX2ZvbnQtc2l6ZTogcmVtKDI0KTtcclxuJGgyX19mb250LXNpemU6IHJlbSgxOCk7XHJcbiRoM19fZm9udC1zaXplOiByZW0oMTYpO1xyXG4kaDRfX2ZvbnQtc2l6ZTogcmVtKDE1KTtcclxuJGg1X19mb250LXNpemU6IHJlbSgxMCk7XHJcbiRoNl9fZm9udC1zaXplOiByZW0oOCk7XHJcblxyXG4kaDFfX2ZvbnQtc2l6ZV9fbWQ6IHJlbSgzMik7XHJcbiRoMl9fZm9udC1zaXplX19tZDogcmVtKDI0KTtcclxuJGgzX19mb250LXNpemVfX21kOiByZW0oMTgpO1xyXG4kaDRfX2ZvbnQtc2l6ZV9fbWQ6IHJlbSgxNik7XHJcbiRoNV9fZm9udC1zaXplX19tZDogcmVtKDEyKTtcclxuJGg2X19mb250LXNpemVfX21kOiByZW0oMTApO1xyXG4iLCIvL1xyXG4vLyAgTWFpbiBnbG9iYWwgc3R5bGVzXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbkBjaGFyc2V0ICdVVEYtOCc7XHJcblxyXG5AaW1wb3J0XHJcbiAgICAnYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zJyxcclxuICAgICdib290c3RyYXAvc2Nzcy92YXJpYWJsZXMnLFxyXG4gICAgJ2Jvb3RzdHJhcC9zY3NzL21peGlucyc7XHJcblxyXG4vL1xyXG4vLyAgMS4gSGVscGVycyBhbmQgdmFyaWFibGVzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBpbXBvcnRcclxuICAgICcuLi91dGlscy9mdW5jdGlvbnMnLFxyXG4gICAgJ2Jhc2UvdmFyaWFibGVzJztcclxuXHJcbi8vIENvbG9yc1xyXG5cclxuLy8gT3RoZXIgdmFyaWFibGVzXHJcbkBpbXBvcnRcclxuICAgICcuLi90aGVtZXMvZGVmYXVsdC92YXJpYWJsZXMnO1xyXG5cclxuQGltcG9ydFxyXG4gICAgJy4uL3V0aWxzL21peGlucycsXHJcbiAgICAnLi4vbWl4aW5zL21peGlucyc7XHJcblxyXG4vL1xyXG4vLyAgMi4gVmVuZG9yc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AaW1wb3J0XHJcbiAgICAnLi4vdmVuZG9ycy9ib290c3RyYXAnO1xyXG5cclxuLy9cclxuLy8gIDMuIEJhc2Ugc3R1ZmZcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQGltcG9ydFxyXG4gICAgJy4uL2Jhc2lzL2Jhc2UnLFxyXG4gICAgJy4uL2Jhc2lzL3R5cG9ncmFwaHknLFxyXG4gICAgJy4uL2Jhc2lzL2hlbHBlcnMnO1xyXG5cclxuLy9cclxuLy8gIDQuIENvbXBvbmVudHNcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQGltcG9ydFxyXG4gICAgJy4vY29tcG9uZW50cy9sYXlvdXRzL21vYmlsZS1yb3ctZ3JpZCcsXHJcbiAgICAnLi9jb21wb25lbnRzL2xheW91dHMvY3VzdG9tLWxheW91dCcsXHJcbiAgICAnLi9jb21wb25lbnRzL3B2aF9hc3NldHMvaW1hZ2UtdGV4dC1idG4nLFxyXG4gICAgJy4vY29tcG9uZW50cy9wdmhfYXNzZXRzL2ltYWdlLXRpbGUnLFxyXG4gICAgJy4vY29tcG9uZW50cy9wdmhfYXNzZXRzL3RleHRib3gnLFxyXG4gICAgJy4vY29tcG9uZW50cy9wdmhfYXNzZXRzL3R3by1jb2wtaW1hZ2UtdGV4dCcsXHJcbiAgICAnLi9jb21wb25lbnRzL3B2aF9hc3NldHMvdmlkZW8tYmxvY2snLFxyXG4gICAgJy4vY29tcG9uZW50cy9wdmhfYXNzZXRzL2NscC1jYXJvdXNlbCcsXHJcbiAgICAnLi9jb21wb25lbnRzL3B2aF9hc3NldHMvc2l4LWJ1dHRvbnMnLFxyXG4gICAgJy4vY29tcG9uZW50cy9wdmhfYXNzZXRzL3R3by1jb2wtdHdvLWltYWdlcycsXHJcbiAgICAnLi9jb21wb25lbnRzL2NvbW1lcmNlQXNzZXRzL2NhdGVnb3J5JyxcclxuICAgICcuLi9ibG9ja3Mvc2VhcmNoL3NlYXJjaC1iYW5uZXInLFxyXG4gICAgJy4vY29tcG9uZW50cy9wdmhfYXNzZXRzL2Jhbm5lci1jYXJvdXNlbCcsXHJcbiAgICAnLi9jb21wb25lbnRzL3B2aF9hc3NldHMvbmV3c2xldHRlcic7XHJcblxyXG4vL1xyXG4vLyAgNS4gQmxvY2tzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBpbXBvcnRcclxuICAgICcuLi9ibG9ja3MvaG9tZXBhZ2UvZ2VuZGVyLWJsb2NrJztcclxuXHJcbi8vXHJcbi8vICA2LiBUaGVtZSBzdHlsZXNcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQGltcG9ydFxyXG4gICAgJy4uL3RoZW1lcy9kZWZhdWx0L3N0eWxlcyc7XHJcblxyXG4vL1xyXG5cclxuLy8gIDcuIFBhZ2Ugc3R5bGVzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBpbXBvcnRcclxuICAgICcuL3BhZ2VzL3BhZ2VEZXNpZ25lcic7XHJcbiIsIi8vXHJcbi8vICBMaW5rIGNvbXBvbmVudFxyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4vLyAgQm9vdHN0cmFwXHJcbiRsaW5rLWNvbG9yOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG4kbGluay1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7XHJcbiRsaW5rLWhvdmVyLWNvbG9yOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG5cclxuIiwiLy8gSG92ZXIgbWl4aW4gYW5kIGAkZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5YCBhcmUgZGVwcmVjYXRlZC5cbi8vXG4vLyBPcmlnaW5hbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1MtYW4gaXNzdWUgd2hlcmUgaG92ZXIgc3R5bGVzXG4vLyB3b3VsZCBwZXJzaXN0IGFmdGVyIGluaXRpYWwgdG91Y2guXG4vL1xuLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIHdlJ3ZlIGtlcHQgdGhlc2UgbWl4aW5zIGFuZCB1cGRhdGVkIHRoZW0gdG9cbi8vIGFsd2F5cyByZXR1cm4gdGhlaXIgcmVndWxhciBwc2V1ZG8tY2xhc3NlcyBpbnN0ZWFkIG9mIGEgc2hpbW1lZCBtZWRpYSBxdWVyeS5cbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTE5NVxuXG5AbWl4aW4gaG92ZXIge1xuICAmOmhvdmVyIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHBsYWluLWhvdmVyLWZvY3VzIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyLWZvY3VzLWFjdGl2ZSB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1saXN0LWNvbW1hLW5ld2xpbmUtYWZ0ZXJcblxuLy9cbi8vIEhlYWRpbmdzXG4vL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmdzLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xufVxuXG5oMSwgLmgxIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMS1mb250LXNpemUpOyB9XG5oMiwgLmgyIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMi1mb250LXNpemUpOyB9XG5oMywgLmgzIHsgQGluY2x1ZGUgZm9udC1zaXplKCRoMy1mb250LXNpemUpOyB9XG5oNCwgLmg0IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNC1mb250LXNpemUpOyB9XG5oNSwgLmg1IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNS1mb250LXNpemUpOyB9XG5oNiwgLmg2IHsgQGluY2x1ZGUgZm9udC1zaXplKCRoNi1mb250LXNpemUpOyB9XG5cbi5sZWFkIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRsZWFkLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkbGVhZC1mb250LXdlaWdodDtcbn1cblxuLy8gVHlwZSBkaXNwbGF5IGNsYXNzZXNcbi5kaXNwbGF5LTEge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXkxLXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkxLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZGlzcGxheTItc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTItd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS0zIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRkaXNwbGF5My1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5My13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTQge1xuICBAaW5jbHVkZSBmb250LXNpemUoJGRpc3BsYXk0LXNpemUpO1xuICBmb250LXdlaWdodDogJGRpc3BsYXk0LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8vXG4vLyBIb3Jpem9udGFsIHJ1bGVzXG4vL1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICRoci1tYXJnaW4teTtcbiAgbWFyZ2luLWJvdHRvbTogJGhyLW1hcmdpbi15O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXItd2lkdGggc29saWQgJGhyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vL1xuLy8gRW1waGFzaXNcbi8vXG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzbWFsbC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgcGFkZGluZzogJG1hcmstcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hcmstYmc7XG59XG5cblxuLy9cbi8vIExpc3RzXG4vL1xuXG4ubGlzdC11bnN0eWxlZCB7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQ7XG59XG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuLmxpc3QtaW5saW5lLWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWlubGluZS1wYWRkaW5nO1xuICB9XG59XG5cblxuLy9cbi8vIE1pc2Ncbi8vXG5cbi8vIEJ1aWxkcyBvbiBgYWJicmBcbi5pbml0aWFsaXNtIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKDkwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG4uYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmxvY2txdW90ZS1mb250LXNpemUpO1xufVxuXG4uYmxvY2txdW90ZS1mb290ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRibG9ja3F1b3RlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0XFwwMEEwXCI7IC8vIGVtIGRhc2gsIG5ic3BcbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyIC8gMjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5maWd1cmUtY2FwdGlvbiB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZmlndXJlLWNhcHRpb24tZm9udC1zaXplKTtcbiAgY29sb3I6ICRmaWd1cmUtY2FwdGlvbi1jb2xvcjtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjb2RlLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRrYmQtZm9udC1zaXplKTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMDAlKTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkY29kZS1mb250LXNpemUpO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGNvbG9yOiAkdGFibGUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlciB2ZXJzaW9uc1xuLy9cbi8vIEFkZCBvciByZW1vdmUgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMiAqICR0YWJsZS1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1ib3JkZXJsZXNzIHtcbiAgdGgsXG4gIHRkLFxuICB0aGVhZCB0aCxcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICB0Ym9keSB0cjpudGgtb2YtdHlwZSgjeyR0YWJsZS1zdHJpcGVkLW9yZGVyfSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJHRhYmxlLWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkdGFibGUtYm9yZGVyLWxldmVsKSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWRhcmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBHZW5lcmF0ZSBzZXJpZXMgb2YgYC50YWJsZS1yZXNwb25zaXZlLSpgIGNsYXNzZXMgZm9yIGNvbmZpZ3VyaW5nIHRoZSBzY3JlZW5cbi8vIHNpemUgb2Ygd2hlcmUgeW91ciB0YWJsZSB3aWxsIG92ZXJmbG93LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkbmV4dCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgJiN7JGluZml4fSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkYm9yZGVyOiBudWxsKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBpZiAkYm9yZGVyICE9IG51bGwge1xuICAgICAgdGgsXG4gICAgICB0ZCxcbiAgICAgIHRoZWFkIHRoLFxuICAgICAgdGJvZHkgKyB0Ym9keSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvL1xyXG4vLyAgQnJlYWtwb2ludHNcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJGRlZmF1bHQtYnJlYWtwb2ludDogeHM7XHJcbiRkZWZhdWx0LWJyZWFrcG9pbnQtZGlyZWN0aW9uOiB1cDtcclxuJGN1cnJlbnQtYnJlYWtwb2ludDogJGRlZmF1bHQtYnJlYWtwb2ludDtcclxuJGN1cnJlbnQtYnJlYWtwb2ludC1kaXJlY3Rpb246ICRkZWZhdWx0LWJyZWFrcG9pbnQtZGlyZWN0aW9uO1xyXG5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICAgIEBpZiAkbWluIHtcclxuICAgICAgICAvLyBVcGRhdGUgYCRjdXJyZW50LWJyZWFrcG9pbnRgXHJcbiAgICAgICAgJGN1cnJlbnQtYnJlYWtwb2ludDogJG5hbWUgIWdsb2JhbDtcclxuICAgICAgICAkY3VycmVudC1icmVha3BvaW50LWRpcmVjdGlvbjogdXAgIWdsb2JhbDtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBUaGVuIHJlc2V0IGAkY3VycmVudC1icmVha3BvaW50YCB0byBgJGRlZmF1bHQtYnJlYWtwb2ludGAgKHJvb3QpXHJcbiAgICAgICAgJGN1cnJlbnQtYnJlYWtwb2ludDogJGRlZmF1bHQtYnJlYWtwb2ludCAhZ2xvYmFsO1xyXG4gICAgICAgICRjdXJyZW50LWJyZWFrcG9pbnQtZGlyZWN0aW9uOiAkZGVmYXVsdC1icmVha3BvaW50LWRpcmVjdGlvbiAhZ2xvYmFsO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICAgIEBpZiAkbWF4IHtcclxuICAgICAgICAvLyBVcGRhdGUgYCRjdXJyZW50LWJyZWFrcG9pbnRgXHJcbiAgICAgICAgJGN1cnJlbnQtYnJlYWtwb2ludDogJG5hbWUgIWdsb2JhbDtcclxuICAgICAgICAkY3VycmVudC1icmVha3BvaW50LWRpcmVjdGlvbjogZG93biAhZ2xvYmFsO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFRoZW4gcmVzZXQgYCRjdXJyZW50LWJyZWFrcG9pbnRgIHRvIGAkZGVmYXVsdC1icmVha3BvaW50YCAocm9vdClcclxuICAgICAgICAkY3VycmVudC1icmVha3BvaW50OiAkZGVmYXVsdC1icmVha3BvaW50ICFnbG9iYWw7XHJcbiAgICAgICAgJGN1cnJlbnQtYnJlYWtwb2ludC1kaXJlY3Rpb246ICRkZWZhdWx0LWJyZWFrcG9pbnQtZGlyZWN0aW9uICFnbG9iYWw7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXHJcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICAgIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMsIDApO1xuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICAvLyBTdXBwcmVzcyB0aGUgbmVzdGVkIGRlZmF1bHQgd2hpdGUgdGV4dCBvbiBibHVlIGJhY2tncm91bmQgaGlnaGxpZ2h0IGdpdmVuIHRvXG4gICAgLy8gdGhlIHNlbGVjdGVkIG9wdGlvbiB0ZXh0IHdoZW4gdGhlIChzdGlsbCBjbG9zZWQpIDxzZWxlY3Q+IHJlY2VpdmVzIGZvY3VzXG4gICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UsIGFzIGl0IGxvb2tzIGJhZCBhbmQgY2Fubm90IGJlIG1hZGUgdG9cbiAgICAvLyBtYXRjaCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgbmF0aXZlIHdpZGdldC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgfVxufVxuXG4vLyBNYWtlIGZpbGUgaW5wdXRzIGJldHRlciBtYXRjaCB0ZXh0IGlucHV0cyBieSBmb3JjaW5nIHRoZW0gdG8gbmV3IGxpbmVzLlxuLmZvcm0tY29udHJvbC1maWxlLFxuLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vL1xuLy8gTGFiZWxzXG4vL1xuXG4vLyBGb3IgdXNlIHdpdGggaG9yaXpvbnRhbCBhbmQgaW5saW5lIGZvcm1zLCB3aGVuIHlvdSBuZWVkIHRoZSBsYWJlbCAob3IgbGVnZW5kKVxuLy8gdGV4dCB0byBhbGlnbiB3aXRoIHRoZSBmb3JtIGNvbnRyb2xzLlxuLmNvbC1mb3JtLWxhYmVsIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXl9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBgPGxhYmVsPi88bGVnZW5kPmAgZGVmYXVsdFxuICBAaW5jbHVkZSBmb250LXNpemUoaW5oZXJpdCk7IC8vIE92ZXJyaWRlIHRoZSBgPGxlZ2VuZD5gIGRlZmF1bHRcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktbGd9ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLWxnKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbn1cblxuLmNvbC1mb3JtLWxhYmVsLXNtIHtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygjeyRpbnB1dC1wYWRkaW5nLXktc219ICsgI3skaW5wdXQtYm9yZGVyLXdpZHRofSk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbn1cblxuXG4vLyBSZWFkb25seSBjb250cm9scyBhcyBwbGFpbiB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSByZWFkb25seSBpbnB1dCB0byBtYWtlIGl0IGFwcGVhciBsaWtlIHJlZ3VsYXIgcGxhaW5cbi8vIHRleHQgKHdpdGhvdXQgYW55IGJvcmRlciwgYmFja2dyb3VuZCBjb2xvciwgZm9jdXMgaW5kaWNhdG9yKVxuXG4uZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6ICRpbnB1dC1wYWRkaW5nLXk7XG4gIHBhZGRpbmctYm90dG9tOiAkaW5wdXQtcGFkZGluZy15O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBtYXRjaCBpbnB1dHMgaWYgdGhpcyBjbGFzcyBjb21lcyBvbiBpbnB1dHMgd2l0aCBkZWZhdWx0IG1hcmdpbnNcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1wbGFpbnRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkaW5wdXQtZm9udC1zaXplLXNtKTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0LWxnO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAmW3NpemVdLFxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGZvcm0tZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBlYWNoICRzdGF0ZSwgJGRhdGEgaW4gJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXMge1xuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCBtYXAtZ2V0KCRkYXRhLCBjb2xvciksIG1hcC1nZXQoJGRhdGEsIGljb24pKTtcbn1cblxuLy8gSW5saW5lIGZvcm1zXG4vL1xuLy8gTWFrZSBmb3JtcyBhcHBlYXIgaW5saW5lKC1ibG9jaykgYnkgYWRkaW5nIHRoZSBgLmZvcm0taW5saW5lYCBjbGFzcy4gSW5saW5lXG4vLyBmb3JtcyBiZWdpbiBzdGFja2VkIG9uIGV4dHJhIHNtYWxsIChtb2JpbGUpIGRldmljZXMgYW5kIHRoZW4gZ28gaW5saW5lIHdoZW5cbi8vIHZpZXdwb3J0cyByZWFjaCA8NzY4cHguXG4vL1xuLy8gUmVxdWlyZXMgd3JhcHBpbmcgaW5wdXRzIGFuZCBsYWJlbHMgd2l0aCBgLmZvcm0tZ3JvdXBgIGZvciBwcm9wZXIgZGlzcGxheSBvZlxuLy8gZGVmYXVsdCBIVE1MIGZvcm0gY29udHJvbHMgYW5kIG91ciBjdXN0b20gZm9ybSBjb250cm9scyAoZS5nLiwgaW5wdXQgZ3JvdXBzKS5cblxuLmZvcm0taW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gUHJldmVudCBzaG9ydGVyIGVsZW1lbnRzIGZyb20gZ3Jvd2luZyB0byBzYW1lIGhlaWdodCBhcyBvdGhlcnMgKGUuZy4sIHNtYWxsIGJ1dHRvbnMgZ3Jvd2luZyB0byBub3JtYWwgc2l6ZWQgYnV0dG9uIGhlaWdodClcblxuICAvLyBCZWNhdXNlIHdlIHVzZSBmbGV4LCB0aGUgaW5pdGlhbCBzaXppbmcgb2YgY2hlY2tib3hlcyBpcyBjb2xsYXBzZWQgYW5kXG4gIC8vIGRvZXNuJ3Qgb2NjdXB5IHRoZSBmdWxsLXdpZHRoICh3aGljaCBpcyB3aGF0IHdlIHdhbnQgZm9yIHhzIGdyaWQgdGllciksXG4gIC8vIHNvIHdlIGZvcmNlIHRoYXQgaGVyZS5cbiAgLmZvcm0tY2hlY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAsXG4gICAgLmN1c3RvbS1zZWxlY3Qge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIG9uIHJhZGlvcy9jaGVja2JveGVzIHRoYXQgd2VyZSB1c2VkIGZvciBzdGFja2luZywgYW5kXG4gICAgLy8gdGhlbiB1bmRvIHRoZSBmbG9hdGluZyBvZiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgdG8gbWF0Y2guXG4gICAgLmZvcm0tY2hlY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmN1c3RvbS1jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvL1xyXG4vLyAgR2xvYmFsIGZ1bmN0aW9uc1xyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4vL1xyXG4vLyAgVHlwb2dyYXBoeVxyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAgQ29udmVydCBweCB0byByZW1cclxuQGZ1bmN0aW9uIHJlbSgkc2l6ZSkge1xyXG4gICAgQGlmIHVuaXQoJHNpemUpID09ICdyZW0nIHtcclxuICAgICAgICBAcmV0dXJuICRzaXplO1xyXG4gICAgfVxyXG5cclxuICAgICRyZW0tc2l6ZTogc3RyaXAtdW5pdHMoJHNpemUpIC8gKHN0cmlwLXVuaXRzKCRmb250LXNpemUtcm9vdCkgKiAxNiAvIDEwMCk7XHJcbiAgICBAcmV0dXJuICRyZW0tc2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0cygkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcclxufVxyXG5cclxuLy9cclxuLy8gIE90aGVyc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAgRG9lcyBub3QgY29tcGlsZSB0aGUgc2VsZWN0b3IgaWYgdGhlIHZhbHVlIHBhc3NlZCBpcyBmYWxzZVxyXG5AZnVuY3Rpb24gc2V0KCR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBpZigkdmFsdWUsICR2YWx1ZSwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIEV4YW1wbGU6XHJcbi8vICRtYXAgOiAoICgxMHB4LCAxMXB4KSwgKDEwcHgsIDE1cHgpLCAoMTBweCwgNXB4KSApXHJcbi8vIG1heC1tYXAtZWxlbWVudCgkbWFwLCAyKSA9PiAxNXB4XHJcbkBmdW5jdGlvbiBtYXgtbWFwLWVsZW1lbnQoJF9tYXAsICRfaW5kZXgpIHtcclxuICAgICRsaXN0OiAoKTtcclxuXHJcbiAgICBAZWFjaCAka2V5LCAkc2l6ZSBpbiAkX21hcCB7XHJcbiAgICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgbnRoKCRzaXplLCAkX2luZGV4KSwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gbWF4KCRsaXN0Li4uKTtcclxufVxyXG5cclxuLy8gIENyZWF0ZXMgYmFja2dyb3VuZC1pbWFnZSB1cmwgZm9yIHN2ZyBpY29uc1xyXG4vLyBFeGFtcGxlIGljb24taW1hZ2UoJGVnZ3BsYW50LCAkY2hldnJvbi1yaWdodCk7XHJcbkBmdW5jdGlvbiBpY29uLWltYWdlKCRjb2xvciwgJGltYWdlKSB7XHJcblxyXG4gICAgJHVybDogXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3t0by1yZ2IoJGNvbG9yKX0nIGZpbGwtcnVsZT0nZXZlbm9kZCcgI3skaW1hZ2V9IC8lM0UlM0Mvc3ZnJTNFJTBBXCI7XHJcbiAgICBAcmV0dXJuIHVybCgkdXJsKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHRvLXJnYigkY29sb3IpIHtcclxuICAgIEByZXR1cm4gJ3JnYignICsgcmVkKCRjb2xvcikgKyAnLCAnICsgZ3JlZW4oJGNvbG9yKSArICcsICcgKyBibHVlKCRjb2xvcikrICcpJztcclxufVxyXG4iLCIvL1xyXG4vLyAgR3JheXMgcGFsZXR0ZVxyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4kZ3JheS01MDogI2ZhZmFmYTtcclxuJGdyYXktMTAwOiAjZjhmOGY4O1xyXG4kZ3JheS0yMDA6ICNmNGY0ZjQ7XHJcbiRncmF5LTMwMDogI2NjYztcclxuJGdyYXktNDAwOiAjYWFhO1xyXG4kZ3JheS00NTA6ICM4MDgwODA7XHJcbiRncmF5LTUwMDogIzY5Njk2OTtcclxuJGdyYXktNTUwOiAjZTRlNGU0O1xyXG4kZ3JheS02MDA6ICNjMWMxYzE7XHJcbiRncmF5LTcwMDogIzgwODA4MDtcclxuJGdyYXktODAwOiAjMTkxOTE5O1xyXG4kZ3JheS04NTA6ICM5Njk2OTY7XHJcbiRncmF5LTkwMDogIzY2NjtcclxuXHJcbiRncmF5czogbWFwLW1lcmdlKCRncmF5cywgKFxyXG4gICAgNTA6ICRncmF5LTUwLFxyXG4gICAgMTAwOiAkZ3JheS0xMDAsXHJcbiAgICAyMDA6ICRncmF5LTIwMCxcclxuICAgIDMwMDogJGdyYXktMzAwLFxyXG4gICAgNDAwOiAkZ3JheS00MDAsXHJcbiAgICA0NTA6ICRncmF5LTQ1MCxcclxuICAgIDUwMDogJGdyYXktNTAwLFxyXG4gICAgNTUwOiAkZ3JheS01NTAsXHJcbiAgICA2MDA6ICRncmF5LTYwMCxcclxuICAgIDcwMDogJGdyYXktNzAwLFxyXG4gICAgODAwOiAkZ3JheS04MDAsXHJcbiAgICA4NTA6ICRncmF5LTg1MCxcclxuICAgIDkwMDogJGdyYXktOTAwLFxyXG4pKTtcclxuXHJcbi8vXHJcbi8vICBDb2xvcnMgcGFsZXR0ZVxyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4kZ3JheSAgICAgICAgICAgOiAjMzMzO1xyXG4kZ3JlZW4gICAgICAgICAgOiAjNDRiMTUxO1xyXG4kcmVkICAgICAgICAgICAgOiAjZDczNzNkO1xyXG4keWVsbG93ICAgICAgICAgOiAjZjVhNjIzO1xyXG5cclxuJGNvbG9yczogbWFwLW1lcmdlKCRjb2xvcnMsIChcclxuICAgICd3aGl0ZScgICAgICAgICA6ICR3aGl0ZSxcclxuICAgICdibGFjaycgICAgICAgICA6ICRibGFjayxcclxuICAgICdncmF5JyAgICAgICAgICA6ICRncmF5LFxyXG4pKTtcclxuXHJcbi8vXHJcbi8vICBUaGVtZSBwYWxldHRlXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcmltYXJ5ICAgOiAkYmxhY2s7XHJcbiRncmF5ICAgICAgOiAkZ3JheTtcclxuXHJcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZSgkdGhlbWUtY29sb3JzLCAoXHJcbiAgICAncHJpbWFyeScgICA6ICRwcmltYXJ5LFxyXG4gICAgJ2dyYXknICAgICAgOiAkZ3JheSxcclxuICAgICdyZWQnICAgICAgIDogJHJlZCxcclxuICAgICdncmVlbicgICAgIDogJGdyZWVuLFxyXG4gICAgJ3llbGxvdycgICAgOiAkeWVsbG93LFxyXG4pKTtcclxuIiwiLy9cclxuLy8gIEZvcm0gdmFyaWFibGVzXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbiRpbnB1dC1oZWlnaHQ6IHJlbSg0NCk7XHJcbiRpbnB1dC1mb250LXNpemU6ICRmb250LXNpemUtcztcclxuJGlucHV0LWNvbG9yOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBncmF5KDUwMCk7XHJcbiRpbnB1dC1kaXNhYmxlZC1iZzogZ3JheSgyMDApO1xyXG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogZ3JheSgyMDApO1xyXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiByZW0oMTIpO1xyXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6IDA7XHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAwO1xyXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGljb24gJGN1c3RvbS1zZWxlY3QtYmcgbm8tcmVwZWF0ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLmZhZGUge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLWZhZGUpO1xuXG4gICY6bm90KC5zaG93KSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICAmOm5vdCguc2hvdykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcHJpZ2h0LFxuLmRyb3Bkb3duLFxuLmRyb3BsZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBAaW5jbHVkZSBmb250LXNpemUoJGRyb3Bkb3duLWZvbnQtc2l6ZSk7XG4gIGNvbG9yOiAkZHJvcGRvd24tY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXItd2lkdGggc29saWQgJGRyb3Bkb3duLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZHJvcGRvd24tYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGRyb3Bkb3duLWJveC1zaGFkb3cpO1xufVxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1sZWZ0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSN7JGluZml4fS1yaWdodCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KHVwKTtcbiAgfVxufVxuXG4uZHJvcHJpZ2h0IHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChyaWdodCk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wbGVmdCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3Bkb3duLXNwYWNlcjtcbiAgfVxuXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGNhcmV0KGxlZnQpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiBlbmFibGVkIFBvcHBlci5qcywgcmVzZXQgYmFzaWMgZHJvcGRvd24gcG9zaXRpb25cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uZHJvcGRvd24tbWVudSB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdLFxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSxcbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gIH1cbn1cblxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBgPGhyPmApIHdpdGhpbiB0aGUgZHJvcGRvd25cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcsICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15KTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICAvLyBQcmV2ZW50IGRyb3Bkb3duIG92ZXJmbG93IGlmIHRoZXJlJ3Mgbm8gcGFkZGluZ1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjc3MDNcbiAgQGlmICRkcm9wZG93bi1wYWRkaW5nLXkgPT0gMCB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZS1zbSk7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIERyb3Bkb3duIHRleHRcbi5kcm9wZG93bi1pdGVtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvLyBtYXRjaCAuYnRuIGFsaWdubWVudCBnaXZlbiBmb250LXNpemUgaGFjayBhYm92ZVxuXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgLy8gQnJpbmcgdGhlIGhvdmVyLCBmb2N1c2VkLCBhbmQgXCJhY3RpdmVcIiBidXR0b25zIHRvIHRoZSBmcm9udCB0byBvdmVybGF5XG4gICAgLy8gdGhlIGJvcmRlcnMgcHJvcGVybHlcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnMgd2hlbiBidXR0b25zIGFyZSBuZXh0IHRvIGVhY2ggb3RoZXJcbiAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtJGJ0bi1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlcixcbiAgLmRyb3B1cCAmOjphZnRlcixcbiAgLmRyb3ByaWdodCAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuZHJvcGxlZnQgJjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG5cbiAgLy8gUmVzZXQgcm91bmRlZCBjb3JuZXJzXG4gID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG4uYnRuLWdyb3VwLXRvZ2dsZSB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBgPGxhYmVsPmAgdmFsdWVcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IC8vIEZvciBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2tcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuY3VzdG9tLXNlbGVjdCxcbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLy8gRm9yIGZvY3VzIHN0YXRlJ3Mgei1pbmRleFxuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIC8vIEFkZCB3aWR0aCAxJSBhbmQgZmxleC1iYXNpcyBhdXRvIHRvIGVuc3VyZSB0aGF0IGJ1dHRvbiB3aWxsIG5vdCB3cmFwIG91dFxuICAgIC8vIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUgRWRnZSsgYW5kIEZpcmVmb3guIENocm9tZSBkb2VzIG5vdCByZXF1aXJlIHRoaXMuXG4gICAgd2lkdGg6IDElO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICArIC5mb3JtLWNvbnRyb2wsXG4gICAgKyAuY3VzdG9tLXNlbGVjdCxcbiAgICArIC5jdXN0b20tZmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgPiAuZm9ybS1jb250cm9sOmZvY3VzLFxuICA+IC5jdXN0b20tc2VsZWN0OmZvY3VzLFxuICA+IC5jdXN0b20tZmlsZSAuY3VzdG9tLWZpbGUtaW5wdXQ6Zm9jdXMgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAvLyBCcmluZyB0aGUgY3VzdG9tIGZpbGUgaW5wdXQgYWJvdmUgdGhlIGxhYmVsXG4gID4gLmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1cyB7XG4gICAgei1pbmRleDogNDtcbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXIgeyBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApOyB9XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cbiAgfVxuXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmlucHV0LWdyb3VwLXRleHQsXG4gIC5pbnB1dC1ncm91cC10ZXh0ICsgLmJ0biB7XG4gICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kIHsgbWFyZ2luLXJpZ2h0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuLmlucHV0LWdyb3VwLWFwcGVuZCB7IG1hcmdpbi1sZWZ0OiAtJGlucHV0LWJvcmRlci13aWR0aDsgfVxuXG5cbi8vIFRleHR1YWwgYWRkb25zXG4vL1xuLy8gU2VydmVzIGFzIGEgY2F0Y2gtYWxsIGVsZW1lbnQgZm9yIGFueSB0ZXh0IG9yIHJhZGlvL2NoZWNrYm94IGlucHV0IHlvdSB3aXNoXG4vLyB0byBwcmVwZW5kIG9yIGFwcGVuZCB0byBhbiBpbnB1dC5cblxuLmlucHV0LWdyb3VwLXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15ICRpbnB1dC1wYWRkaW5nLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEFsbG93IHVzZSBvZiA8bGFiZWw+IGVsZW1lbnRzIGJ5IG92ZXJyaWRpbmcgb3VyIGRlZmF1bHQgbWFyZ2luLWJvdHRvbVxuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgZm9ybSBjb250cm9sIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llclxuLy8gbWFuaXB1bGF0aW9uLlxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1sZztcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSksXG4uaW5wdXQtZ3JvdXAtc20gPiAuY3VzdG9tLXNlbGVjdCB7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLXByZXBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuIHtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGcgPiAuY3VzdG9tLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5jdXN0b20tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc7XG59XG5cblxuLy8gUHJlcGVuZCBhbmQgYXBwZW5kIHJvdW5kZWQgY29ybmVyc1xuLy9cbi8vIFRoZXNlIHJ1bGVzZXRzIG11c3QgY29tZSBhZnRlciB0aGUgc2l6aW5nIG9uZXMgdG8gcHJvcGVybHkgb3ZlcnJpZGUgc20gYW5kIGxnXG4vLyBib3JkZXItcmFkaXVzIHZhbHVlcyB3aGVuIGV4dGVuZGluZy4gVGhleSdyZSBtb3JlIHNwZWNpZmljIHRoYW4gd2UnZCBsaWtlXG4vLyB3aXRoIHRoZSBgLmlucHV0LWdyb3VwID5gIHBhcnQsIGJ1dCB3aXRob3V0IGl0LCB3ZSBjYW5ub3Qgb3ZlcnJpZGUgdGhlIHNpemluZy5cblxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZCA+IC5pbnB1dC1ncm91cC10ZXh0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuIiwiLy8gRW1iZWRkZWQgaWNvbnMgZnJvbSBPcGVuIEljb25pYy5cbi8vIFJlbGVhc2VkIHVuZGVyIE1JVCBhbmQgY29weXJpZ2h0IDIwMTQgV2F5YnVyeS5cbi8vIGh0dHBzOi8vdXNlaWNvbmljLmNvbS9vcGVuXG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gQmFzZSBjbGFzcyB0YWtlcyBjYXJlIG9mIGFsbCB0aGUga2V5IGJlaGF2aW9yYWwgYXNwZWN0cy5cblxuLmN1c3RvbS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLWhlaWdodDogJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICRjdXN0b20tY29udHJvbC1zcGFjZXIteDtcbn1cblxuLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTsgLy8gUHV0IHRoZSBpbnB1dCBiZWhpbmQgdGhlIGxhYmVsIHNvIGl0IGRvZXNuJ3Qgb3ZlcmxheSB0ZXh0XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmZvY3VzIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHRoZSBtaXhpbiBpcyBub3QgdXNlZCBoZXJlIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBmZWVkYmFja1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3csICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXM6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDdXN0b20gY29udHJvbCBpbmRpY2F0b3JzXG4vL1xuLy8gQnVpbGQgdGhlIGN1c3RvbSBjb250cm9scyBvdXQgb2YgcHNldWRvLWVsZW1lbnRzLlxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMjtcbiAgICBsZWZ0OiAtKCRjdXN0b20tY29udHJvbC1ndXR0ZXIgKyAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgIGJvcmRlcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3Igc29saWQgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItd2lkdGg7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyO1xuICAgIGxlZnQ6IC0oJGN1c3RvbS1jb250cm9sLWd1dHRlciArICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQ6IG5vLXJlcGVhdCA1MCUgLyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZX07XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveGVzXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIGNoZWNrYm94ZXMuXG5cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWNoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmluZGV0ZXJtaW5hdGUgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gICAgJjppbmRldGVybWluYXRlIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSYWRpb3Ncbi8vXG4vLyBUd2VhayBqdXN0IGEgZmV3IHRoaW5ncyBmb3IgcmFkaW9zLlxuXG4uY3VzdG9tLXJhZGlvIHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBzd2l0Y2hlc1xuLy9cbi8vIFR3ZWFrIGEgZmV3IHRoaW5ncyBmb3Igc3dpdGNoZXNcblxuLmN1c3RvbS1zd2l0Y2gge1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcjtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtKCRjdXN0b20tc3dpdGNoLXdpZHRoICsgJGN1c3RvbS1jb250cm9sLWd1dHRlcik7XG4gICAgICB3aWR0aDogJGN1c3RvbS1zd2l0Y2gtd2lkdGg7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiBjYWxjKCN7KCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSAtICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSkgLyAyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMn0pO1xuICAgICAgbGVmdDogY2FsYygjey0oJGN1c3RvbS1zd2l0Y2gtd2lkdGggKyAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyKX0gKyAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogMn0pO1xuICAgICAgd2lkdGg6ICRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplO1xuICAgICAgaGVpZ2h0OiAkY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3Itc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgYm9yZGVyLXJhZGl1czogJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LCAkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRjdXN0b20tc3dpdGNoLXdpZHRoIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuLy9cblxuLmN1c3RvbS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodDtcbiAgcGFkZGluZzogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1jb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1zZWxlY3QtYmc7XG4gIGJvcmRlcjogJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXdpZHRoIHNvbGlkICRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93KTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdywgJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtO1xuICBwYWRkaW5nLWxlZnQ6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbi5jdXN0b20tc2VsZWN0LWxnIHtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQtbGc7XG4gIHBhZGRpbmctdG9wOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctbGVmdDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14LWxnO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbn1cblxuXG4vLyBGaWxlXG4vL1xuLy8gQ3VzdG9tIGZpbGUgaW5wdXQuXG5cbi5jdXN0b20tZmlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tLWZpbGUtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMDtcblxuICAmOmZvY3VzIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmRpc2FibGVkIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWZpbGUtZGlzYWJsZWQtYmc7XG4gIH1cblxuICBAZWFjaCAkbGFuZywgJHZhbHVlIGluICRjdXN0b20tZmlsZS10ZXh0IHtcbiAgICAmOmxhbmcoI3skbGFuZ30pIH4gLmN1c3RvbS1maWxlLWxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgfiAuY3VzdG9tLWZpbGUtbGFiZWxbZGF0YS1icm93c2VdOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWJyb3dzZSk7XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRjdXN0b20tZmlsZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjdXN0b20tZmlsZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjtcbiAgICBwYWRkaW5nOiAkY3VzdG9tLWZpbGUtcGFkZGluZy15ICRjdXN0b20tZmlsZS1wYWRkaW5nLXg7XG4gICAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGN1c3RvbS1maWxlLWJ1dHRvbi1jb2xvcjtcbiAgICBjb250ZW50OiBcIkJyb3dzZVwiO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tZmlsZS1idXR0b24tYmcpO1xuICAgIGJvcmRlci1sZWZ0OiBpbmhlcml0O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyAwKTtcbiAgfVxufVxuXG4vLyBSYW5nZVxuLy9cbi8vIFN0eWxlIHJhbmdlIGlucHV0cyB0aGUgc2FtZSBhY3Jvc3MgYnJvd3NlcnMuIFZlbmRvci1zcGVjaWZpYyBydWxlcyBmb3IgcHNldWRvXG4vLyBlbGVtZW50cyBjYW5ub3QgYmUgbWl4ZWQuIEFzIHN1Y2gsIHRoZXJlIGFyZSBubyBzaGFyZWQgc3R5bGVzIGZvciBmb2N1cyBvclxuLy8gYWN0aXZlIHN0YXRlcyBvbiBwcmVmaXhlZCBzZWxlY3RvcnMuXG5cbi5jdXN0b20tcmFuZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKCN7JGN1c3RvbS1yYW5nZS10aHVtYi1oZWlnaHR9ICsgI3skY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyfSk7XG4gIHBhZGRpbmc6IDA7IC8vIE5lZWQgdG8gcmVzZXQgcGFkZGluZ1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gUHNldWRvLWVsZW1lbnRzIG11c3QgYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIHJ1bGVzZXRzIHRvIGhhdmUgYW4gZWZmZWN0LlxuICAgIC8vIE5vIGJveC1zaGFkb3coKSBtaXhpbiBmb3IgZm9jdXMgYWNjZXNzaWJpbGl0eS5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJveC1zaGFkb3c6ICRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OyB9XG4gICAgJjo6LW1zLXRodW1iICAgICAgICAgICAgeyBib3gtc2hhZG93OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c7IH1cbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6ICgkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodCAtICRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0KSAvIDI7IC8vIFdlYmtpdCBzcGVjaWZpY1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYmcpO1xuICAgIGJvcmRlcjogJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbik7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnKTtcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRyYWNrLWJnO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEZpcmVmb3ggc3BlY2lmaWM/XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgd2lkdGg6ICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgaGVpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwOyAvLyBFZGdlIHNwZWNpZmljXG4gICAgbWFyZ2luLXJpZ2h0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7IC8vIFdvcmthcm91bmQgdGhhdCBvdmVyZmxvd2VkIGJveC1zaGFkb3cgaXMgaGlkZGVuLlxuICAgIG1hcmdpbi1sZWZ0OiAkY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg7ICAvLyBXb3JrYXJvdW5kIHRoYXQgb3ZlcmZsb3dlZCBib3gtc2hhZG93IGlzIGhpZGRlbi5cbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1zLXRyYWNrIHtcbiAgICB3aWR0aDogJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodCAvIDI7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgLy8gYXJiaXRyYXJ5P1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tcmFuZ2UtdHJhY2stYmc7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnO1xuICAgIH1cbiAgfVxufVxuXG4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSxcbi5jdXN0b20tZmlsZS1sYWJlbCxcbi5jdXN0b20tc2VsZWN0IHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY3VzdG9tLWZvcm1zLXRyYW5zaXRpb24pO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEtpY2tzdGFydCBhbnkgbmF2aWdhdGlvbiBjb21wb25lbnQgd2l0aCBhIHNldCBvZiBzdHlsZSByZXNldHMuIFdvcmtzIHdpdGhcbi8vIGA8bmF2PmBzIG9yIGA8dWw+YHMuXG5cbi5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm5hdi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nLXkgJG5hdi1saW5rLXBhZGRpbmcteDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGUgbGlnaHRlbnMgdGV4dFxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci14O1xuICBjb2xvcjogJGNhcmQtY29sb3I7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogJGNhcmQtc3BhY2VyLXk7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogLSRjYXJkLXNwYWNlci15IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1zcGFjZXIteDtcbiAgfVxufVxuXG4vL1xuLy8gT3B0aW9uYWwgdGV4dHVhbCBjYXBzXG4vL1xuXG4uY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlcyB0aGUgZGVmYXVsdCBtYXJnaW4tYm90dG9tIG9mIDxoTj5cbiAgY29sb3I6ICRjYXJkLWNhcC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItYm90dG9tOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzIDAgMCk7XG4gIH1cblxuICArIC5saXN0LWdyb3VwIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRjYXJkLXNwYWNlci15ICRjYXJkLXNwYWNlci14O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1jYXAtYmc7XG4gIGJvcmRlci10b3A6ICRjYXJkLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1ib3JkZXItY29sb3I7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgMCAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzICRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtaGVhZGVyLXBpbGxzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtc3BhY2VyLXggLyAyO1xuICBtYXJnaW4tbGVmdDogLSRjYXJkLXNwYWNlci14IC8gMjtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRjYXJkLWRlY2stbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHRcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQ2FyZCBncm91cHNcbi8vXG5cbi5jYXJkLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWdyb3VwLW1hcmdpbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWJsYWNrbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1ibGFja2xpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENvbHVtbnNcbi8vXG5cbi5jYXJkLWNvbHVtbnMge1xuICAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGNhcmQtY29sdW1ucy1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgY29sdW1uLWNvdW50OiAkY2FyZC1jb2x1bW5zLWNvdW50O1xuICAgIGNvbHVtbi1nYXA6ICRjYXJkLWNvbHVtbnMtZ2FwO1xuICAgIG9ycGhhbnM6IDE7XG4gICAgd2lkb3dzOiAxO1xuXG4gICAgLmNhcmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBEb24ndCBsZXQgdGhlbSB2ZXJ0aWNhbGx5IHNwYW4gbXVsdGlwbGUgY29sdW1uc1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIERvbid0IGxldCB0aGVpciB3aWR0aCBjaGFuZ2VcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gQWNjb3JkaW9uXG4vL1xuXG4uYWNjb3JkaW9uIHtcbiAgPiAuY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgICB9XG5cbiAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cbn1cbiIsIi5icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAkYnJlYWRjcnVtYi1wYWRkaW5nLXkgJGJyZWFkY3J1bWItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJlYWRjcnVtYi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIC8vIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBicmVhZGNydW1icyAoYnkgZGVmYXVsdCwgYSBmb3J3YXJkLXNsYXNoOiBcIi9cIilcbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIFN1cHByZXNzIHVuZGVybGluaW5nIG9mIHRoZSBzZXBhcmF0b3IgaW4gbW9kZXJuIGJyb3dzZXJzXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSUU5LTExIGhhY2sgdG8gcHJvcGVybHkgaGFuZGxlIGh5cGVybGluayB1bmRlcmxpbmVzIGZvciBicmVhZGNydW1icyBidWlsdFxuICAvLyB3aXRob3V0IGA8dWw+YHMuIFRoZSBgOjpiZWZvcmVgIHBzZXVkby1lbGVtZW50IGdlbmVyYXRlcyBhbiBlbGVtZW50XG4gIC8vICp3aXRoaW4qIHRoZSAuYnJlYWRjcnVtYi1pdGVtIGFuZCB0aGVyZWJ5IGluaGVyaXRzIHRoZSBgdGV4dC1kZWNvcmF0aW9uYC5cbiAgLy9cbiAgLy8gVG8gdHJpY2sgSUUgaW50byBzdXBwcmVzc2luZyB0aGUgdW5kZXJsaW5lLCB3ZSBnaXZlIHRoZSBwc2V1ZG8tZWxlbWVudCBhblxuICAvLyB1bmRlcmxpbmUgYW5kIHRoZW4gaW1tZWRpYXRlbHkgcmVtb3ZlIGl0LlxuICArIC5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yO1xuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIEBpbmNsdWRlIGxpc3QtdW5zdHlsZWQoKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygpO1xufVxuXG4ucGFnZS1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24tcGFkZGluZy15ICRwYWdpbmF0aW9uLXBhZGRpbmcteDtcbiAgbWFyZ2luLWxlZnQ6IC0kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg7XG4gIGxpbmUtaGVpZ2h0OiAkcGFnaW5hdGlvbi1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1iZztcbiAgYm9yZGVyOiAkcGFnaW5hdGlvbi1ib3JkZXItd2lkdGggc29saWQgJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yO1xuXG4gICY6aG92ZXIge1xuICAgIHotaW5kZXg6IDI7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1ob3Zlci1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3V0bGluZTogJHBhZ2luYXRpb24tZm9jdXMtb3V0bGluZTtcbiAgICBib3gtc2hhZG93OiAkcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93O1xuICB9XG59XG5cbi5wYWdlLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIC5wYWdlLWxpbmsge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi5kaXNhYmxlZCAucGFnZS1saW5rIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLy8gT3BpbmlvbmF0ZWQ6IHJlbW92ZSB0aGUgXCJoYW5kXCIgY3Vyc29yIHNldCBwcmV2aW91c2x5IGZvciAucGFnZS1saW5rXG4gICAgY3Vyc29yOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy9cbi8vIFNpemluZ1xuLy9cblxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZ2luYXRpb24tcGFkZGluZy15LWxnLCAkcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRsaW5lLWhlaWdodC1sZywgJGJvcmRlci1yYWRpdXMtbGcpO1xufVxuXG4ucGFnaW5hdGlvbi1zbSB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktc20sICRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbSwgJGZvbnQtc2l6ZS1zbSwgJGxpbmUtaGVpZ2h0LXNtLCAkYm9yZGVyLXJhZGl1cy1zbSk7XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIFJlcXVpcmVzIG9uZSBvZiB0aGUgY29udGV4dHVhbCwgY29sb3IgbW9kaWZpZXIgY2xhc3NlcyBmb3IgYGNvbG9yYCBhbmRcbi8vIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy15ICRiYWRnZS1wYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkYmFkZ2UtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRiYWRnZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkYmFkZ2UtdHJhbnNpdGlvbik7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBiYWRnZXMgY29sbGFwc2UgYXV0b21hdGljYWxseVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbi5idG4gLmJhZGdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG59XG5cbi8vIFBpbGwgYmFkZ2VzXG4vL1xuLy8gTWFrZSB0aGVtIGV4dHJhIHJvdW5kZWQgd2l0aCBhIG1vZGlmaWVyIHRvIHJlcGxhY2UgdjMncyBiYWRnZXMuXG5cbi5iYWRnZS1waWxsIHtcbiAgcGFkZGluZy1yaWdodDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBwYWRkaW5nLWxlZnQ6ICRiYWRnZS1waWxsLXBhZGRpbmcteDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ29sb3JzXG4vL1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgYmFkZ2VzIGdldCBkYXJrZXIgb24gOmhvdmVyKS5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5iYWRnZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJhZGdlLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIuanVtYm90cm9uIHtcbiAgcGFkZGluZzogJGp1bWJvdHJvbi1wYWRkaW5nICgkanVtYm90cm9uLXBhZGRpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIHBhZGRpbmc6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKSAkanVtYm90cm9uLXBhZGRpbmc7XG4gIH1cbn1cblxuLmp1bWJvdHJvbi1mbHVpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbn1cbiIsIi8vIERpc2FibGUgYW5pbWF0aW9uIGlmIHRyYW5zaXRpb25zIGFyZSBkaXNhYmxlZFxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICBAa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzLWhlaWdodCAwOyB9XG4gICAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIGZvcmNlIHJvdW5kZWQgY29ybmVycyBieSBjcm9wcGluZyBpdFxuICBAaW5jbHVkZSBmb250LXNpemUoJHByb2dyZXNzLWZvbnQtc2l6ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHByb2dyZXNzLWJveC1zaGFkb3cpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmc7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJHByb2dyZXNzLWJhci10cmFuc2l0aW9uKTtcbn1cblxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6ICRwcm9ncmVzcy1oZWlnaHQgJHByb2dyZXNzLWhlaWdodDtcbn1cblxuQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAucHJvZ3Jlc3MtYmFyLWFuaW1hdGVkIHtcbiAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xyXG4vLyAgQm9vdHN0cmFwXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbiRlbmFibGUtZ3JhZGllbnRzOiBmYWxzZTtcclxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiBmYWxzZTtcclxuJGVuYWJsZS1zaGFkb3dzOiBmYWxzZTtcclxuXHJcbiRib2R5LWNvbG9yOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG5cclxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDA7XHJcbiRwcm9ncmVzcy1oZWlnaHQ6IHJlbSg0KTtcclxuJHByb2dyZXNzLWJnOiBncmF5KDU1MCk7XHJcbiRwcm9ncmVzcy1iYXItYmc6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XHJcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAwO1xyXG4iLCIubWVkaWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLm1lZGlhLWJvZHkge1xuICBmbGV4OiAxO1xufVxuIiwiLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vIEludGVyYWN0aXZlIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2UgYW5jaG9yIG9yIGJ1dHRvbiBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgaW50ZXJhY3RpdmVcbi8vIGxpc3QgaXRlbXMuIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2VsZWN0ZWQgaXRlbXMuXG5cbi5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7IC8vIEZvciBgPGJ1dHRvbj5gcyAoYW5jaG9ycyBiZWNvbWUgMTAwJSBieSBkZWZhdWx0IHRob3VnaClcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGluaGVyaXQpXG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHotaW5kZXg6IDE7IC8vIFBsYWNlIGhvdmVyL2ZvY3VzIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1ob3Zlci1iZztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnO1xuICB9XG59XG5cblxuLy8gSW5kaXZpZHVhbCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIG9uIGBsaWBzIG9yIGBkaXZgcyB3aXRoaW4gdGhlIGAubGlzdC1ncm91cGAgcGFyZW50LlxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXkgJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLSRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAkbGlzdC1ncm91cC1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gSW5jbHVkZSBib3RoIGhlcmUgZm9yIGA8YT5gcyBhbmQgYDxidXR0b24+YHNcbiAgJi5hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbFxuLy9cbi8vIENoYW5nZSB0aGUgbGF5b3V0IG9mIGxpc3QgZ3JvdXAgaXRlbXMgZnJvbSB2ZXJ0aWNhbCAoZGVmYXVsdCkgdG8gaG9yaXpvbnRhbC5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmxpc3QtZ3JvdXAtaG9yaXpvbnRhbCN7JGluZml4fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZsdXNoIGxpc3QgaXRlbXNcbi8vXG4vLyBSZW1vdmUgYm9yZGVycyBhbmQgYm9yZGVyLXJhZGl1cyB0byBrZWVwIGxpc3QgZ3JvdXAgaXRlbXMgZWRnZS10by1lZGdlLiBNb3N0XG4vLyB1c2VmdWwgd2l0aGluIG90aGVyIGNvbXBvbmVudHMgKGUuZy4sIGNhcmRzKS5cblxuLmxpc3QtZ3JvdXAtZmx1c2gge1xuICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtJGxpc3QtZ3JvdXAtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGNsb3NlLWZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBvcGFjaXR5OiAuNTtcblxuICAvLyBPdmVycmlkZSA8YT4ncyBob3ZlciBzdHlsZVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBvcGFjaXR5OiAuNzU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuYS5jbG9zZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHN0dWZmXG5cblxuLm1vZGFsLW9wZW4ge1xuICAvLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubW9kYWwge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG9uJ3QgdXNlIGAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7YCBkdWUgdG8gYVxuICAvLyBnbmFybHkgaU9TIFNhZmFyaSBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNDJcbiAgLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNzY5NVxufVxuXG4vLyBTaGVsbCBkaXYgdG8gcG9zaXRpb24gdGhlIG1vZGFsIHdpdGggYm90dG9tIHBhZGRpbmdcbi5tb2RhbC1kaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46ICRtb2RhbC1kaWFsb2ctbWFyZ2luO1xuICAvLyBhbGxvdyBjbGlja3MgdG8gcGFzcyB0aHJvdWdoIGZvciBjdXN0b20gY2xpY2sgaGFuZGxpbmcgdG8gY2xvc2UgbW9kYWxcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgLm1vZGFsLmZhZGUgJiB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkbW9kYWwtdHJhbnNpdGlvbik7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtZmFkZS10cmFuc2Zvcm07XG4gIH1cbiAgLm1vZGFsLnNob3cgJiB7XG4gICAgdHJhbnNmb3JtOiAkbW9kYWwtc2hvdy10cmFuc2Zvcm07XG4gIH1cbn1cblxuLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgZGlzcGxheTogZmxleDsgLy8gSUUxMC8xMVxuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luICogMn0pO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbiAqIDJ9KTsgLy8gSUUxMC8xMVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtaGVhZGVyLFxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5tb2RhbC1ib2R5IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luICogMn0pO1xuXG4gIC8vIEVuc3VyZSBgbW9kYWwtZGlhbG9nLWNlbnRlcmVkYCBleHRlbmRzIHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgdmlldyAoSUUxMC8xMSlcbiAgJjo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgLy8gSUUxMFxuICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4gKiAyfSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC8vIEVuc3VyZSBgLm1vZGFsLWJvZHlgIHNob3dzIHNjcm9sbGJhciAoSUUxMC8xMSlcbiAgJi5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gRW5zdXJlIGAubW9kYWwtY29udGVudGAgZXh0ZW5kcyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgcGFyZW50IGAubW9kYWwtZGlhbG9nYFxuICAvLyBjb3VudGVyYWN0IHRoZSBwb2ludGVyLWV2ZW50czogbm9uZTsgaW4gdGhlIC5tb2RhbC1kaWFsb2dcbiAgY29sb3I6ICRtb2RhbC1jb250ZW50LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzKTtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtbW9kYWwtYmFja2Ryb3A7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnO1xuXG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbiAgJi5zaG93IHsgb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgLy8gc28gdGhlIGNsb3NlIGJ0biBhbHdheXMgc3RheXMgb24gdGhlIHVwcGVyIHJpZ2h0IGNvcm5lclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFB1dCBtb2RhbCBoZWFkZXIgZWxlbWVudHMgKHRpdGxlIGFuZCBkaXNtaXNzKSBvbiBvcHBvc2l0ZSBlbmRzXG4gIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRtb2RhbC1jb250ZW50LWJvcmRlci1yYWRpdXMpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteCkgKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcteSkgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiBzaG91bGQgdGhlcmUgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gRWFzaWx5IHBsYWNlIG1hcmdpbiBiZXR3ZWVuIGZvb3RlciBlbGVtZW50c1xuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7IG1hcmdpbi1sZWZ0OiAuMjVyZW07IH1cbiAgPiA6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XG59XG5cbi8vIE1lYXN1cmUgc2Nyb2xsYmFyIHdpZHRoIGZvciBwYWRkaW5nIGJvZHkgZHVyaW5nIG1vZGFsIHNob3cvaGlkZVxuLm1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi8vIFNjYWxlIHVwIHRoZSBtb2RhbFxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogJG1vZGFsLW1kO1xuICAgIG1hcmdpbjogJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCBhdXRvO1xuICB9XG5cbiAgLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyfSk7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwICogMn0pO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cCAqIDJ9KTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXAgKiAyfSk7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cCk7XG4gIH1cblxuICAubW9kYWwtc20geyBtYXgtd2lkdGg6ICRtb2RhbC1zbTsgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyxcbiAgLm1vZGFsLXhsIHtcbiAgICBtYXgtd2lkdGg6ICRtb2RhbC1sZztcbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gIC5tb2RhbC14bCB7IG1heC13aWR0aDogJG1vZGFsLXhsOyB9XG59XG4iLCIvL1xyXG4vLyAgTW9kYWwgY29tcG9uZW50XHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbi8vICBCb290c3RyYXBcclxuJG1vZGFsLWJhY2tkcm9wLWJnOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogMC44O1xyXG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAwO1xyXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogMDtcclxuJG1vZGFsLW1kOiBub25lO1xyXG4kbW9kYWwtY29udGVudC1iZzogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcclxuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAwO1xyXG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAwO1xyXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6IHJlbSgxMCkgMDtcclxuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6IDA7XHJcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiByZW0oMTApIDA7XHJcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4yO1xyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogMDtcclxuJG1vZGFsLWxnOiByZW0oNjc2KTtcclxuJG1vZGFsLWRlZmF1bHQ6IHJlbSg2MDIpO1xyXG4kbW9kYWwtc206IHJlbSg0ODApO1xyXG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHRvb2x0aXAtZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy9cclxuLy8gIFRvb2x0aXAgY29tcG9uZW50XHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbi8vICBCb290c3RyYXBcclxuJHRvb2x0aXAtb3BhY2l0eTogMTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiByZW0oMjYwKTtcclxuJHRvb2x0aXAtcGFkZGluZy15OiByZW0oMTMpO1xyXG4kdG9vbHRpcC1wYWRkaW5nLXg6IHJlbSgxMyk7XHJcbiR0b29sdGlwLWNvbG9yOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG4kdG9vbHRpcC1iZzogY29sb3IoJ3doaXRlJyk7XHJcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6IHJlbSgzKTtcclxuIiwiLnBvcG92ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1wb3BvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAkcG9wb3Zlci1tYXgtd2lkdGg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJHBvcG92ZXItZm9udC1zaXplKTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHBvcG92ZXIncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRwb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwb3BvdmVyLWJveC1zaGFkb3cpO1xuXG4gIC5hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBtYXJnaW46IDAgJGJvcmRlci1yYWRpdXMtbGc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gID4gLmFycm93IHtcbiAgICBsZWZ0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbGVmdDogJHBvcG92ZXItYm9yZGVyLXdpZHRoO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWJvdHRvbSB7XG4gIG1hcmdpbi10b3A6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcblxuICA+IC5hcnJvdyB7XG4gICAgdG9wOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMik7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBwb3BvdmVyLWhlYWRlcidzIGJvcmRlciBqdXN0IGJlbG93IHRoZSBhcnJvd1xuICAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRwb3BvdmVyLWhlYWRlci1iZztcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgPiAuYXJyb3cge1xuICAgIHJpZ2h0OiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICAgIHdpZHRoOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW46ICRib3JkZXItcmFkaXVzLWxnIDA7IC8vIG1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lcyBub3QgdG91Y2ggdGhlIHBvcG92ZXIncyByb3VuZGVkIGNvcm5lcnNcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy1wb3BvdmVyLWF1dG8ge1xuICAmW3gtcGxhY2VtZW50Xj1cInRvcFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci10b3A7XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJyaWdodFwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1yaWdodDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImJvdHRvbVwiXSB7XG4gICAgQGV4dGVuZCAuYnMtcG9wb3Zlci1ib3R0b207XG4gIH1cbiAgJlt4LXBsYWNlbWVudF49XCJsZWZ0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWxlZnQ7XG4gIH1cbn1cblxuXG4vLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbi5wb3BvdmVyLWhlYWRlciB7XG4gIHBhZGRpbmc6ICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBSZWJvb3RcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUtYmFzZSk7XG4gIGNvbG9yOiAkcG9wb3Zlci1oZWFkZXItY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWhlYWRlci1iZztcbiAgYm9yZGVyLWJvdHRvbTogJHBvcG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIGRhcmtlbigkcG9wb3Zlci1oZWFkZXItYmcsIDUlKTtcbiAgJG9mZnNldC1ib3JkZXItd2lkdGg6IGNhbGMoI3skYm9yZGVyLXJhZGl1cy1sZ30gLSAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pO1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkb2Zmc2V0LWJvcmRlci13aWR0aCk7XG5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ucG9wb3Zlci1ib2R5IHtcbiAgcGFkZGluZzogJHBvcG92ZXItYm9keS1wYWRkaW5nLXkgJHBvcG92ZXItYm9keS1wYWRkaW5nLXg7XG4gIGNvbG9yOiAkcG9wb3Zlci1ib2R5LWNvbG9yO1xufVxuIiwiLy8gTm90ZXMgb24gdGhlIGNsYXNzZXM6XG4vL1xuLy8gMS4gLmNhcm91c2VsLnBvaW50ZXItZXZlbnQgc2hvdWxkIGlkZWFsbHkgYmUgcGFuLXkgKHRvIGFsbG93IGZvciB1c2VycyB0byBzY3JvbGwgdmVydGljYWxseSlcbi8vICAgIGV2ZW4gd2hlbiB0aGVpciBzY3JvbGwgYWN0aW9uIHN0YXJ0ZWQgb24gYSBjYXJvdXNlbCwgYnV0IGZvciBjb21wYXRpYmlsaXR5ICh3aXRoIEZpcmVmb3gpXG4vLyAgICB3ZSdyZSBwcmV2ZW50aW5nIGFsbCBhY3Rpb25zIGluc3RlYWRcbi8vIDIuIFRoZSAuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1yaWdodCBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXJlXG4vLyAgICB0aGUgYWN0aXZlIHNsaWRlIGlzIGhlYWRpbmcuXG4vLyAzLiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0gaXMgdGhlIGN1cnJlbnQgc2xpZGUuXG4vLyA0LiAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCBhbmQgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IGlzIHRoZSBjdXJyZW50XG4vLyAgICBzbGlkZSBpbiBpdHMgaW4tdHJhbnNpdGlvbiBzdGF0ZS4gT25seSBvbmUgb2YgdGhlc2Ugb2NjdXJzIGF0IGEgdGltZS5cbi8vIDUuIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0IGFuZCAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHRcbi8vICAgIGlzIHRoZSB1cGNvbWluZyBzbGlkZSBpbiB0cmFuc2l0aW9uLlxuXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC5wb2ludGVyLWV2ZW50IHtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC10cmFuc2l0aW9uKTtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCksXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG5cbi5jYXJvdXNlbC1pdGVtLXByZXY6bm90KC5jYXJvdXNlbC1pdGVtLXJpZ2h0KSxcbi5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbn1cblxuXG4vL1xuLy8gQWx0ZXJuYXRlIHRyYW5zaXRpb25zXG4vL1xuXG4uY2Fyb3VzZWwtZmFkZSB7XG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuICAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCxcbiAgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0IHtcbiAgICB6LWluZGV4OiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwcyAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBvcGFjaXR5KTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vXG5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYsXG4uY2Fyb3VzZWwtY29udHJvbC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgLy8gVXNlIGZsZXggZm9yIGFsaWdubWVudCAoMS0zKVxuICBkaXNwbGF5OiBmbGV4OyAvLyAxLiBhbGxvdyBmbGV4IHN0eWxlc1xuICBhbGlnbi1pdGVtczogY2VudGVyOyAvLyAyLiB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50c1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLy8gMy4gaG9yaXpvbnRhbGx5IGNlbnRlciBjb250ZW50c1xuICB3aWR0aDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY29udHJvbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAkY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb24pO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICBjb2xvcjogJGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XG4gIGxlZnQ6IDA7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKCRibGFjaywgLjI1KSwgcmdiYSgkYmxhY2ssIC4wMDEpKTtcbiAgfVxufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoJGJsYWNrLCAuMjUpLCByZ2JhKCRibGFjaywgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IDUwJSAvIDEwMCUgMTAwJTtcbn1cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZztcbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZztcbn1cblxuXG4vLyBPcHRpb25hbCBpbmRpY2F0b3IgcGlwc1xuLy9cbi8vIEFkZCBhbiBvcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxNTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gb3ZlcnJpZGUgPG9sPiBkZWZhdWx0XG4gIC8vIFVzZSB0aGUgLmNhcm91c2VsLWNvbnRyb2wncyB3aWR0aCBhcyBtYXJnaW4gc28gd2UgZG9uJ3Qgb3ZlcmxheSB0aG9zZVxuICBtYXJnaW4tcmlnaHQ6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvLyBVc2UgdHJhbnNwYXJlbnQgYm9yZGVycyB0byBpbmNyZWFzZSB0aGUgaGl0IGFyZWEgYnkgMTBweCBvbiB0b3AgYW5kIGJvdHRvbS5cbiAgICBib3JkZXItdG9wOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAuNTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbik7XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vXG4vL1xuXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6ICgxMDAlIC0gJGNhcm91c2VsLWNhcHRpb24td2lkdGgpIC8gMjtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoMTAwJSAtICRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoKSAvIDI7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi5hbGlnbi1iYXNlbGluZSAgICB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9IC8vIEJyb3dzZXIgZGVmYXVsdFxuLmFsaWduLXRvcCAgICAgICAgIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4uYWxpZ24tbWlkZGxlICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1ib3R0b20gICAgICB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi10ZXh0LXRvcCAgICB7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcCAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIGJnLXZhcmlhbnQoXCIuYmctI3skY29sb3J9XCIsICR2YWx1ZSk7XG59XG5cbkBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAgIEBpbmNsdWRlIGJnLWdyYWRpZW50LXZhcmlhbnQoXCIuYmctZ3JhZGllbnQtI3skY29sb3J9XCIsICR2YWx1ZSk7XG4gIH1cbn1cblxuLmJnLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3QsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQtc20ge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLXRvcCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLnJvdW5kZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1sZyB7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogJHJvdW5kZWQtcGlsbCAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAgIC5kI3skaW5maXh9LSN7JHZhbHVlfSB7IGRpc3BsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIFV0aWxpdGllcyBmb3IgdG9nZ2xpbmcgYGRpc3BsYXlgIGluIHByaW50XG4vL1xuXG5AbWVkaWEgcHJpbnQge1xuICBAZWFjaCAkdmFsdWUgaW4gJGRpc3BsYXlzIHtcbiAgICAuZC1wcmludC0jeyR2YWx1ZX0geyBkaXNwbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICB9XG59XG4iLCIvLyBDcmVkaXQ6IE5pY29sYXMgR2FsbGFnaGVyIGFuZCBTVUlUIENTUy5cblxuLmVtYmVkLXJlc3BvbnNpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuQGVhY2ggJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvIGluICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3Mge1xuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teDogbnRoKCRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpbywgMSk7XG4gICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby15OiBudGgoJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvLCAyKTtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS0jeyRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14fWJ5I3skZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teX0ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW8teSAvICRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpby14KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBGbGV4IHZhcmlhdGlvblxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIGFkZGl0aW9uYWwgZmxleCBhbGlnbm1lbnQgb3B0aW9ucy5cblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLmZsZXgjeyRpbmZpeH0tcm93ICAgICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4gICAgICAgICB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LXJvdy1yZXZlcnNlICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1jb2x1bW4tcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG5cbiAgICAuZmxleCN7JGluZml4fS13cmFwICAgICAgICAgeyBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LW5vd3JhcCAgICAgICB7IGZsZXgtd3JhcDogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZmlsbCAgICAgICAgIHsgZmxleDogMSAxIGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbGV4I3skaW5maXh9LWdyb3ctMCAgICAgICB7IGZsZXgtZ3JvdzogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tZ3Jvdy0xICAgICAgIHsgZmxleC1ncm93OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1zaHJpbmstMCAgICAgeyBmbGV4LXNocmluazogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tc2hyaW5rLTEgICAgIHsgZmxleC1zaHJpbms6IDEgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZmxvYXQjeyRpbmZpeH0tbGVmdCAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLmZsb2F0I3skaW5maXh9LXJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tbm9uZSAgeyBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkdmFsdWUgaW4gJG92ZXJmbG93cyB7XG4gIC5vdmVyZmxvdy0jeyR2YWx1ZX0geyBvdmVyZmxvdzogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb21tb24gdmFsdWVzXG5AZWFjaCAkcG9zaXRpb24gaW4gJHBvc2l0aW9ucyB7XG4gIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0geyBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gU2hvcnRoYW5kXG5cbi5maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZml4ZWQ7XG59XG5cbi5zdGlja3ktdG9wIHtcbiAgQHN1cHBvcnRzIChwb3NpdGlvbjogc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogJHppbmRleC1zdGlja3k7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwczovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy9cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbkBtaXhpbiBzci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4uc2hhZG93LXNtIHsgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc20gIWltcG9ydGFudDsgfVxuLnNoYWRvdyB7IGJveC1zaGFkb3c6ICRib3gtc2hhZG93ICFpbXBvcnRhbnQ7IH1cbi5zaGFkb3ctbGcgeyBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sZyAhaW1wb3J0YW50OyB9XG4uc2hhZG93LW5vbmUgeyBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi8vIFZpZXdwb3J0IGFkZGl0aW9uYWwgaGVscGVyc1xuXG4ubWluLXZ3LTEwMCB7IG1pbi13aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLm1pbi12aC0xMDAgeyBtaW4taGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OyB9XG5cbi52dy0xMDAgeyB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuLnZoLTEwMCB7IGhlaWdodDogMTAwdmggIWltcG9ydGFudDsgfVxuIiwiLy9cbi8vIFN0cmV0Y2hlZCBsaW5rXG4vL1xuXG4uc3RyZXRjaGVkLWxpbmsge1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIC8vIEp1c3QgaW4gY2FzZSBgcG9pbnRlci1ldmVudHM6IG5vbmVgIGlzIHNldCBvbiBhIHBhcmVudFxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLy8gSUUxMCBidWdmaXgsIHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNjk0Nzk2Ny9pZTEwLWhvdmVyLXBzZXVkby1jbGFzcy1kb2VzbnQtd29yay13aXRob3V0LWJhY2tncm91bmQtY29sb3JcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcbiAgICAgICAgLiN7JGFiYnJldn0jeyRpbmZpeH0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC4jeyRhYmJyZXZ9dCN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS10b3A6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fXIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tcmlnaHQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWIjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eSN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tYm90dG9tOiAkbGVuZ3RoICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLiN7JGFiYnJldn1sI3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXgjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LWxlZnQ6ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbnMgKGUuZy4sIHdoZXJlIGAubWItbjFgIGlzIG5lZ2F0aXZlIHZlcnNpb24gb2YgYC5tYi0xYClcbiAgICBAZWFjaCAkc2l6ZSwgJGxlbmd0aCBpbiAkc3BhY2VycyB7XG4gICAgICBAaWYgJHNpemUgIT0gMCB7XG4gICAgICAgIC5tI3skaW5maXh9LW4jeyRzaXplfSB7IG1hcmdpbjogLSRsZW5ndGggIWltcG9ydGFudDsgfVxuICAgICAgICAubXQjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tciN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWIjeyRpbmZpeH0tbiN7JHNpemV9LFxuICAgICAgICAubXkjeyRpbmZpeH0tbiN7JHNpemV9IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5tbCN7JGluZml4fS1uI3skc2l6ZX0sXG4gICAgICAgIC5teCN7JGluZml4fS1uI3skc2l6ZX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLnRleHQtbW9ub3NwYWNlIHsgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudDsgfVxuXG4vLyBBbGlnbm1lbnRcblxuLnRleHQtanVzdGlmeSAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXdyYXAgICAgIHsgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0ZXIgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LW5vcm1hbCAgeyBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZCAgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtYm9sZGVyICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZGVyICFpbXBvcnRhbnQ7IH1cbi5mb250LWl0YWxpYyAgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudChcIi50ZXh0LSN7JGNvbG9yfVwiLCAkdmFsdWUpO1xufVxuXG4udGV4dC1ib2R5IHsgY29sb3I6ICRib2R5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi50ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtYmxhY2stNTAgeyBjb2xvcjogcmdiYSgkYmxhY2ssIC41KSAhaW1wb3J0YW50OyB9XG4udGV4dC13aGl0ZS01MCB7IGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjUpICFpbXBvcnRhbnQ7IH1cblxuLy8gTWlzY1xuXG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlKCRpZ25vcmUtd2FybmluZzogdHJ1ZSk7XG59XG5cbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWJyZWFrIHtcbiAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50OyAvLyBJRSAmIDwgRWRnZSAxOFxuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbi8vIFJlc2V0XG5cbi50ZXh0LXJlc2V0IHsgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHBzOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZiAkZW5hYmxlLXByaW50LXN0eWxlcyB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IG91dCBgY29sb3JgIGFuZCBgYmFja2dyb3VuZGBcbiAgICAgIC8vY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLy9iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgJjpub3QoLmJ0bikge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgdGhlIGZvbGxvd2luZyBzZWxlY3RvciBvdXRcbiAgICAvL2FbaHJlZl06OmFmdGVyIHtcbiAgICAvLyAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgLy99XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgLy9cblxuICAgIC8vYVtocmVmXj1cIiNcIl06OmFmdGVyLFxuICAgIC8vYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOjphZnRlciB7XG4gICAgLy8gY29udGVudDogXCJcIjtcbiAgICAvL31cblxuICAgIHByZSB7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRncmF5LTUwMDsgLy8gQm9vdHN0cmFwIGN1c3RvbSBjb2RlOyB1c2luZyBgJGJvcmRlci13aWR0aGAgaW5zdGVhZCBvZiAxcHhcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFByaW50aW5nIFRhYmxlczpcbiAgICAvLyBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAvL1xuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIHN0YXJ0XG5cbiAgICAvLyBTcGVjaWZ5IGEgc2l6ZSBhbmQgbWluLXdpZHRoIHRvIG1ha2UgcHJpbnRpbmcgY2xvc2VyIGFjcm9zcyBicm93c2Vycy5cbiAgICAvLyBXZSBkb24ndCBzZXQgbWFyZ2luIGhlcmUgYmVjYXVzZSBpdCBicmVha3MgYHNpemVgIGluIENocm9tZS4gV2UgYWxzb1xuICAgIC8vIGRvbid0IHVzZSBgIWltcG9ydGFudGAgb24gYHNpemVgIGFzIGl0IGJyZWFrcyBpbiBDaHJvbWUuXG4gICAgQHBhZ2Uge1xuICAgICAgc2l6ZTogJHByaW50LXBhZ2Utc2l6ZTtcbiAgICB9XG4gICAgYm9keSB7XG4gICAgICBtaW4td2lkdGg6ICRwcmludC1ib2R5LW1pbi13aWR0aCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5iYWRnZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJsYWNrO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1kYXJrIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZSAudGhlYWQtZGFyayB0aCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbiAgfVxufVxuIiwiLy9cclxuLy8gIFZlcnkgYmFzaWMgc3R5bGVzXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbmltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmlucHV0W3BsYWNlaG9sZGVyXSB7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmZvY3VzLXZpc2libGUge1xyXG4gICAgb3V0bGluZTogY29sb3IoJ2JsYWNrJykgc29saWQgcmVtKDIpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ib2xkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxufVxyXG5cclxuLy8gcmVDQVBUQ0hBXHJcbi5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG4iLCIvL1xyXG4vLyAgQmFzaWMgdHlwb2dyYXBoeSBzdHlsZSBmb3IgY29weSB0ZXh0XHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiBzZXQoJGZvbnQtc2l6ZS1yb290KTtcclxufVxyXG5cclxuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItY2xhc3MtcGF0dGVybiAqL1xyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxufVxyXG5cclxuaDEge1xyXG4gICAgZm9udC1zaXplOiBzZXQoJGgxX19mb250LXNpemUpO1xyXG59XHJcblxyXG5oMiB7XHJcbiAgICBmb250LXNpemU6IHNldCgkaDJfX2ZvbnQtc2l6ZSk7XHJcbn1cclxuXHJcbmgzIHtcclxuICAgIGZvbnQtc2l6ZTogc2V0KCRoM19fZm9udC1zaXplKTtcclxufVxyXG5cclxuaDQge1xyXG4gICAgZm9udC1zaXplOiBzZXQoJGg0X19mb250LXNpemUpO1xyXG59XHJcblxyXG5oNSB7XHJcbiAgICBmb250LXNpemU6IHNldCgkaDVfX2ZvbnQtc2l6ZSk7XHJcbn1cclxuXHJcbmg2IHtcclxuICAgIGZvbnQtc2l6ZTogc2V0KCRoNl9fZm9udC1zaXplKTtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc2V0KCRoMV9fZm9udC1zaXplX19tZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc2V0KCRoMl9fZm9udC1zaXplX19tZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc2V0KCRoM19fZm9udC1zaXplX19tZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc2V0KCRoNF9fZm9udC1zaXplX19tZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc2V0KCRoNV9fZm9udC1zaXplX19tZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc2V0KCRoNl9fZm9udC1zaXplX19tZCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb250LXNlY29uZGFyeSB7XHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xyXG4iLCIvL1xyXG4vLyAgUlNDU1MgSGVscGVyc1xyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4uX2ZpbGwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLl9kaXNhYmxlZC1zY3JvbGxpbmcge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uX3BvaW50ZXItZXZlbnRzLW5vbmUge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5fZGlzYWJsZWQsXHJcbi5kaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiBzZXQoJGRpc2FibGVkLWl0ZW1fX29wYWNpdHkpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5fdmlzdWFsbHktaGlkZGVuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbWFyZ2luOiAtMXB4O1xyXG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcclxufVxyXG5cclxuLi1uby1ldmVudHMge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi4tcG9pbnRlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIiwiLy9cclxuLy8gIEhlbHBlcnNcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJGRpc2FibGVkLWl0ZW1fX29wYWNpdHk6IC43O1xyXG4iLCIvL1xyXG4vLyAgQ0xQIG1vYmlsZS0zLTEtZ3JpZFxyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4kbW9iaWxlLXJvdy1ncmlkX19wYWRkaW5nLXg6IHJlbSg0MCk7XHJcbiRtb2JpbGUtcm93LWdyaWRfX2V4cGVyaWVuY2UtY29tcG9uZW50X19tYXJnaW4tcmlnaHRfX3NtOiByZW0oOSk7XHJcblxyXG4ubW9iaWxlLXJvdy1ncmlkIHtcclxuICAgICYge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5yZWdpb246bGFzdC1jaGlsZCAuZXhwZXJpZW5jZS1jb21wb25lbnQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xyXG4gICAgLm1vYmlsZS1yb3ctZ3JpZCAuZXhwZXJpZW5jZS1jb21wb25lbnQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogc2V0KCRtb2JpbGUtcm93LWdyaWRfX2V4cGVyaWVuY2UtY29tcG9uZW50X19tYXJnaW4tcmlnaHRfX3NtKTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLm1vYmlsZS1yb3ctZ3JpZCB7XHJcbiAgICAgICAgJiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldCgkbW9iaWxlLXJvdy1ncmlkX19wYWRkaW5nLXgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNldCgkbW9iaWxlLXJvdy1ncmlkX19wYWRkaW5nLXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyAgU3R5bGUgZm9yIGN1c3RvbSBsYXlvdXRzXHJcblxyXG4kY3VzdG9tLWxheW91dF9fcGFkZGluZzogcmVtKDQpO1xyXG5cclxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cclxuLmN1c3RvbS1sYXlvdXQge1xyXG4gICAgLmltYWdlLWFuZC10ZXh0LWNvbnRhaW5lciAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpeC1idXR0b25zLFxyXG4gICAgLnNpeC1idXR0b25zIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZXhwZXJpZW5jZS1jb21wb25lbnQsXHJcbiAgICAudGV4dC1idXR0b24tYmxvY2ssXHJcbiAgICAudGV4dC1idXR0b24tYmxvY2sgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC4td2l0aC1tYXJnaW4ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0KTtcclxuICAgIH1cclxuXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9hc3NldHMtaW1hZ2VBbmRUZXh0LFxyXG4gICAgLmltYWdlLWFuZC10ZXh0LWNvbnRhaW5lcixcclxuICAgIC5pbWFnZS1hbmQtdGV4dC1jb250YWluZXIgPiAucm93IHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDFyMWMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyMWMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24ge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxufVxyXG5cclxuLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkMnIzYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tZmlyc3QsXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDNyMmMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZpcnN0LFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi10aGlyZCxcclxuLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tZml2ZSxcclxuLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IxYyAgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZpcnN0LFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2Vjb25kLFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tdGhpcmQsXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyM2MgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZvdXIsXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyMmMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZpcnN0LFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi10aGlyZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyM2MgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLXRoaXJkLFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1zZWNvbmQsXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDNyMmMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZvdXIsXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDNyMmMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLXNpeCxcclxuLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkMnIzYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2l4LFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1zZWNvbmQsXHJcbi5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyMmMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZvdXJ0aCxcclxuLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IxYyAgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZpcnN0LFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2Vjb25kLFxyXG4uZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tdGhpcmQge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxufVxyXG5cclxuLmN1c3RvbS1sYXlvdXQge1xyXG4gICAgJi5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAgIC5jb2wtbGctMy4tbGVmdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb2wtbGctMy4tcmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbC1sZy02IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBkLWd1dHRlcnMgLnJlZ2lvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNCk7XHJcbn1cclxuXHJcbi5uby1zcGFjZSAuLXdpdGgtbWFyZ2luLFxyXG4ubm8tc3BhY2UgLnJlZ2lvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjFjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1sZWZ0LFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkMnIyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2Vjb25kLFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkMnIzYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tdGhpcmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2Vjb25kLFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IxYyAgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZpcnN0LFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2Vjb25kLFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tZm91ciB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDIpO1xyXG4gICAgfVxyXG5cclxuICAgIC5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyMWMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLXJpZ2h0LFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkMnIyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tdGhpcmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tc2Vjb25kLFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IxYyAgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLXRoaXJkLFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tdGhpcmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjNjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1mb3VyLFxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tZml2ZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMik7XHJcbiAgICB9XHJcblxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkM3IyYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tZm91ciB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDNyMmMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLXRoaXJkIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAuY3VzdG9tLWxheW91dCB7XHJcbiAgICAgICAgLi13aXRoLW1hcmdpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyMWMgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWxlZnQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1zZWNvbmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjNjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi10aGlyZCxcclxuICAgIC5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDNyMWMgID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1zZWNvbmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tZmlyc3QsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1zZWNvbmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1mb3VyIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmV4cGVyaWVuY2UtY29tbWVyY2VfbGF5b3V0cy1tb2JpbGVHcmlkMnIxYyA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tcmlnaHQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQycjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi10aGlyZCxcclxuICAgIC5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDNyMWMgID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1zZWNvbmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjFjICA+IC5jb250YWluZXItZmx1aWQgLnJlZ2lvbi4tdGhpcmQsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi10aGlyZCxcclxuICAgIC5leHBlcmllbmNlLWNvbW1lcmNlX2xheW91dHMtbW9iaWxlR3JpZDJyM2MgPiAuY29udGFpbmVyLWZsdWlkIC5yZWdpb24uLWZvdXIsXHJcbiAgICAuZXhwZXJpZW5jZS1jb21tZXJjZV9sYXlvdXRzLW1vYmlsZUdyaWQzcjJjID4gLmNvbnRhaW5lci1mbHVpZCAucmVnaW9uLi1maXZlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0KTtcclxuICAgIH1cclxuXHJcbiAgICAucGQtZ3V0dGVycyA+IFtjbGFzcyo9J2NvbC0nXSxcclxuICAgIC5wZC1ndXR0ZXJzIC5jb2wge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0KTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0KTtcclxuICAgIH1cclxuXHJcbiAgICAud3JhcHBlci0yNTI1NTAge1xyXG4gICAgICAgICYuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgICAgICAgLmNvbC1sZy0zLi1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmNvbC1sZy0zLi1yaWdodCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXQoJGN1c3RvbS1sYXlvdXRfX3BhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29sLWxnLTYge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc2V0KCRjdXN0b20tbGF5b3V0X19wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAud3JhcHBlci0yNTUwMjUge1xyXG4gICAgICAgICYuY29udGFpbmVyLWZsdWlkIHtcclxuICAgICAgICAgICAgLmNvbC1sZy02IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHNldCgkY3VzdG9tLWxheW91dF9fcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNldCgkY3VzdG9tLWxheW91dF9fcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXBwZXItNTAyNTI1IHtcclxuICAgICAgICAmLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgICAgICAgICAgIC5jb2wtbGctNiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXQoJGN1c3RvbS1sYXlvdXRfX3BhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29sLWxnLTMuLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBzZXQoJGN1c3RvbS1sYXlvdXRfX3BhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXHJcbiIsIi8vXHJcbi8vICBJbWFnZSB3aXRoIHRleHQgYW5kIGJ1dHRvbiBjb21wb25lbnRcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJGltYWdlLXRleHQtYnRuX19oZWlnaHQ6IHJlbSg1MjkpO1xyXG4kaW1hZ2UtdGV4dC1idG5fX3dyYXBwZXJfX21hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcbiRpbWFnZS10ZXh0LWJ0bl9fYnRuX19tYXJnaW4tdG9wOiByZW0oMTApO1xyXG4kaW1hZ2UtdGV4dC1idG4tY2VudGVyZWRfX2gxX21hcmdpbi1ib3R0b206IHJlbSg4KTtcclxuJGltYWdlLXRleHQtYnRuX19zbWFsbC10ZXh0X19tYXJnaW4tYm90dG9tOiByZW0oOCk7XHJcblxyXG4kaW1hZ2UtdGV4dC1idG5fX2hlaWdodF9fbWQ6IHJlbSg4NjYpO1xyXG4kaW1hZ2UtdGV4dC1idG5fX2NvbnRlbnQtd3JhcHBlcl9fbWF4LXdpZHRoX19tZDogZml0LWNvbnRlbnQ7XHJcbiRpbWFnZS10ZXh0LWJ0bl9fY29udGVudC13cmFwcGVyX19idG5fX21heC13aWR0aF9fbWQ6IHJlbSgyNTYpO1xyXG4kaW1hZ2UtdGV4dC1idG5fX2NlbnRlcmVkLWNvbnRlbnQtd3JhcHBlcl9fbWF4LXdpZHRoX19tZDogcmVtKDYwMCk7XHJcbiRpbWFnZS10ZXh0LWJ0bi1jZW50ZXJlZF9faDFfbWF4LXdpZHRoX19tZDogcmVtKDQ4MCk7XHJcbiRpbWFnZS10ZXh0LWJ0bi1jZW50ZXJlZF9faDFfbWFyZ2luLWJvdHRvbV9fbWQ6IHJlbSgxNSk7XHJcbiRpbWFnZS10ZXh0LWJ0bi1jZW50ZXJlZF9fY29udGVudC13cmFwcGVyX19tYXgtd2lkdGhfX21kOiByZW0oMjc3KTtcclxuXHJcbiRpbWFnZS10ZXh0LWJ0bl9faGVpZ2h0X19sZzogcmVtKDYzMCk7XHJcbiRpbWFnZS10ZXh0LWJ0bl9fbWF4LXdpZHRoX19sZzogcmVtKDI1Nik7XHJcbiRpbWFnZS10ZXh0LWJ0bi1jZW50ZXJlZF9fbWF4LXdpZHRoX19sZzogcmVtKDY1MHB4KTtcclxuJGltYWdlLXRleHQtYnRuLWNlbnRlcmVkX19oZWlnaHRfX2xnOiByZW0oNzA0KTtcclxuXHJcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXHJcbi5pbWFnZS10ZXh0LWJ0biB7XHJcbiAgICAmIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaGVpZ2h0OiBzZXQoJGltYWdlLXRleHQtYnRuX19oZWlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbWFsbC10ZXh0Li1hYnNvbHV0ZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgcmVtKDIwKTtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9ucy13cmFwcGVyLi12ZXJ0aWNhbC1tb2JpbGUgLmJ0bi13cmFwcGVyOm5vdCg6Zmlyc3QtY2hpbGQpIGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbnMtd3JhcHBlci4taG9yaXpvbnRhbC1tb2JpbGUgLmJ0bi13cmFwcGVyICxcclxuICAgIC5idXR0b25zLXdyYXBwZXIuLWhvcml6b250YWwtZGVza3RvcCAuYnRuLXdyYXBwZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b25zLXdyYXBwZXIuLWhvcml6b250YWwtbW9iaWxlIC5idG4td3JhcHBlci5hdXRvd2lkdGgsXHJcbiAgICAuYnV0dG9ucy13cmFwcGVyLi1ob3Jpem9udGFsLWRlc2t0b3AgLmJ0bi13cmFwcGVyLmF1dG93aWR0aCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbnMtd3JhcHBlci4taG9yaXpvbnRhbC1tb2JpbGUuY2VudGVyLFxyXG4gICAgLmJ1dHRvbnMtd3JhcHBlci4taG9yaXpvbnRhbC1kZXNrdG9wLmNlbnRlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnZpZGVvLWJsb2NrIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi4taGFzLWltYWdlIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi4taGFzLWltYWdlIC5pbWFnZS13cmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgfVxyXG5cclxuICAgICYgLndyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmIC52ZXJ0aWNhbC1tb2JpbGUtdG9wLndyYXBwZXIge1xyXG4gICAgICAgIHRvcDogcmVtKDIwKTtcclxuICAgIH1cclxuXHJcbiAgICAmIC52ZXJ0aWNhbC1tb2JpbGUtY2VudGVyLndyYXBwZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigkX2hvcml6b250YWw6IGZhbHNlKTtcclxuICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi4taGFzLWltYWdlIC5pbWFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LnRleHQtY2VudGVyIHAsXHJcbiAgICAudGV4dC50ZXh0LWNlbnRlciBoMSxcclxuICAgIC50ZXh0LnRleHQtY2VudGVyIGgyLFxyXG4gICAgLnRleHQudGV4dC1jZW50ZXIgaDMsXHJcbiAgICAudGV4dC50ZXh0LWNlbnRlciBoNCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb3VudGRvd24td3JhcHBlci50ZXh0LWNlbnRlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi4tY2VudGVyZWQge1xyXG4gICAgICAgIC5idG4td3JhcHBlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDEsXHJcbiAgICAgICAgLmNvbnRlbnQtd3JhcHBlciBoMixcclxuICAgICAgICAuY29udGVudC13cmFwcGVyIGgzLFxyXG4gICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDQsXHJcbiAgICAgICAgLmNvbnRlbnQtd3JhcHBlciBoNSxcclxuICAgICAgICAuY29udGVudC13cmFwcGVyIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2V0KCRpbWFnZS10ZXh0LWJ0bi1jZW50ZXJlZF9faDFfbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS13cmFwcGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogYXV0bztcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5saW5rIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGN1cnNvcjogaW5pdGlhbDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi13cmFwcGVyIHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Utd3JhcHBlciAuaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuXHJcbiAgICAud3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2V0KCRpbWFnZS10ZXh0LWJ0bl9fd3JhcHBlcl9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc2V0KCRpbWFnZS10ZXh0LWJ0bl9fYnRuX19tYXJnaW4tdG9wKTtcclxuICAgIH1cclxuXHJcbiAgICAuc21hbGwtdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2V0KCRpbWFnZS10ZXh0LWJ0bl9fc21hbGwtdGV4dF9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNtYWxsLXRleHQgcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgIC5pbWFnZS10ZXh0LWJ0biB7XHJcbiAgICAgICAgLmxlZnQudmVydGljYWwtbW9iaWxlLWNlbnRlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jZW50ZXIudmVydGljYWwtbW9iaWxlLWNlbnRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgNTAlLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkgODIlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LnZlcnRpY2FsLW1vYmlsZS10b3Age1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxMzNkZWcsICMwMDAgLTQwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jZW50ZXIudmVydGljYWwtbW9iaWxlLXRvcCB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwMCAtNDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLmltYWdlLXRleHQtYnRuIHtcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBzZXQoJGltYWdlLXRleHQtYnRuX19oZWlnaHRfX21kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b25zLXdyYXBwZXIuLWhvcml6b250YWwtbW9iaWxlIC5idG4td3JhcHBlcixcclxuICAgICAgICAuYnV0dG9ucy13cmFwcGVyLi1ob3Jpem9udGFsLWRlc2t0b3AgLmJ0bi13cmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmIC52ZXJ0aWNhbC1kZXNrdG9wLWNlbnRlci53cmFwcGVyIHtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiAudmVydGljYWwtZGVza3RvcC10b3Aud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHRvcDogcmVtKDIwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiAudmVydGljYWwtZGVza3RvcC1ib3R0b20ud3JhcHBlciB7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9ucy13cmFwcGVyIC5idG4td3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRlbnQtd3JhcHBlci50ZXh0LWNlbnRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLi1jZW50ZXJlZCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBzZXQoJGltYWdlLXRleHQtYnRuX19jZW50ZXJlZC1jb250ZW50LXdyYXBwZXJfX21heC13aWR0aF9fbWQpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBpbmhlcml0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYnRuLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHNldCgkaW1hZ2UtdGV4dC1idG4tY2VudGVyZWRfX2NvbnRlbnQtd3JhcHBlcl9fbWF4LXdpZHRoX19tZCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDEsXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDIsXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDMsXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDQsXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDUsXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIgaDYge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBzZXQoJGltYWdlLXRleHQtYnRuLWNlbnRlcmVkX19oMV9tYXgtd2lkdGhfX21kKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkaW1hZ2UtdGV4dC1idG4tY2VudGVyZWRfX2gxX21hcmdpbi1ib3R0b21fX21kKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzZXQoJGltYWdlLXRleHQtYnRuX19jb250ZW50LXdyYXBwZXJfX21heC13aWR0aF9fbWQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bjpub3QoLi13aGl0ZS11bmRlcmxpbmVkKTpub3QoLi1ibGFjay11bmRlcmxpbmVkKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHNldCgkaW1hZ2UtdGV4dC1idG5fX2NvbnRlbnQtd3JhcHBlcl9fYnRuX19tYXgtd2lkdGhfX21kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LnZlcnRpY2FsLWRlc2t0b3AtYm90dG9tIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgIzAwMCAtNDAlLCByZ2JhKDAsIDAsIDAsIDApIDYwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2VudGVyLnZlcnRpY2FsLWRlc2t0b3AtYm90dG9tIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDM2MGRlZywgIzAwMCAtNDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxlZnQudmVydGljYWwtZGVza3RvcC10b3Age1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwMCAtNDAlLCByZ2JhKDAsIDAsIDAsIDApIDYwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2VudGVyLnZlcnRpY2FsLWRlc2t0b3AtdG9wIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDAgLTQwJSwgcmdiYSgwLCAwLCAwLCAwKSA2MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAuaW1hZ2UtdGV4dC1idG4ge1xyXG4gICAgICAgIC5idXR0b25zLXdyYXBwZXIuLWhvcml6b250YWwtbW9iaWxlIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b25zLXdyYXBwZXIuLWhvcml6b250YWwtbW9iaWxlIC5idG4td3JhcHBlcjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLmltYWdlLXRleHQtYnRuIHtcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBzZXQoJGltYWdlLXRleHQtYnRuX19oZWlnaHRfX2xnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb3VudGRvd24td3JhcHBlci50ZXh0LWNlbnRlciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZXNrdG9wLWFsaWduLXJpZ2h0IHA6bm90KC5pdGVtKSxcclxuICAgICAgICAuZGVza3RvcC1hbGlnbi1yaWdodCBoMTpub3QoLml0ZW0pLFxyXG4gICAgICAgIC5kZXNrdG9wLWFsaWduLXJpZ2h0IGgyOm5vdCguaXRlbSksXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tcmlnaHQgaDM6bm90KC5pdGVtKSxcclxuICAgICAgICAuZGVza3RvcC1hbGlnbi1yaWdodCBoNDpub3QoLml0ZW0pLFxyXG4gICAgICAgIC5zbWFsbC10ZXh0LmRlc2t0b3AtYWxpZ24tcmlnaHQsXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tcmlnaHQgLmNvdW50ZG93bi13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tcmlnaHQgLmJ1dHRvbnMtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDUwMCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tcmlnaHQgLmJ1dHRvbnMtd3JhcHBlci4taG9yaXpvbnRhbC1kZXNrdG9wIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tcmlnaHQgLmJ0bi13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVza3RvcC1hbGlnbi1jZW50ZXIgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tY2VudGVyIC5idXR0b25zLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZXNrdG9wLWFsaWduLWNlbnRlciBwOm5vdCguaXRlbSksXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tY2VudGVyIGgxOm5vdCguaXRlbSksXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tY2VudGVyIGgyOm5vdCguaXRlbSksXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tY2VudGVyIGgzOm5vdCguaXRlbSksXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tY2VudGVyIGg0Om5vdCguaXRlbSksXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tY2VudGVyIC5jb3VudGRvd24td3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVza3RvcC1hbGlnbi1jZW50ZXIgLmNvdW50ZG93bi13cmFwcGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVza3RvcC1hbGlnbi1sZWZ0IHAsXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tbGVmdCBoMSxcclxuICAgICAgICAuZGVza3RvcC1hbGlnbi1sZWZ0IGgyLFxyXG4gICAgICAgIC5kZXNrdG9wLWFsaWduLWxlZnQgaDMsXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tbGVmdCBoNCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3AtYWxpZ24tbGVmdCAuYnV0dG9ucy13cmFwcGVyIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9ucy13cmFwcGVyLi1ob3Jpem9udGFsLWRlc2t0b3AgLmJ0bi13cmFwcGVyOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgyMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnV0dG9ucy13cmFwcGVyLi1ob3Jpem9udGFsLWRlc2t0b3Age1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNtYWxsLXRleHQuLWFic29sdXRlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCByZW0oNDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4tY2VudGVyZWQge1xyXG4gICAgICAgICAgICAmIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogc2V0KCRpbWFnZS10ZXh0LWJ0bi1jZW50ZXJlZF9faGVpZ2h0X19sZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIGgxLFxyXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIGgyLFxyXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIGgzLFxyXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIGg0LFxyXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIGg1LFxyXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIGg2IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHNldCgkaW1hZ2UtdGV4dC1idG4tY2VudGVyZWRfX21heC13aWR0aF9fbGcpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNjQwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZWNyZWFzZWQtd2lkdGggcCxcclxuICAgICAgICAuZGVjcmVhc2VkLXdpZHRoIGgxLFxyXG4gICAgICAgIC5kZWNyZWFzZWQtd2lkdGggaDIsXHJcbiAgICAgICAgLmRlY3JlYXNlZC13aWR0aCBoMyxcclxuICAgICAgICAuZGVjcmVhc2VkLXdpZHRoIGg0LFxyXG4gICAgICAgIC5kZWNyZWFzZWQtd2lkdGguY291bnRkb3duLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg1MDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bjpub3QoLi13aGl0ZS11bmRlcmxpbmVkKTpub3QoLi1ibGFjay11bmRlcmxpbmVkKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogc2V0KCRpbWFnZS10ZXh0LWJ0bl9fbWF4LXdpZHRoX19sZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cclxuIiwiLy9cclxuLy8gIEhlbHBlcnNcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuLy8gIENlbnRlciBlbGVtZW50XHJcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIoXHJcbiAgICAkX2hvcml6b250YWw6IHRydWUsXHJcbiAgICAkX3ZlcnRpY2FsOiB0cnVlLFxyXG4gICAgJF9wb3NpdGlvbjogYWJzb2x1dGVcclxuKSB7XHJcbiAgICBwb3NpdGlvbjogc2V0KCRfcG9zaXRpb24pO1xyXG5cclxuICAgIEBpZiAkX2hvcml6b250YWwgYW5kIG5vdCAkX3ZlcnRpY2FsIHtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkX3ZlcnRpY2FsIGFuZCBub3QgJF9ob3Jpem9udGFsIHtcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRfdmVydGljYWwgYW5kICRfaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vXHJcbi8vICBJbWFnZSB0aWxlIGJsb2NrXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbiRpbWFnZS1jb21wb25lbnRfX2ltYWdlLXdyYXBwZXJfX2hlaWdodDogcmVtKDIxNCk7XHJcbiRpbWFnZS1jb21wb25lbnRfX2ltYWdlLXdyYXBwZXJfX2hlaWdodF9fbWQ6IHJlbSgzMDYpO1xyXG4kaW1hZ2UtY29tcG9uZW50X19pbWFnZS13cmFwcGVyX19oZWlnaHRfX2xnOiByZW0oNTc4KTtcclxuXHJcbi5waG90by10aWxlLWNvbnRhaW5lciB7XHJcbiAgICAucGhvdG8tdGlsZS1pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBzZXQoJGltYWdlLWNvbXBvbmVudF9faW1hZ2Utd3JhcHBlcl9faGVpZ2h0KTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLnBob3RvLXRpbGUtY29udGFpbmVyIHtcclxuICAgICAgICAucGhvdG8tdGlsZS1pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogc2V0KCRpbWFnZS1jb21wb25lbnRfX2ltYWdlLXdyYXBwZXJfX2hlaWdodF9fbWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLnBob3RvLXRpbGUtY29udGFpbmVyIHtcclxuICAgICAgICAucGhvdG8tdGlsZS1pbWFnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogc2V0KCRpbWFnZS1jb21wb25lbnRfX2ltYWdlLXdyYXBwZXJfX2hlaWdodF9fbGcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvL1xyXG4vLyAgVGV4dGJveCBjb21wb25lbnRcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJHRleHRib3hfX2ZpcnN0X19tYXJnaW4tYm90dG9tOiByZW0oMTgpO1xyXG4kdGV4dGJveF9fY29udGVudC13cmFwcGVyX19wYWRkaW5nOiByZW0oMjUpO1xyXG5cclxuJHRleHRib3hfX2ZpcnN0X19tYXJnaW4tYm90dG9tX19tZDogcmVtKDIxKTtcclxuXHJcbi50ZXh0Ym94IHtcclxuICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzZXQoJHRleHRib3hfX2NvbnRlbnQtd3JhcHBlcl9fcGFkZGluZyk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNldCgkdGV4dGJveF9fY29udGVudC13cmFwcGVyX19wYWRkaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24gcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkdGV4dGJveF9fZmlyc3RfX21hcmdpbi1ib3R0b20pO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAudGV4dGJveCB7XHJcbiAgICAgICAgaDEsXHJcbiAgICAgICAgaDIsXHJcbiAgICAgICAgaDMsXHJcbiAgICAgICAgaDQsXHJcbiAgICAgICAgaDUsXHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJHRleHRib3hfX2ZpcnN0X19tYXJnaW4tYm90dG9tX19tZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvL1xyXG4vLyAgMiBjb2x1bW5zIChJbWFnZSAmINGBZW50ZXItYWxpZ25lZCBUZXh0KSBQVkhcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJHR3by1jb2wtaW1hZ2UtdGV4dF9faW1hZ2Utd3JhcHBlcl9fbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcclxuJHR3by1jb2wtaW1hZ2UtdGV4dF9fYnRuX19wYWRkaW5nOiByZW0oMjApO1xyXG5cclxuJHR3by1jb2wtaW1hZ2UtdGV4dF9fdGV4dC1jZW50ZXJfX21heC13aWR0aF9fbWQ6IHJlbSgyNjUpO1xyXG5cclxuLnR3by1jb2wtaW1hZ2UtdGV4dCB7XHJcbiAgICAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2V0KCR0d28tY29sLWltYWdlLXRleHRfX2ltYWdlLXdyYXBwZXJfX21hcmdpbi1ib3R0b20pO1xyXG4gICAgfVxyXG5cclxuICAgIC5hdXRvd2lkdGggLmJ0biB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmF1dG93aWR0aCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLi1lcXVhbC1idXR0b25zIC5idG4td3JhcHBlciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBtaW4td2lkdGg6IDUwJTtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuLXdyYXBwZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb21vLXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IHNldCgkdHdvLWNvbC1pbWFnZS10ZXh0X19idG5fX3BhZGRpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIC50d28tY29sLWltYWdlLXRleHQge1xyXG4gICAgICAgIC5pbWFnZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC4tZXF1YWwtYnV0dG9ucyAuYnRuLXdyYXBwZXIsXHJcbiAgICAgICAgLi1lcXVhbC1idXR0b25zIC5idG4ge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSovXHJcbiAgICAgICAgLnRleHQtY2VudGVyIC50ZXh0LXdyYXBwZXIgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIHN0eWxlbGludC1lbmFibGUgICovXHJcbiAgICAgICAgLmJ0bjpub3QoLi13aGl0ZS11bmRlcmxpbmVkKTpub3QoLi1ibGFjay11bmRlcmxpbmVkKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IHNldCgkdHdvLWNvbC1pbWFnZS10ZXh0X190ZXh0LWNlbnRlcl9fbWF4LXdpZHRoX19tZCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgIC50d28tY29sLWltYWdlLXRleHQge1xyXG4gICAgICAgIC50ZXh0LXdyYXBwZXIgcCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDYwMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVjcmVhc2VkLXdpZHRoIHAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg0MDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvL1xyXG4vLyAgVmlkZW8gQ29tcG9uZW50IFBWSFxyXG4vLyAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXHJcblxyXG4udmlkZW8tYmxvY2sge1xyXG4gICAgLmZyYW1lLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiA1Ni4yNSUgMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5mcmFtZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufVxyXG4iLCIvL1xyXG4vLyAgQ0xQIENhcm91c2VsXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbiRjbHAtY2Fyb3VzZWxfX2hfX2xldHRlci1zcGFjaW5nOiByZW0oMik7XHJcbiRjbHAtY2Fyb3VzZWxfX2hfX21hcmdpbi1ib3R0b206IHJlbSgxOCk7XHJcbiRjbHAtY2Fyb3VzZWxfX3NsaWRlci13cmFwcGVyX19tYXJnaW4tYm90dG9tOiByZW0oMjUpO1xyXG5cclxuJGNscC1jYXJvdXNlbF9fYnRuX19taW4td2lkdGg6IHJlbSgyNTYpO1xyXG5cclxuJGNscC1jYXJvdXNlbF9fc2xpZGVyLXdyYXBwZXJfX21hcmdpbi1ib3R0b21fX2xnOiAwO1xyXG5cclxuLmNscC1jYXJvdXNlbCB7XHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkY2xwLWNhcm91c2VsX19oX19tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogc2V0KCRjbHAtY2Fyb3VzZWxfX2hfX2xldHRlci1zcGFjaW5nKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVyLXdyYXBwZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkY2xwLWNhcm91c2VsX19zbGlkZXItd3JhcHBlcl9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi13cmFwcGVyIC5idG4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLmNscC1jYXJvdXNlbCB7XHJcbiAgICAgICAgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnRuLXdyYXBwZXIgLmJ0biB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLmNscC1jYXJvdXNlbCB7XHJcbiAgICAgICAgLnNsaWRlci13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc2V0KCRjbHAtY2Fyb3VzZWxfX3NsaWRlci13cmFwcGVyX19tYXJnaW4tYm90dG9tX19sZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8vXHJcbi8vICBzaXggYnV0dG9ucyBjb21wb25lbnRcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJHNpeC1idXR0b25zX19idG4td3JhcHBlcl9fbWFyZ2luLWJvdHRvbTogcmVtKDcpO1xyXG4kc2l4LWJ1dHRvbnNfX2NvbnRlbnQtd3JhcHBlcl9fcGFkZGluZy10b3A6IHJlbSgyNSk7XHJcbiRzaXgtYnV0dG9uc19fY29udGVudC13cmFwcGVyX19wYWRkaW5nLWJvdHRvbTogcmVtKDcpO1xyXG5cclxuJHNpeC1idXR0b25zX19jb250ZW50LXdyYXBwZXJfX3BhZGRpbmctYm90dG9tX19sZzogcmVtKDI1KTtcclxuXHJcbi5zaXgtYnV0dG9ucyB7XHJcbiAgICAmLi1oYXMtaW1hZ2UsXHJcbiAgICAuY291cG9uLXRleHQtcGQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLi1oYXMtaW1hZ2UgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtZ3JhZGllbnQge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2l4LWJ1dHRvbnMtd3JhcHBlciB7XHJcbiAgICAgICAgJiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bi13cmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQ3LjUlO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJHNpeC1idXR0b25zX19idG4td3JhcHBlcl9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnRuOm5vdCguLXdoaXRlLXVuZGVybGluZWQpOm5vdCguLWJsYWNrLXVuZGVybGluZWQpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzZXQoJHNpeC1idXR0b25zX19jb250ZW50LXdyYXBwZXJfX3BhZGRpbmctdG9wKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2V0KCRzaXgtYnV0dG9uc19fY29udGVudC13cmFwcGVyX19wYWRkaW5nLWJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLnNpeC1idXR0b25zIHtcclxuICAgICAgICAuc2l4LWJ1dHRvbnMtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIC5idG4td3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuYnRuOm5vdCguLXdoaXRlLXVuZGVybGluZWQpOm5vdCguLWJsYWNrLXVuZGVybGluZWQpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAuc2l4LWJ1dHRvbnMgLmNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNldCgkc2l4LWJ1dHRvbnNfX2NvbnRlbnQtd3JhcHBlcl9fcGFkZGluZy1ib3R0b21fX2xnKTtcclxuICAgIH1cclxufVxyXG4iLCIvL1xyXG4vLyAgMiBjb2x1bW5zIChMYXJnZSBJbWFnZSAmIFNtYWxsIGltYWdlICsgbGVmdC1hbGlnbmVkIFRleHQgd2l0aCBidXR0b24pXHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbiR0d28tY29sLXR3by1pbWFnZXNfX2Jsb2NrLXRpdGxlX19sZXR0ZXItc3BhY2luZzogcmVtKDEpO1xyXG4kdHdvLWNvbC10d28taW1hZ2VzX19ibG9jay10aXRsZV9fbGluZS1oZWlnaHQ6IHJlbSgzMik7XHJcbiR0d28tY29sLXR3by1pbWFnZXNfX2xhcmdlLWltYWdlLXdyYXBwZXJfX21hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcbiR0d28tY29sLXR3by1pbWFnZXNfX3NtYWxsLWltYWdlX19tYXJnaW4tYm90dG9tOiByZW0oMCk7XHJcbiR0d28tY29sLXR3by1pbWFnZXNfX2J0bi13cmFwcGVyX19tYXJnaW4tdG9wOiByZW0oMjApO1xyXG4kdHdvLWNvbC10d28taW1hZ2VzX19vcmRlci1maXJzdF9fbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcclxuJHR3by1jb2wtdHdvLWltYWdlc19fYmxvY2stdGl0bGVfX3BhZGRpbmctdG9wOiByZW0oMTApO1xyXG4kdHdvLWNvbC10d28taW1hZ2VzX19ibG9jay10aXRsZV9fcGFkZGluZy1ib3R0b206IHJlbSgxMCk7XHJcbiR0d28tY29sLXR3by1pbWFnZXNfX2xhcmdlLWltYWdlLXdyYXBwZXItaW1hZ2VfX2hlaWdodF9fbWQ6IHJlbSg1NDYpO1xyXG4kdHdvLWNvbC10d28taW1hZ2VzX19zbWFsbC1pbWFnZV9fbWFyZ2luLWJvdHRvbV9fbWQ6IHJlbSg0MCk7XHJcbiR0d28tY29sLXR3by1pbWFnZXNfX2NvbnRlbnQtd3JhcHBlcl9fbWF4LXdpZHRoX19tZDogcmVtKDM1Mik7XHJcbiRzbWFsbC1pbWFnZS13cmFwcGVyX190ZXh0LXdyYXBwZXJfX3BhZGRpbmctbGVmdF9fbWQ6IHJlbSgyMCk7XHJcblxyXG4kdHdvLWNvbC10d28taW1hZ2VzX19sYXJnZS1pbWFnZS13cmFwcGVyLWltYWdlX19oZWlnaHRfX2xnOiByZW0oNTgwKTtcclxuJHR3by1jb2wtdHdvLWltYWdlc19fYmxvY2stdGl0bGVfX3BhZGRpbmctYm90dG9tX19sZzogcmVtKDI1KTtcclxuXHJcbi50d28tY29sLXR3by1pbWFnZXMge1xyXG4gICAgLmJsb2NrLXRpdGxlIGgxLFxyXG4gICAgLmJsb2NrLXRpdGxlIGgyLFxyXG4gICAgLmJsb2NrLXRpdGxlIGgzLFxyXG4gICAgLmJsb2NrLXRpdGxlIGg0LFxyXG4gICAgLmJsb2NrLXRpdGxlIGg1LFxyXG4gICAgLmJsb2NrLXRpdGxlIGg2LFxyXG4gICAgLmJsb2NrLXRpdGxlIHAge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fYmxvY2stdGl0bGVfX3BhZGRpbmctdG9wKTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogc2V0KCR0d28tY29sLXR3by1pbWFnZXNfX2Jsb2NrLXRpdGxlX19wYWRkaW5nLWJvdHRvbSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5sYXJnZS1pbWFnZS13cmFwcGVyLm9yZGVyLWZpcnN0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fbGFyZ2UtaW1hZ2Utd3JhcHBlcl9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNtYWxsLWltYWdlLXdyYXBwZXIgLmltYWdlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fc21hbGwtaW1hZ2VfX21hcmdpbi1ib3R0b20pO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbWFsbC1pbWFnZS13cmFwcGVyLm9yZGVyLWZpcnN0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fb3JkZXItZmlyc3RfX21hcmdpbi1ib3R0b20pO1xyXG4gICAgfVxyXG5cclxuICAgIC4tdmVydGljYWwgLmJ0bi13cmFwcGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fYnRuLXdyYXBwZXJfX21hcmdpbi10b3ApO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG46bm90KC4td2hpdGUtdW5kZXJsaW5lZCk6bm90KC4tYmxhY2stdW5kZXJsaW5lZCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgIC5ibG9jay10aXRsZSBoMSxcclxuICAgIC5ibG9jay10aXRsZSBoMixcclxuICAgIC5ibG9jay10aXRsZSBoMyxcclxuICAgIC5ibG9jay10aXRsZSBoNCxcclxuICAgIC5ibG9jay10aXRsZSBoNSxcclxuICAgIC5ibG9jay10aXRsZSBoNiB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHNldCgkdHdvLWNvbC10d28taW1hZ2VzX19ibG9jay10aXRsZV9fbGV0dGVyLXNwYWNpbmcpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fYmxvY2stdGl0bGVfX2xpbmUtaGVpZ2h0KTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLnR3by1jb2wtdHdvLWltYWdlcyB7XHJcbiAgICAgICAgLmxhcmdlLWltYWdlLXdyYXBwZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fbGFyZ2UtaW1hZ2Utd3JhcHBlci1pbWFnZV9faGVpZ2h0X19tZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFyZ2UtaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFyZ2UtaW1hZ2Utd3JhcHBlci5vcmRlci1maXJzdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc21hbGwtaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc21hbGwtaW1hZ2Utd3JhcHBlciAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fY29udGVudC13cmFwcGVyX19tYXgtd2lkdGhfX21kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zbWFsbC1pbWFnZS13cmFwcGVyIC5saW5rLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fc21hbGwtaW1hZ2VfX21hcmdpbi1ib3R0b21fX21kKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idG4td3JhcHBlciAuYnRuIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAudHdvLWNvbC10d28taW1hZ2VzIHtcclxuICAgICAgICAuYmxvY2stdGl0bGUgaDEsXHJcbiAgICAgICAgLmJsb2NrLXRpdGxlIGgyLFxyXG4gICAgICAgIC5ibG9jay10aXRsZSBoMyxcclxuICAgICAgICAuYmxvY2stdGl0bGUgaDQsXHJcbiAgICAgICAgLmJsb2NrLXRpdGxlIGg1LFxyXG4gICAgICAgIC5ibG9jay10aXRsZSBoNixcclxuICAgICAgICAuYmxvY2stdGl0bGUgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzZXQoJHR3by1jb2wtdHdvLWltYWdlc19fYmxvY2stdGl0bGVfX3BhZGRpbmctYm90dG9tX19sZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFyZ2UtaW1hZ2Utd3JhcHBlciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGFyZ2UtaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc21hbGwtaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJ2Jvb3RzdHJhcC9zY3NzL21peGlucy9icmVha3BvaW50cyc7XHJcblxyXG4uc2hvcC1jYXRlZ29yeS1jb21wb25lbnQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgICAgICBwYWRkaW5nOiAyZW0gNGVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4cykge1xyXG4gICAgICAgIHBhZGRpbmc6IDFlbSAyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaG9wLWNhdGVnb3J5LWNvbXBvbmVudC1maWx0ZXI6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNDAlKTtcclxufVxyXG5cclxuLnNob3AtY2F0ZWdvcnktaGVhZGVyIHtcclxuICAgIGNvbG9yOiAkc2hvcC1jYXRlZ29yeS1oZWFkZXItY29sb3I7XHJcbiAgICBmb250LWZhbWlseTogJHNob3AtY2F0ZWdvcnktZm9udDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkc2hvcC1jYXRlZ29yeS1oZWFkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNGVtO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3AtY2F0ZWdvcnktaGVhZGVyLXRleHQtY29sb3Itb3RoZXIge1xyXG4gICAgY29sb3I6ICRzaG9wLWNhdGVnb3J5LWhlYWRlci1mb250LWNvbG9yLW90aGVyO1xyXG59XHJcblxyXG4uc2hvcC1jYXRlZ29yeS1sYWJlbCB7XHJcbiAgICBwYWRkaW5nOiAwLjM3NWVtIDAuNWVtO1xyXG4gICAgZm9udC1mYW1pbHk6ICRzaG9wLWNhdGVnb3J5LWZvbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgcGFkZGluZzogMC42MjVlbSAxLjVlbTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3AtY2F0ZWdvcnktbGFiZWwtYSB7XHJcbiAgICBjb2xvcjogJHNob3AtY2F0ZWdvcnktbGFiZWwtYS1jb2xvciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2hvcC1jYXRlZ29yeS1sYWJlbC1hLWNvbG9yLW90aGVyIHtcclxuICAgIGNvbG9yOiAkc2hvcC1jYXRlZ29yeS1sYWJlbC1hLWNvbG9yLW90aGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdiYXNlL3ZhcmlhYmxlcyc7XHJcblxyXG4vLyBDb2xvcnNcclxuJGRhcmstYmx1ZTogIzAwMTc0ZjtcclxuXHJcbiRncmF5LTE6ICMyMjIgIWRlZmF1bHQ7XHJcbiRncmF5LTI6ICM0NDQgIWRlZmF1bHQ7XHJcbiRncmF5LTM6ICM5OTkgIWRlZmF1bHQ7XHJcbiRncmF5LTQ6ICNjY2MgIWRlZmF1bHQ7XHJcblxyXG4kZ3JheS10cmFuc3BhcmVudC0xOiByZ2JhKDAsIDAsIDAsIDAuNCkgIWRlZmF1bHQ7XHJcblxyXG4kbGlnaHQtZ3JheTogJGdyYXktNCAhZGVmYXVsdDtcclxuJGRhcmstZ3JheTogJGdyYXktMSAhZGVmYXVsdDtcclxuXHJcbi8vIEZvbnQgQ29sb3JzXHJcbiR3aGl0ZS10ZXh0OiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBGb250IHNpemVzXHJcbiRiYXNlLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcclxuJHhsLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS42NyAhZGVmYXVsdDtcclxuJGxnLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS41ICFkZWZhdWx0O1xyXG5cclxuJGhlYWRpbmctMS1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDQgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAzICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWZvbnQtc2l6ZTogJHhsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRpbmctNC1mb250LXNpemU6ICRsZy1mb250LXNpemUgIWRlZmF1bHQ7XHJcblxyXG4vLyBGb250IGZhbWlseVxyXG4kYmFzZS1mb250LWZhbWlseTogRnV0dXJhU1REICFkZWZhdWx0O1xyXG5cclxuLy8gRm9udCB3ZWlnaHRcclxuJGZvbnQtd2VpZ2h0LWhlYXZpZXI6IDkwMCAhZGVmYXVsdDtcclxuXHJcbi8vIExpbmsgQmFubmVyIENvbXBvbmVudFxyXG4kc2hvcC1jYXRlZ29yeS1mb250OiAkYmFzZS1mb250LWZhbWlseSAhZGVmYXVsdDtcclxuJHNob3AtY2F0ZWdvcnktZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRzaG9wLWNhdGVnb3J5LWhlYWRlci1jb2xvcjogJGRhcmstYmx1ZSAhZGVmYXVsdDtcclxuJHNob3AtY2F0ZWdvcnktaGVhZGVyLWZvbnQtY29sb3Itb3RoZXI6ICR3aGl0ZSAhZGVmYXVsdDtcclxuJHNob3AtY2F0ZWdvcnktaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtaGVhdmllciAhZGVmYXVsdDtcclxuJHNob3AtY2F0ZWdvcnktbGFiZWwtYS1jb2xvcjogJGRhcmstYmx1ZSAhZGVmYXVsdDtcclxuJHNob3AtY2F0ZWdvcnktbGFiZWwtYS1jb2xvci1vdGhlcjogJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJHRoaW4tYmFubmVyLWJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJsdWU7XHJcbiR0aGluLWJhbm5lci10ZXh0LWNvbG9yOiAkd2hpdGU7XHJcblxyXG4iLCIvL1xyXG4vLyAgU2VhcmNoIGJhbm5lciBzdHlsZXNcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJHNlYXJjaC1iYW5uZXJfX21vYmlsZV9fcGFkZGluZzogMCByZW0oMjApO1xyXG4kc2VhcmNoLWJhbm5lcl9fbWF4LXdpZHRoOiByZW0oMTkyMCk7XHJcbiRzZWFyY2gtYmFubmVyX19pbWFnZV9faGVpZ2h0OiByZW0oMzI2KTtcclxuJHBhZ2UtdGl0bGVfX3BscF9fcGFkZGluZy10b3A6IHJlbSgxNik7XHJcbiRwYWdlLXRpdGxlX19wbHBfX3BhZGRpbmctYm90dG9tOiByZW0oMjApO1xyXG4kcGFnZS10aXRsZV9fc3JwX19wYWRkaW5nLXRvcDogcmVtKDI1KTtcclxuXHJcbiRwYWdlLXRpdGxlX19wbHBfX3BhZGRpbmctdG9wX19tZDogcmVtKDE2KTtcclxuJHBhZ2UtdGl0bGVfX3BscF9fcGFkZGluZy1ib3R0b21fX21kOiByZW0oMTMpO1xyXG4kcGFnZS10aXRsZV9fc3JwX19wYWRkaW5nLXRvcF9fbWQ6IHJlbSg0NCk7XHJcbiRwYWdlLXRpdGxlX19zcnBfX21hcmdpbi1ib3R0b21fX21kOiByZW0oMTgpO1xyXG5cclxuJHNlYXJjaC1iYW5uZXJfX3BhZ2UtdGl0bGVfX3BhZGRpbmdfX2xnOiByZW0oMTYpIHJlbSg0MCk7XHJcbiRwYWdlLXRpdGxlX19wbHBfX3BhZGRpbmctYm90dG9tX19sZzogcmVtKDUpO1xyXG5cclxuLnNlYXJjaC1iYW5uZXIge1xyXG4gICAgJi4tbW9iaWxlIHtcclxuICAgICAgICBwYWRkaW5nOiBzZXQoJHNlYXJjaC1iYW5uZXJfX21vYmlsZV9fcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLXRpdGxlLi1wbHAge1xyXG4gICAgcGFkZGluZy10b3A6IHNldCgkcGFnZS10aXRsZV9fcGxwX19wYWRkaW5nLXRvcCk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogc2V0KCRwYWdlLXRpdGxlX19wbHBfX3BhZGRpbmctYm90dG9tKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5wYWdlLXRpdGxlLi1zcnAge1xyXG4gICAgcGFkZGluZy10b3A6IHNldCgkcGFnZS10aXRsZV9fc3JwX19wYWRkaW5nLXRvcCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLnBhZ2UtdGl0bGUuLXBscCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNldCgkcGFnZS10aXRsZV9fcGxwX19wYWRkaW5nLXRvcF9fbWQpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzZXQoJHBhZ2UtdGl0bGVfX3BscF9fcGFkZGluZy1ib3R0b21fX21kKTtcclxuICAgIH1cclxuXHJcbiAgICAucGFnZS10aXRsZS4tc3JwIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc2V0KCRwYWdlLXRpdGxlX19zcnBfX3BhZGRpbmctdG9wX19tZCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2V0KCRwYWdlLXRpdGxlX19zcnBfX21hcmdpbi1ib3R0b21fX21kKTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLnNlYXJjaC1iYW5uZXIge1xyXG4gICAgICAgICYge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc2V0KCRzZWFyY2gtYmFubmVyX19tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGFnZS10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNldCgkc2VhcmNoLWJhbm5lcl9fcGFnZS10aXRsZV9fcGFkZGluZ19fbGcpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wYWdlLXRpdGxlLndpdGgtaW1hZ2Uge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogc2V0KCRzZWFyY2gtYmFubmVyX19pbWFnZV9faGVpZ2h0KTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXRpdGxlLi1wbHAge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzZXQoJHBhZ2UtdGl0bGVfX3BscF9fcGFkZGluZy1ib3R0b21fX2xnKTtcclxuICAgIH1cclxufVxyXG4iLCIvL1xyXG4vLyAgQmFubmVyIHdpdGggQ2Fyb3VzZWxcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cclxuLmJhbm5lci1jYXJvdXNlbCB7XHJcbiAgICAmIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQsXHJcbiAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcclxuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlLWFuZC10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLmltYWdlLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW1hZ2UtaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN3aXBlci1jb250YWluZXI6bm90KC5pbml0aWFsaXplZCkgLnN3aXBlci1zbGlkZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5zaGFkaW5nLWVuYWJsZWQge1xyXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNCkgcmVtKDQpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShyZW0oLTQpLCByZW0oLTQpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1Y3QtdGlsZS1ib2R5LFxyXG4gICAgLmltYWdlLXRleHQtYnRuIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1Y3QtdGlsZS1ib2R5IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAubmFycm93LWNvbHVtbixcclxuICAgIC53aWRlLWNvbHVtbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNscC1jYXJvdXNlbCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKC0yMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2R1Y3QtdGlsZS1wZCB7XHJcbiAgICAgICAgJiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bi13cmFwcGVyLFxyXG4gICAgICAgIC5zaXplcy1vdmVybGF5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAuYmFubmVyLWNhcm91c2VsIHtcclxuICAgICAgICAubW9iaWxlLXNoaWZ0ZWQge1xyXG4gICAgICAgICAgICAmLmNscC1jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDIwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwNiU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgyNik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb2JpbGUtdHdvLXRpbGVzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb2JpbGUtdHdvLXRpbGVzIC5zd2lwZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb2JpbGUtY2VudGVyZWQge1xyXG4gICAgICAgICAgICAuc3dpcGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDkuNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jbHAtY2Fyb3VzZWwubW9iaWxlLWNlbnRlcmVkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWJldHdlZW4obWQsIHhsKSB7XHJcbiAgICAuYmFubmVyLWNhcm91c2VsIHtcclxuICAgICAgICAuY2xwLWNhcm91c2VsIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIzLjUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRhYmxldC0xIC5zd2lwZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMxJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50YWJsZXQtMiAuc3dpcGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MyU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGFibGV0LTMgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLmJhbm5lci1jYXJvdXNlbCAuY2xwLWNhcm91c2VsIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0oLTIwKTtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgLmJhbm5lci1jYXJvdXNlbCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXRpbGUtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDEwKTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgIC5iYW5uZXItY2Fyb3VzZWwge1xyXG4gICAgICAgICYge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5jaGFuZ2Utb3JkZXIge1xyXG4gICAgICAgICAgICAuY29sdW1ucy13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRlc2t0b3AtMiAuc3dpcGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNzMpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5kZXNrdG9wLTMgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNzIlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0MCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbHVtbnMtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAud2lkZS1jb2x1bW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogNzIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hcnJvdy1jb2x1bW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjglO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNscC1jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVza3RvcC0xIC5zd2lwZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUyLjUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRlc2t0b3AtMiAuc3dpcGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDcuMiU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTczKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZXNrdG9wLTMgLnN3aXBlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTY1JTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC03MiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cclxuIiwiLy9cclxuLy8gIE5ld3NsZXR0ZXIgUEQgY29tcG9uZW50XHJcbi8vICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19cclxuXHJcbiRuZXdzbGV0dGVyLXBkX19lbWFpbC1zdWJzY3JpcHRpb25fX3BhZGRpbmc6IHJlbSgzMCkgcmVtKDIwKSByZW0oMjgpO1xyXG4kbmV3c2xldHRlci1wZF9fZW1haWwtbWFpbi10ZXh0X19tYXJnaW4tYm90dG9tOiByZW0oOCk7XHJcbiRuZXdzbGV0dGVyLXBkX19tYWluLWhfX21hcmdpbi1ib3R0b206IHJlbSgyMyk7XHJcbiRuZXdzbGV0dGVyLXBkX19zdWNjZXNzLWhfX21hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcbiRuZXdzbGV0dGVyLXBkX19lbWFpbC13cmFwcGVyX19tYXJnaW4tYm90dG9tOiByZW0oMjApO1xyXG4kbmV3c2xldHRlci1wZF9fY3VzdG9tLWNoZWNrYm94X19tYXJnaW4tcmlnaHQ6IHJlbSg0MCk7XHJcbiRuZXdzbGV0dGVyLXBkX19hZGRpdGlvbmFsX19wYWRkaW5nLXRvcDogcmVtKDMpO1xyXG4kbmV3c2xldHRlci1wZF9fY29uc2VudF9fbWFyZ2luLXRvcDogcmVtKDI1KTtcclxuXHJcbiRuZXdzbGV0dGVyLXBkX19lbWFpbC1zdWJzY3JpcHRpb25fX3BhZGRpbmctdG9wX19tZDogcmVtKDQwKTtcclxuJG5ld3NsZXR0ZXItcGRfX2ltYWdlX19taW4taGVpZ2h0X19tZDogcmVtKDU3OCk7XHJcblxyXG4kbmV3c2xldHRlci1wZF9faW1hZ2VfX3BhZGRpbmdfX3hsOiByZW0oMTE2KTtcclxuJG5ld3NsZXR0ZXItcGRfX2ltYWdlX19wYWRkaW5nLXRvcF9feGw6IHJlbSg2MCk7XHJcbiRuZXdzbGV0dGVyLXBkX19pbWFnZV9fbWFyZ2luLWJvdHRvbV9feGw6IHJlbSgxMCk7XHJcblxyXG4kbmV3c2xldHRlci1wZF9faW1hZ2VfX3BhZGRpbmdfX3h4eGw6IHJlbSgxMTApO1xyXG4kbmV3c2xldHRlci1wZF9faW1hZ2VfX21heC13aWR0aF9feHh4bDogcmVtKDU2MCk7XHJcbiRuZXdzbGV0dGVyLXBkX19pbWFnZV9fbWFyZ2luLWxlZnRfX3h4eGw6IHJlbSg5MCk7XHJcblxyXG4ubmV3c2xldHRlci1wZCB7XHJcbiAgICAuZW1haWwtc3Vic2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiBzZXQoJG5ld3NsZXR0ZXItcGRfX2VtYWlsLXN1YnNjcmlwdGlvbl9fcGFkZGluZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgLmpzLXN1YnNjcmliZS1lbWFpbC4tYmxhY2stdW5kZXJsaW5lZCxcclxuICAgIC5qcy1zdWJzY3JpYmUtZW1haWwuLXdoaXRlLXVuZGVybGluZWQge1xyXG4gICAgICAgIGZsZXg6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ3doaXRlJyk7XHJcbiAgICAgICAgY29sb3I6IHRoZW1lLWNvbG9yKCdwcmltYXJ5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgLmpzLWZvcm0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluLXRleHQge1xyXG4gICAgICAgICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJG5ld3NsZXR0ZXItcGRfX2VtYWlsLW1haW4tdGV4dF9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkbmV3c2xldHRlci1wZF9fbWFpbi1oX19tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1YnNjcmlwdGlvbi1zdWNjZXNzIHtcclxuICAgICAgICBoMSxcclxuICAgICAgICBoMixcclxuICAgICAgICBoMyxcclxuICAgICAgICBoNCxcclxuICAgICAgICBoNSxcclxuICAgICAgICBoNiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkbmV3c2xldHRlci1wZF9fc3VjY2Vzcy1oX19tYXJnaW4tYm90dG9tKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5lbWFpbC13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJG5ld3NsZXR0ZXItcGRfX2VtYWlsLXdyYXBwZXJfX21hcmdpbi1ib3R0b20pO1xyXG4gICAgfVxyXG5cclxuICAgIC5hZGRpdGlvbmFsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc2V0KCRuZXdzbGV0dGVyLXBkX19hZGRpdGlvbmFsX19wYWRkaW5nLXRvcCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmNoZWNrYm94LXdyYXBwZXIgLmN1c3RvbS1jaGVja2JveDpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IHNldCgkbmV3c2xldHRlci1wZF9fY3VzdG9tLWNoZWNrYm94X19tYXJnaW4tcmlnaHQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb25zZW50IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzZXQoJG5ld3NsZXR0ZXItcGRfX2NvbnNlbnRfX21hcmdpbi10b3ApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAubmV3c2xldHRlci1wZCB7XHJcbiAgICAgICAgLmVtYWlsLXN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNldCgkbmV3c2xldHRlci1wZF9fZW1haWwtc3Vic2NyaXB0aW9uX19wYWRkaW5nLXRvcF9fbWQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmpzLWZvcm0ge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogc2V0KCRuZXdzbGV0dGVyLXBkX19pbWFnZV9fbWluLWhlaWdodF9fbWQpO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnRuLmpzLXN1YnNjcmliZS1lbWFpbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zdWJzY3JpcHRpb24tc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgLm5ld3NsZXR0ZXItcGQge1xyXG4gICAgICAgIC5lbWFpbC1zdWJzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzZXQoJG5ld3NsZXR0ZXItcGRfX2ltYWdlX19wYWRkaW5nX194bCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc2V0KCRuZXdzbGV0dGVyLXBkX19pbWFnZV9fcGFkZGluZ19feGwpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmpzLWZvcm0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc2V0KCRuZXdzbGV0dGVyLXBkX19pbWFnZV9fcGFkZGluZy10b3BfX3hsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5lbWFpbC1zdWJzY3JpcHRpb24gLmNvbnNlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzZXQoJG5ld3NsZXR0ZXItcGRfX2ltYWdlX19tYXJnaW4tYm90dG9tX194bCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4eGwpIHtcclxuICAgIC5uZXdzbGV0dGVyLXBkIC5qcy1mb3JtIHtcclxuICAgICAgICBtYXgtd2lkdGg6IHNldCgkbmV3c2xldHRlci1wZF9faW1hZ2VfX21heC13aWR0aF9feHh4bCk7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IHNldCgkbmV3c2xldHRlci1wZF9faW1hZ2VfX3BhZGRpbmdfX3h4eGwpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzZXQoJG5ld3NsZXR0ZXItcGRfX2ltYWdlX19tYXJnaW4tbGVmdF9feHh4bCk7XHJcbiAgICB9XHJcbn1cclxuIiwiLy9cclxuLy8gIEdlbmRlciBTZWxlY3RcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJGdlbmRlci1ibG9ja19fYnV0dG9ucy1ibG9ja19fYm90dG9tOiByZW0oNDApO1xyXG4kZ2VuZGVyLWJsb2NrX19idG4td3JhcHBlcl9fbWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcclxuJGhlYWRlcl9faGVpZ2h0OiByZW0oMTA1KTtcclxuJGdlbmRlci1ibG9ja19fYnRuX19taW4td2lkdGg6IHJlbSgyODApO1xyXG5cclxuJGdlbmRlci1ibG9ja19fYnRuX19taW4td2lkdGhfX21kOiByZW0oMzIwKTtcclxuXHJcbiRoZWFkZXJfX2hlaWdodF9fbGc6IHJlbSgxMTEpO1xyXG4kZ2VuZGVyLWJsb2NrX19saW5rLXdyYXBwZXJfX21hcmdpbi1yaWdodF9fbGc6IHJlbSg0KTtcclxuXHJcblxyXG4uZ2VuZGVyLWJsb2NrIHtcclxuICAgICYge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuYnV0dG9ucy1ibG9jayB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogc2V0KCRnZW5kZXItYmxvY2tfX2J1dHRvbnMtYmxvY2tfX2JvdHRvbSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi13cmFwcGVyOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNldCgkZ2VuZGVyLWJsb2NrX19idG4td3JhcHBlcl9fbWFyZ2luLWJvdHRvbSk7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0ge1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7IG9iamVjdC1wb3NpdGlvbjogY2VudGVyIHRvcDsnO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIHRvcDtcclxuICAgIH1cclxuXHJcbiAgICAuaXRlbTpudGgtY2hpbGQoMSksXHJcbiAgICAuaXRlbTpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxpbmstd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyX19oZWlnaHR9KTtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuOm5vdCguLXdoaXRlLXVuZGVybGluZWQpOm5vdCguLWJsYWNrLXVuZGVybGluZWQpIHtcclxuICAgICAgICBtaW4td2lkdGg6IHNldCgkZ2VuZGVyLWJsb2NrX19idG5fX21pbi13aWR0aCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib2R5LXdyYXBwZXIuaXMtdHJhbnNwYXJlbnQgLmdlbmRlci1ibG9jayAubGluay13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgLmdlbmRlci1ibG9jayB7XHJcbiAgICAgICAgLmJ0bjpub3QoLi13aGl0ZS11bmRlcmxpbmVkKTpub3QoLi1ibGFjay11bmRlcmxpbmVkKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzZXQoJGdlbmRlci1ibG9ja19fYnRuX19taW4td2lkdGhfX21kKTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiBzZXQoJGdlbmRlci1ibG9ja19fYnRuX19taW4td2lkdGhfX21kKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0bi4td2hpdGUtdW5kZXJsaW5lZCxcclxuICAgICAgICAuYnRuLi1ibGFjay11bmRlcmxpbmVkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAuZ2VuZGVyLWJsb2NrIHtcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGluay13cmFwcGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyX19oZWlnaHRfX2xnfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIC5pdGVtOm5vdCg6aG92ZXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ3doaXRlJyk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pdGVtOm50aC1jaGlsZCgxKSxcclxuICAgICAgICAuaXRlbTpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5saW5rLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNldCgkZ2VuZGVyLWJsb2NrX19saW5rLXdyYXBwZXJfX21hcmdpbi1yaWdodF9fbGcpO1xyXG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pdGVtIC5idG4td3JhcHBlciB7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigkX3ZlcnRpY2FsOiBmYWxzZSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiBzZXQoJGdlbmRlci1ibG9ja19fYnV0dG9ucy1ibG9ja19fYm90dG9tKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaXRlbTpudGgtY2hpbGQoMykgLmxpbmstd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJvZHktd3JhcHBlci5pcy10cmFuc3BhcmVudCAuZ2VuZGVyLWJsb2NrIC5saW5rLXdyYXBwZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xyXG5cclxuOnJvb3Qge1xyXG4gICAgLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICoqL1xyXG5cclxuICAgIC8qKiBDcmVhdGUgQ3VzdG9tIENTUyBWYXJpYWJsZXMgZnJvbSBcInNmcmEgYm9vdHN0cmFwIG92ZXJyaWRlXCIgdmFyaWFibGVzICoqL1xyXG5cclxuICAgIC8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqKi9cclxuICAgIC0tY29sb3Itd2hpdGU6ICN7JHdoaXRlfTtcclxuICAgIC0tY29sb3ItYmxhY2s6ICN7JGJsYWNrfTtcclxuICAgIC0tY29sb3ItYmx1ZTogI3skYmx1ZX07XHJcbiAgICAtLWNvbG9yLWdyZWVuOiAjeyRncmVlbn07XHJcbiAgICAtLWNvbG9yLXByaW1hcnk6ICMwMGExZTA7XHJcbiAgICAtLWNvbG9yLXJlZDogI3skcmVkfTtcclxuICAgIC0tY29sb3Itc3VjY2VzczogdmFyKC0tY29sb3ItZ3JlZW4pO1xyXG4gICAgLS1jb2xvci1kYW5nZXI6IHZhcigtLWNvbG9yLXJlZCk7XHJcbiAgICAtLWNvbG9yLWxpZ2h0LWJsdWU6ICN7JGxpZ2h0LWJsdWV9O1xyXG5cclxuICAgIC8vIENvbnNvbGlkYXRlZCB2YWx1ZXNcclxuICAgIC0tY29sb3ItZ3JleTE6ICN7JGdyZXkxfTtcclxuICAgIC0tY29sb3ItZ3JleTI6ICN7JGdyZXkyfTtcclxuICAgIC0tY29sb3ItZ3JleTM6ICN7JGdyZXkzfTtcclxuICAgIC0tY29sb3ItZ3JleTQ6ICN7JGdyZXk0fTtcclxuICAgIC0tY29sb3ItZ3JleTU6ICN7JGdyZXk1fTtcclxuICAgIC0tY29sb3ItZ3JleTY6ICN7JGdyZXk2fTtcclxuICAgIC0tY29sb3ItZ3JleTc6ICN7JGdyZXk3fTtcclxuICAgIC0tY29sb3ItZ3JleTg6ICN7JGdyZXk4fTtcclxuICAgIC0tY29sb3ItZ3JleS10cmFuc3BhcmVudC0xOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xyXG4gICAgLS1jb2xvci1ncmV5LXRyYW5zcGFyZW50LTI6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcbiAgICAtLWNvbG9yLWxpZ2h0LWdyYXk6IHZhcigtLWNvbG9yLWdyZXkxKTtcclxuICAgIC0tY29sb3Itc2xpZ2h0bHktZGFya2VyLWdyYXk6IHZhcigtLWNvbG9yLWdyZXk0KTtcclxuICAgIC0tY29sb3ItZGFyay1ncmF5OiB2YXIoLS1jb2xvci1ncmV5Nik7XHJcbiAgICAtLWNvbG9yLWRhcmtlci1ncmF5OiB2YXIoLS1jb2xvci1ncmV5Nyk7XHJcbiAgICAtLWNvbG9yLWhvcml6b250YWwtcnVsZS1ncmV5OiB2YXIoLS1jb2xvci1ncmV5Myk7XHJcbiAgICAtLWNvbG9yLXByb2R1Y3QtbnVtYmVyLWdyZXk6IHZhcigtLWNvbG9yLWdyZXkzKTtcclxuICAgIC0tY29sb3ItaG9yaXpvbnRhbC1ib3JkZXItZ3JleTogdmFyKC0tY29sb3ItZ3JleTQpO1xyXG4gICAgLS1jb2xvci1tZW51LWxpbms6IHZhcigtLWNvbG9yLWdyZXk2KTtcclxuICAgIC0tY29sb3ItY2xvc2UtbWVudS1iZzogdmFyKC0tY29sb3ItZ3JleTIpO1xyXG4gICAgLS1jb2xvci1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xyXG4gICAgLS1jb2xvci1oci1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZXkzKTtcclxuXHJcbiAgICAvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKiovXHJcblxyXG4gICAgLyoqIERlZmluZSBza2luIG5hbWVkIHZhcmlhYmxlcyBoZXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiovXHJcblxyXG4gICAgLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICoqL1xyXG4gICAgLS1za2luLWJhY2tncm91bmQtY29sb3ItMTogdmFyKC0tY29sb3ItZ3JheTEpO1xyXG4gICAgLS1za2luLWJvcmRlci1jb2xvci0xOiB2YXIoLS1jb2xvci13aGl0ZSk7XHJcbiAgICAtLXNraW4tbWFpbi10ZXh0LWNvbG9yLTE6IHZhcigtLWNvbG9yLWdyYXk3KTtcclxuICAgIC0tc2tpbi1tYWluLXRleHQtY29sb3ItMjogdmFyKC0tY29sb3ItZ3JheTcpO1xyXG4gICAgLS1za2luLW1lbnUtY29sb3ItMTogIzQ0NDtcclxuICAgIC0tc2tpbi1tZW51LWNvbG9yLTEtaW52ZXJ0OiB2YXIoLS1jb2xvci13aGl0ZSk7XHJcbiAgICAtLXNraW4tbWVudS1jb2xvci0yOiAjMjIyO1xyXG4gICAgLS1za2luLWxpbmstY29sb3ItMTogIzQ0NDtcclxuICAgIC0tc2tpbi1saW5rLWNvbG9yLTI6IHZhcigtLWNvbG9yLWJsdWUpO1xyXG4gICAgLS1za2luLXByaW1hcnktY29sb3ItMTogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICAtLXNraW4tcHJpbWFyeS1jb2xvci0yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICAgIC0tc2tpbi1wcmltYXJ5LWNvbG9yLWludmVydC0xOiB2YXIoLS1jb2xvci13aGl0ZSk7XHJcbiAgICAtLXNraW4tc2VsZWN0Ym94LWJhY2tncm91bmQtY29sb3ItMTogdmFyKC0tY29sb3Itd2hpdGUpO1xyXG4gICAgLS1za2luLXNlbGVjdGJveC10ZXh0LWNvbG9yLTE6IHZhcigtLXNraW4tbWFpbi10ZXh0LWNvbG9yLTEpO1xyXG4gICAgLS1za2luLWJhbm5lci1iYWNrZ3JvdW5kLWNvbG9yLTE6ICM0NDQ7XHJcbiAgICAtLXNraW4tYmFubmVyLWJhY2tncm91bmQtY29sb3ItMjogIzIyMjtcclxuICAgIC0tc2tpbi1iYW5uZXItdGV4dC1jb2xvci0xOiB2YXIoLS1jb2xvci13aGl0ZSk7XHJcbiAgICAtLXNraW4taGVhZGluZy1jb2xvci0xOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICAgIC0tc2tpbi1oZWFkaW5nLWNvbG9yLTEtaW52ZXJ0OiB2YXIoLS1jb2xvci13aGl0ZSk7XHJcbiAgICAtLXNraW4tcHJpY2UtMTogdmFyKC0tY29sb3ItZ3JheTcpO1xyXG4gICAgLS1za2luLWhlYWRlci1mb250OiAnRG9zaXMnO1xyXG4gICAgLS1za2luLWJvZHktZm9udDogdmFyKC0tZm9udC1mYW1pbHktc2Fucy1zZXJpZik7XHJcbn1cclxuIiwiJHB1bGw6IGxlZnQsIHJpZ2h0O1xyXG5cclxuQG1peGluIG1lZGlhKCRzaXplKSB7XHJcblxyXG4gICAgQGlmICRzaXplID09IHhzIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkc2l6ZSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRzaXplKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGVhY2ggJHNpemUgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkc2l6ZSkge1xyXG5cclxuICAgICAgICBAZWFjaCAkc2lkZSBpbiAkcHVsbCB7XHJcbiAgICAgICAgICAgIC5wdWxsLSN7JHNpZGV9LSN7JHNpemV9IHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiAkc2lkZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQGVhY2ggJGJwIGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAuaGlkZGVuLSN7JGJwfS1kb3duIHtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucm93LmVxdWFsLWhlaWdodCA+IFtjbGFzc149XCJjb2xcIl0ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG4iLCIuZmxhZy1pY29uLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmZsYWctaWNvbiB7XG4gIEBleHRlbmQgLmZsYWctaWNvbi1iYWNrZ3JvdW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICg0IC8gMykgKiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgfVxuICAmLmZsYWctaWNvbi1zcXVhcmVkIHtcbiAgICB3aWR0aDogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBmbGFnLWljb24oJGNvdW50cnkpIHtcbiAgLmZsYWctaWNvbi0jeyRjb3VudHJ5fSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGZsYWctaWNvbi1jc3MtcGF0aH0jeyRmbGFnLWljb24tcmVjdC1wYXRofS8jeyRjb3VudHJ5fS5zdmcpO1xuICAgICYuZmxhZy1pY29uLXNxdWFyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGZsYWctaWNvbi1jc3MtcGF0aH0jeyRmbGFnLWljb24tc3F1YXJlLXBhdGh9LyN7JGNvdW50cnl9LnN2Zyk7XG4gICAgfVxuICB9XG59XG4iLCIudmVpbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgLnVuZGVybGF5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbiRzcGlubmVyLXNpemU6IDgwcHg7XHJcblxyXG4uc3Bpbm5lciB7XHJcbiAgICB3aWR0aDogJHNwaW5uZXItc2l6ZTtcclxuICAgIGhlaWdodDogJHNwaW5uZXItc2l6ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGFuaW1hdGlvbjogc2stcm90YXRlIDJzIGluZmluaXRlIGxpbmVhcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogJHNwaW5uZXItc2l6ZSAvIDIgKiAtMTtcclxuICAgIG1hcmdpbi1sZWZ0OiAkc3Bpbm5lci1zaXplIC8gMiAqIC0xO1xyXG59XHJcblxyXG4uZG90MSxcclxuLmRvdDIge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIGhlaWdodDogNjAlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIGFuaW1hdGlvbjogc2stYm91bmNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uZG90MiB7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xcztcclxufVxyXG5cclxuQGtleWZyYW1lcyBzay1yb3RhdGUge1xyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzay1ib3VuY2Uge1xyXG4gICAgMCUsXHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcbiIsIi5ub3RpZnkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Njc3MvbWl4aW5zL2JyZWFrcG9pbnRzXCI7XHJcblxyXG4uZm9ybS1uYXYgLm5hdi10YWJzIC5uYXYtbGluayB7XHJcbiAgICBjb2xvcjogJGdyZXk4O1xyXG59XHJcblxyXG4uZm9ybS1uYXYgLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmUsXHJcbi5mb3JtLW5hdiAubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cyxcclxuLmZvcm0tbmF2IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIGNvbG9yOiAkZ3JleTg7XHJcbn1cclxuXHJcbi5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAuZm9ybS1uYXYgLm5hdi1pdGVtID4gLm5hdi1saW5rIHtcclxuICAgICAgICBjb2xvcjogJGdyZXk4O1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcclxuXHJcbi8vIGZvbnQtYXdlc29tZSBmb250IGZpbGUgbG9jYXRpb25zIGluIHJlbGF0aW9uIHRvIHRhcmdldCBsb2NhdGlvbiBvZiB0aGUgY3NzIGZpbGUuXHJcbiRmYS1mb250LXBhdGg6IFwiLi4vZm9udHNcIiAhZGVmYXVsdDtcclxuXHJcbi8vIGZsYWcgaWNvbnMgbG9jYXRpb24gaW4gcmVsYXRpb24gdG8gdGFyZ2V0IGxvY2F0aW9uIG9mIHRoZSBjc3MgZmlsZS5cclxuJGZsYWctaWNvbi1jc3MtcGF0aDogXCIuLi9mb250cy9mbGFncy9cIiAhZGVmYXVsdDtcclxuXHJcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xyXG4kYmx1ZTogIzAwNzBkMiAhZGVmYXVsdDtcclxuJGdyZWVuOiAjMDA4ODI3ICFkZWZhdWx0O1xyXG4vLyBwcmltYXJ5IGlzIHJlcGxhY2VkIGJ5IGNzcyB2YXJpYWJsZSAtLXNraW4tcHJpbWFyeS1jb2xvci0xXHJcbiRwcmltYXJ5OiAjMDBhMWUwICFkZWZhdWx0O1xyXG4kcmVkOiAjYzAwICFkZWZhdWx0O1xyXG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0O1xyXG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0O1xyXG4kbGlnaHQtYmx1ZTogIzdlZDBlZSAhZGVmYXVsdDtcclxuXHJcbi8vIENvbnNvbGlkYXRlZCB2YWx1ZXNcclxuJGdyZXkxOiAjZjlmOWY5ICFkZWZhdWx0O1xyXG4kZ3JleTI6ICNlZWUgIWRlZmF1bHQ7XHJcbiRncmV5MzogI2NjYyAhZGVmYXVsdDtcclxuJGdyZXk0OiAjOTk5ICFkZWZhdWx0O1xyXG4kZ3JleTU6ICM2NjYgIWRlZmF1bHQ7XHJcbiRncmV5NjogIzQ0NCAhZGVmYXVsdDtcclxuJGdyZXk3OiAjMjIyICFkZWZhdWx0O1xyXG4kZ3JleTg6ICMzMzMgIWRlZmF1bHQ7XHJcbiRncmV5LXRyYW5zcGFyZW50LTE6IHJnYmEoMCwgMCwgMCwgMC42NSkgIWRlZmF1bHQ7XHJcbiRncmV5LXRyYW5zcGFyZW50LTI6IHJnYmEoMCwgMCwgMCwgMC4yNSkgIWRlZmF1bHQ7XHJcblxyXG4kbGlnaHQtZ3JheTogJGdyZXkxICFkZWZhdWx0O1xyXG4kc2xpZ2h0bHktZGFya2VyLWdyYXk6ICRncmV5NCAhZGVmYXVsdDtcclxuJGRhcmstZ3JheTogJGdyZXk2ICFkZWZhdWx0O1xyXG4kZGFya2VyLWdyYXk6ICRncmV5NyAhZGVmYXVsdDtcclxuJGhvcml6b250YWwtcnVsZS1ncmV5OiAkZ3JleTMgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW51bWJlci1ncmV5OiAkZ3JleTMgIWRlZmF1bHQ7XHJcbiRob3Jpem9udGFsLWJvcmRlci1ncmV5OiAkZ3JleTQgIWRlZmF1bHQ7XHJcbiRtZW51LWxpbms6ICRncmV5NiAhZGVmYXVsdDtcclxuJGNsb3NlLW1lbnUtYmc6ICRncmV5MiAhZGVmYXVsdDtcclxuJGxpbmstY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XHJcbiRoci1ib3JkZXItY29sb3I6ICRncmV5MyAhZGVmYXVsdDtcclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgICB4czogMCxcclxuICAgIHNtOiA1NDRweCxcclxuICAgIG1kOiA3NjlweCxcclxuICAgIGxnOiA5OTJweCxcclxuICAgIHhsOiAxMjAwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxyXG4gICAgbWQ6IDcyMHB4LFxyXG4gICAgbGc6IDk0MHB4LFxyXG4gICAgeGw6IDExNDBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtbGc6ICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1zbTogJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XHJcblxyXG4kc3RhdGUtZGFuZ2VyLXRleHQ6ICNmZmYgIWRlZmF1bHQ7XHJcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICNmZmYgIWRlZmF1bHQ7XHJcblxyXG4vLyBGb250IHNpemVzXHJcbiRiYXNlMTYtMTRweDogMC44NzVlbSAhZGVmYXVsdDtcclxuXHJcbi8vIEJvb3RzdHJhcCBvdmVycmlkZXNcclxuJGJvZHktYmc6ICRncmV5MSAhZGVmYXVsdDtcclxuJGNhcmQtY2FwLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4vLyBUYWJzXHJcbiRuYXYtdGFicy1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gYnJlYWRjcnVtYlxyXG4kYnJlYWRjcnVtYi1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyB0YWJsZSBib3JkZXJcclxuJHRhYmxlLWJvcmRlci1jb2xvcjogJGdyZXkzICFkZWZhdWx0O1xyXG5cclxuJHN2Zy1jaGVjazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nJTIzZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM0UlM0Mvc3ZnJTNFXCIpICFkZWZhdWx0O1xyXG4iLCIkYXJyb3ctaGVpZ2h0OiAxLjI1ZW07IC8qIDIwLzE2ICovXHJcblxyXG4uaW5mby1pY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICN7dmFyKC0tc2tpbi1wcmltYXJ5LWNvbG9yLTEpfTtcclxuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAudG9vbHRpcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwLjMxMnJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTY7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBmb250LXNpemU6IDAuOTI4cmVtO1xyXG4gICAgICAgIG1pbi13aWR0aDogMjByZW07XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNXJlbTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtJGFycm93LWhlaWdodC8yKTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcclxuICAgICAgICBhbmltYXRpb246IGZhZGUtaW4gMC41cyBsaW5lYXIgZm9yd2FyZHM7XHJcblxyXG4gICAgICAgIEBrZXlmcmFtZXMgZmFkZS1pbiB7XHJcbiAgICAgICAgICAgIDAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgICAgICAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGFycm93LWhlaWdodDsgLyogMjAvMTYgKi9cclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtJGFycm93LWhlaWdodDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCB0cmFuc3BhcmVudCAkYXJyb3ctaGVpZ2h0LzI7IC8qIDEwLzE2ICovXHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogc29saWQgdHJhbnNwYXJlbnQgJGFycm93LWhlaWdodC8yOyAvKiAxMC8xNiAqL1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAkZ3JleTYgJGFycm93LWhlaWdodC8yO1xyXG4gICAgICAgICAgICBib3R0b206IC0kYXJyb3ctaGVpZ2h0LzI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvL1xyXG4vLyAgUGFnZSBkZXNpZ25lciBzdHlsZXNcclxuLy8gIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1xyXG5cclxuJHRyYW5zcGFyZW50X19tYWluY29udGVudF9fbWFyZ2luLXRvcDogcmVtKC0xMTEpO1xyXG5cclxuJHRyYW5zcGFyZW50X19zZWFyY2gtZmllbGRfX2JhY2tncm91bmQtY29sb3I6IHJnYmEoMTcwLCAxNzAsIDE3MCwgMC42KTtcclxuJHRyYW5zcGFyZW50LWJsYWNrX19zZWFyY2gtZmllbGRfX2JhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LCAyNDQsIDI0NCwgMC42KTtcclxuJHRyYW5zcGFyZW50LXdoaXRlX19wbGFjZWhvbGRlcl9fY29sb3I6IGdyYXkoMzAwKTtcclxuXHJcbi8vIFN0eWxlcyBmb3IgdHJhbnNwYXJlbnQgZWZmZWN0XHJcblxyXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xyXG4uaXMtbWItdHJhbnNwYXJlbnQge1xyXG4gICAgJi5ib2R5LXdyYXBwZXIgLnN0aWNreS1oZWFkZXIuLWZpeGVkIHtcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ3doaXRlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zdGlja3ktaGVhZGVyOm5vdCguLWZpeGVkKTpub3QoLi1ob3ZlcmVkKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5oZWFkZXItbWItd2hpdGUgLnN0aWNreS1oZWFkZXI6bm90KC4tZml4ZWQpOm5vdCguLWhvdmVyZWQpIHtcclxuICAgICAgICAuaGVhZGVyIC5pY29uLFxyXG4gICAgICAgIC5zZWFyY2gtbW9iaWxlIC5pY29uIHtcclxuICAgICAgICAgICAgZmlsbDogY29sb3IoJ3doaXRlJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0KCR0cmFuc3BhcmVudF9fc2VhcmNoLWZpZWxkX19iYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sb2dvLi1ibGFjayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubG9nby4td2hpdGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlYXJjaC1maWVsZDo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogc2V0KCR0cmFuc3BhcmVudC13aGl0ZV9fcGxhY2Vob2xkZXJfX2NvbG9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5taW5pY2FydC1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xyXG4gICAgICAgICAgICBjb2xvcjogdGhlbWUtY29sb3IoJ3ByaW1hcnknKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5oZWFkZXItbWItYmxhY2sgLnN0aWNreS1oZWFkZXI6bm90KC4tZml4ZWQpOm5vdCguLWhvdmVyZWQpIHtcclxuICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0KCR0cmFuc3BhcmVudC1ibGFja19fc2VhcmNoLWZpZWxkX19iYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW5jb250ZW50IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzZXQoJHRyYW5zcGFyZW50X19tYWluY29udGVudF9fbWFyZ2luLXRvcCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb3Vwb24tdGV4dC1wZCB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5jb3Vwb24tdGV4dC1wZCA+IHAge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4uaW1hZ2UtZ3JhZGllbnQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMzJTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgzNjBkZWcsICMwMDAgLTQwJSwgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcclxufVxyXG5cclxuLmJ1dHRvbnMtd3JhcHBlciB7XHJcbiAgICAmIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4td3JhcHBlciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bi13cmFwcGVyLmF1dG93aWR0aCB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLmNlbnRlciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnV0dG9ucy13cmFwcGVyIHtcclxuICAgICYuLWhvcml6b250YWwgLmJ0bi13cmFwcGVyOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLi1ob3Jpem9udGFsIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG5cclxuICAgICYuLWhvcml6b250YWwgLmJ0bi13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLi1ob3Jpem9udGFsLmNlbnRlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZWNyZWFzZWQtbWFyZ2luIHtcclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyxcclxuICAgIGg0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNSkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnRleHQtaW5jcmVhc2VkIHtcclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyxcclxuICAgIGg0IHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSg0OCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzQpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGg0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxOCkgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmN1c3RvbS1mb250c2l6ZXMge1xyXG4gICAgaDE6bm90KC5pdGVtKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzOCk7XHJcbiAgICB9XHJcblxyXG4gICAgaDI6bm90KC5pdGVtKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgyMik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMyk7XHJcbiAgICB9XHJcblxyXG4gICAgaDM6bm90KC5pdGVtKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcDpub3QoLml0ZW0pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb3Vwb24tdGV4dC1wZCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xyXG4gICAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAudGV4dC1pbmNyZWFzZWQge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oOTApICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDYwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0OCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzQpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jdXN0b20tZm9udHNpemVzIHtcclxuICAgICAgICBoMTpub3QoLml0ZW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDQ2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyOm5vdCguaXRlbSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDM6bm90KC5pdGVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwOm5vdCguaXRlbSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIC50ZXh0LWNlbnRlci4tZ3JhZGllbnQsXHJcbiAgICAuaW1hZ2UtZ3JhZGllbnQuY2VudGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA1MCUgNTAlLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkgODIlKTtcclxuICAgIH1cclxuXHJcbiAgICAuLWdyYWRpZW50LFxyXG4gICAgLnRleHQtbGVmdC4tZ3JhZGllbnQsXHJcbiAgICAuaW1hZ2UtZ3JhZGllbnQubGVmdCB7XHJcbiAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmxheW91dCAucm93IHtcclxuICAgICYubm8tZ3V0dGVycyB7XHJcbiAgICAgICAgPiAuY29sLFxyXG4gICAgICAgID4gW2NsYXNzKj0nY29sLSddIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5leHBlcmllbmNlLWNvbXBvbmVudCBhOm5vdCguYnRuKSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxuLnN0b3JlcGFnZTpub3QoLnBscCkge1xyXG4gICAgLmV4cGVyaWVuY2UtY29tcG9uZW50OmZpcnN0LWNoaWxkID4gLmNvbnRhaW5lcixcclxuICAgIC5leHBlcmllbmNlLWNvbXBvbmVudDpmaXJzdC1jaGlsZCA+IC5jb250YWluZXItZmx1aWQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgLmlzLW1iLXRyYW5zcGFyZW50Om5vdCguaXMtZHNrLXRyYW5zcGFyZW50KSB7XHJcbiAgICAgICAgLnN0aWNreS1oZWFkZXI6bm90KC4tZml4ZWQpOm5vdCguLWhvdmVyZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY29sb3IoJ3doaXRlJyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW5jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXIgLmxvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5oZWFkZXIgLmxvZ28uLXdoaXRlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlYXJjaC1maWVsZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXkoMjAwKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmhlYWRlciAuaWNvbiB7XHJcbiAgICAgICAgICAgIGZpbGw6IHRoZW1lLWNvbG9yKCdwcmltYXJ5JykgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWRzay10cmFuc3BhcmVudCB7XHJcbiAgICAgICAgLnN0aWNreS1oZWFkZXI6bm90KC4tZml4ZWQpOm5vdCguLWhvdmVyZWQpIHtcclxuICAgICAgICAgICAgLm1haW4tbWVudSxcclxuICAgICAgICAgICAgLm5hdmJhciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5oZWFkZXItZHNrLXdoaXRlIC5zdGlja3ktaGVhZGVyOm5vdCguLWZpeGVkKTpub3QoLi1ob3ZlcmVkKSB7XHJcbiAgICAgICAgICAgIC5nZW5kZXItbGlua3Mtd3JhcHBlciAubWVudS1saW5rIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBncmF5KDMwMCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5nZW5kZXItbGlua3Mtd3JhcHBlciAubWFpbi1uYXYtaXRlbS5hY3RpdmUgLm1lbnUtbGluayxcclxuICAgICAgICAgICAgLm1haW4tbWVudSAubWVudS1saW5rLFxyXG4gICAgICAgICAgICAubWFpbi1tZW51IC5tZW51LWxpbmsgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IoJ3doaXRlJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmlzLWRzay10cmFuc3BhcmVudCB7XHJcbiAgICAgICAgJi5ib2R5LXdyYXBwZXIgLnN0aWNreS1oZWFkZXIuLWZpeGVkIHtcclxuICAgICAgICAgICAgJiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignd2hpdGUnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnN0aWNreS1oZWFkZXI6bm90KC4tZml4ZWQpOm5vdCguLWhvdmVyZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5oZWFkZXItZHNrLXdoaXRlIC5zdGlja3ktaGVhZGVyOm5vdCguLWZpeGVkKTpub3QoLi1ob3ZlcmVkKSB7XHJcbiAgICAgICAgICAgIC5oZWFkZXIgLmljb24sXHJcbiAgICAgICAgICAgIC5zZWFyY2gtbW9iaWxlIC5pY29uIHtcclxuICAgICAgICAgICAgICAgIGZpbGw6IGNvbG9yKCd3aGl0ZScpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldCgkdHJhbnNwYXJlbnRfX3NlYXJjaC1maWVsZF9fYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5sb2dvLi1ibGFjayB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubG9nby4td2hpdGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2VhcmNoLWZpZWxkIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvcignd2hpdGUnKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnNlYXJjaC1maWVsZDo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHNldCgkdHJhbnNwYXJlbnQtd2hpdGVfX3BsYWNlaG9sZGVyX19jb2xvcik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5taW5pY2FydC1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcignd2hpdGUnKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGVtZS1jb2xvcigncHJpbWFyeScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmhlYWRlci1kc2stYmxhY2sgLnN0aWNreS1oZWFkZXI6bm90KC4tZml4ZWQpOm5vdCguLWhvdmVyZWQpIHtcclxuICAgICAgICAgICAgLnNlYXJjaC1maWVsZCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXQoJHRyYW5zcGFyZW50LWJsYWNrX19zZWFyY2gtZmllbGRfX2JhY2tncm91bmQtY29sb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFpbmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBzZXQoJHRyYW5zcGFyZW50X19tYWluY29udGVudF9fbWFyZ2luLXRvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXHJcbiJdLCJzb3VyY2VSb290IjoiIn0=*/