/* Do not remove this comments bellow. It's the markers used by wiredep to inject
   sass dependencies when defined in the bower.json of your dependencies */
* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box; }

html,
body {
  font-family: Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 0;
  border: 0;
  height: 100%; }

.is-overlay-open body {
  overflow: hidden; }

.underline,
.underline-phone {
  text-decoration: underline; }

html {
  overflow-y: scroll;
  /**
     * Not sure why 'overflow-y: scroll' is set to begin with, but it gets in the way of modal 
     * bg page content scroll prevention, so (to be safe) we'll override it only when modal is visible
     */ }
  html.is-overlay-open {
    overflow-y: initial; }

/* Resets  */
a,
visited a {
  text-decoration: underline;
  cursor: pointer;
  color: inherit;
  outline: 0; }

a {
  text-decoration: none; }

section {
  position: relative;
  margin: 0 auto;
  text-align: left;
  padding-left: 8px;
  padding-right: 8px; }

.std-wrap {
  position: relative;
  display: block;
  width: 100%; }

.spacer {
  width: 100%;
  display: block;
  margin: 4px 0;
  border-bottom: 1px solid #ddd; }

.hidden {
  display: none; }

.flex {
  display: -ms-flexbox;
  display: flex; }

.width-auto {
  width: auto; }

ul {
  padding: 0;
  list-style: none; }
  ul li {
    font-size: 16px;
    margin: 4px 0; }

@media only screen and (min-width: 768px) {
  section {
    width: 760px; } }

/* Do not remove this comments bellow. It's the markers used by gulp-inject to inject
   all your sass files automatically */
.session-timeout-wrap {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  border-radius: 4px;
  border: 1px solid;
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 1px;
  padding: 10px 20px;
  opacity: 0;
  transition: all .4s ease-in-out;
  transform: translateY(5px);
  pointer-events: none; }
  .session-timeout-wrap.session-timeout-wrap-active {
    opacity: 1;
    transform: translateY(0); }

.guestList h2 {
  font-size: 18px;
  margin: 20px 0 0 0; }
  @media only screen and (min-width: 768px) {
    .guestList h2 {
      margin: 10px 0 0 0; } }

.guestList--main ul {
  margin: 0 0 30px 0; }
  @media only screen and (min-width: 768px) {
    .guestList--main ul {
      margin: 0 0 20px 0; } }

.guestList--main p {
  margin: 0 0 30px 0; }
  @media only screen and (min-width: 768px) {
    .guestList--main p {
      margin: 0 0 20px 0; } }

.guestList--submit-btn {
  width: 170px !important; }
  .guestList--submit-btn[disabled] {
    opacity: 0.6;
    cursor: default; }

.guestList--submit-btn-wrap {
  margin-top: 10px;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center; }

.guestList--footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
      justify-content: flex-end; }

.guestList--loader.loader {
  position: absolute;
  z-index: 30;
  border-color: rgba(255, 255, 255, 0.5);
  border-left-color: #FFF;
  border-width: 6px;
  width: 29px;
  height: 29px; }

.guestList--error-txt {
  margin-top: 7px; }

.guestList--error-txt-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: end;
      align-items: flex-end; }

.btn-accent,
.btn-small,
button.btn,
button[type='submit'] {
  display: inline-block;
  padding: 8px 22px;
  width: auto;
  border-radius: 4px;
  transition: color 0.5s ease;
  transition: box-shadow 0.5s ease;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 0.2s;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
  cursor: pointer;
  text-decoration: none; }

button[type='submit'] {
  font-size: 16px;
  float: left;
  height: 40px; }

.btn-accent:hover {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26); }

main a.btn-small {
  font-size: 14px;
  height: auto;
  padding: 10px;
  line-height: 1; }

ul.time-wrap {
  counter-reset: lis;
  padding: 0;
  margin-top: 8px;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  margin-bottom: 16px; }
  ul.time-wrap li {
    margin: 0;
    width: 33.333334%;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    float: left;
    font-size: 16px;
    display: block; }
    ul.time-wrap li.columnCount4 {
      width: 25%; }
    ul.time-wrap li.columnCount5 {
      width: 20%; }
    ul.time-wrap li a {
      width: 100%;
      padding: 0;
      background: #fff;
      font-weight: 400;
      line-height: 26px;
      display: block;
      text-align: center;
      position: relative;
      height: 42px;
      text-decoration: none;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      text-align: center;
      line-height: 1.18; }
      ul.time-wrap li a span {
        display: block;
        font-size: 12px; }
    ul.time-wrap li a:hover {
      background: #fafafa; }
    ul.time-wrap li a.selected {
      background: #A91164;
      color: #fff;
      border-radius: none; }
    ul.time-wrap li a.inactive {
      opacity: .2;
      pointer-events: none; }
  ul.time-wrap li::after {
    counter-increment: lis;
    content: counter(lis, decimal);
    display: none; }

#payments-details-wrap .button-wrap a, #payments-details-wrap button[type='submit'],
#payment-summary-wrap .button-wrap a,
#payment-summary-wrap button[type='submit'] {
  float: right;
  margin-right: 0;
  width: 48%; }

#payments-details-wrap .button-wrap .btn-back,
#payment-summary-wrap .button-wrap .btn-back {
  float: left; }

.btn-row {
  margin-top: 12px; }
  .btn-row a {
    width: auto !important;
    margin-top: 12px; }
  .btn-row a:first-child {
    margin-right: 8px; }

@media only screen and (min-width: 768px) {
  #payments-details-wrap .button-wrap a, #payments-details-wrap button[type='submit'],
  #payment-summary-wrap .button-wrap a,
  #payment-summary-wrap button[type='submit'] {
    float: right;
    margin-right: 0;
    width: auto;
    min-width: 156px; }
  #payments-details-wrap .button-wrap .btn-cancel,
  #payment-summary-wrap .button-wrap .btn-cancel {
    margin-right: 16px; }
  #payments-details-wrap .button-wrap .btn-back,
  #payment-summary-wrap .button-wrap .btn-back {
    float: left; }
  .btn-row {
    margin-top: 12px; }
    .btn-row a {
      margin-left: 12px; }
    .btn-row a:first-child {
      margin-left: 0;
      margin-right: 0; } }

.mdl-card {
  width: 100%; }
  .mdl-card h1 {
    margin-top: 30px; }
  .mdl-card p {
    margin-bottom: 16px; }
  .mdl-card ul li {
    font-size: 16px;
    margin: 0; }
    .mdl-card ul li a {
      display: block;
      width: 100%;
      padding: 8px 0;
      transition: color 0.5s ease;
      transition: background-color 0.5s ease;
      font-weight: 400; }

.mdl-checkbox {
  height: auto; }

.mdl-checkbox__label a:hover {
  text-decoration: underline; }

@media screen and (max-width: 767px) {
  .mdl-checkbox__label a {
    text-decoration: underline; } }

/* ========= clearfix  ========= */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

.clearfix {
  display: inline-block; }

* html .clearfix {
  height: 1%; }

.clearfix {
  display: block;
  width: 100%; }

/************************************************************************************************/
.date-picker-date-time {
  position: relative; }

[date-picker] span.disabled {
  opacity: 0; }

[date-picker] th[ng-click="next()"],
[date-picker] th[ng-click="prev()"] {
  font-size: 20px; }

[date-picker-wrapper] {
  position: relative;
  min-width: 220px;
  z-index: 10;
  display: block;
  font-size: 14px; }

[date-range] [date-picker] .after.before {
  opacity: 0 !important; }

[date-range] [date-picker] .after.before:hover,
[date-range] [date-picker] .after.before:active,
[date-range] [date-picker] .after.before.active,
[date-range] [date-picker] .after.before.disabled,
[date-range] [date-picker] .after.before[disabled] {
  color: #ffffff;
  background-color: #2f6ab4;
  *background-color: #2a5ea0; }

[date-range] [date-picker] .after.before:active,
[date-range] [date-picker] .after.before.active {
  background-color: #24528c \9; }

[date-picker].hidden {
  display: none; }

[date-picker] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  border-radius: 4px;
  background-color: #fff;
  /* GENERAL */
  padding: 4px;
  /* SPECIFIC */ }

[date-picker] table {
  margin: 0; }

/* Header bars */
[date-picker] td,
[date-picker] th {
  text-align: center;
  width: 20px;
  height: 46px;
  border: none; }

[date-picker] .switch {
  width: 145px; }

[date-picker] span {
  display: block;
  width: 23%;
  height: 26px;
  line-height: 25px;
  float: left;
  margin: 1%;
  cursor: pointer; }

[date-picker] span:hover {
  /* background: #eeeeee; */ }

/* Disabled  */
[date-picker] .disabled {
  background: none;
  cursor: default;
  pointer-events: none;
  box-shadow: none !important;
  text-shadow: none !important; }

[date-picker] [ng-switch-when="year"] span,
[date-picker] [ng-switch-when="month"] span,
[date-picker] [ng-switch-when="minutes"] span {
  height: 54px;
  line-height: 54px; }

[date-picker] [ng-switch-when="date"] td {
  padding: 0; }

[date-picker] [ng-switch-when="date"] span {
  width: 46px;
  height: 46px;
  line-height: 46px; }

[date-picker] [ng-switch-when="date"] td span {
  transition: box-shadow 1s; }

[date-picker] td span:hover {
  /* background: #f9f9f9; */
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
  cursor: pointer; }

/************************************************************************************************/
#date-picker-wrap {
  text-align: center; }
  #date-picker-wrap [date-picker] {
    padding: none;
    margin: auto;
    position: relative;
    display: inline-block; }
    #date-picker-wrap [date-picker] .now {
      background-image: none;
      background-color: #fff;
      color: #212121;
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); }
    #date-picker-wrap [date-picker] .active,
    #date-picker-wrap [date-picker] .active:hover {
      color: #fff;
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2); }
    #date-picker-wrap [date-picker] [date-picker] [date-picker] [ng-switch-when="date"] span {
      transition: background-color 0.5s ease; }
    #date-picker-wrap [date-picker] span {
      margin: 1%;
      border-radius: 50%; }
    #date-picker-wrap [date-picker] [ng-switch-when="date"] span {
      width: 38px;
      height: 38px;
      line-height: 38px; }
  #date-picker-wrap [date-range] [date-picker] .after.before:hover,
  #date-picker-wrap [date-range] [date-picker] .after.before:active,
  #date-picker-wrap [date-range] [date-picker] .after.before.active,
  #date-picker-wrap [date-range] [date-picker] .after.before.disabled,
  #date-picker-wrap [date-range] [date-picker] .after.before[disabled] {
    color: #ffffff; }

#date-picker-wrap {
  width: 100%;
  text-align: center; }
  #date-picker-wrap [date-picker] {
    width: 100%; }
    #date-picker-wrap [date-picker] table {
      margin: auto; }

@media only screen and (min-width: 370px) {
  #date-picker-wrap {
    /* Addditional Styles */ }
    #date-picker-wrap [date-picker] {
      width: auto; }
      #date-picker-wrap [date-picker] [ng-switch-when="date"] span {
        width: 46px;
        height: 46px;
        line-height: 46px; }
    #date-picker-wrap .day-range {
      color: #c1c1c1;
      font-weight: 300;
      pointer-events: none; }
    #date-picker-wrap .arrow {
      font-size: 22px;
      color: #3e3e3e;
      border-radius: 50%; }
    #date-picker-wrap .month {
      color: #3e3e3e;
      pointer-events: none; } }

@media only screen and (max-width: 767px) {
  #date-picker-wrap {
    width: 100%; }
    #date-picker-wrap [date-picker] {
      box-shadow: none;
      background-color: transparent !important;
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } }

@media only screen and (min-width: 768px) {
  #date-picker-wrap {
    text-align: left;
    margin-top: 16px;
    width: auto;
    /* Addditional Styles */ }
    #date-picker-wrap [date-picker] {
      padding: 8px;
      box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }
      #date-picker-wrap [date-picker] table {
        margin: 6px; }
      #date-picker-wrap [date-picker] th:hover {
        background: #fafafa; } }

.widget-dots {
  position: relative;
  display: block;
  width: 100%;
  text-align: center;
  margin: 0;
  left: 0;
  height: 40px; }
  .widget-dots a.tab {
    width: 40px;
    display: inline-block;
    margin: auto; }
  .widget-dots a.tab:after {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    margin-top: 15px; }

@media only screen and (min-width: 768px) {
  .widget-dots {
    display: none; } }

.radio-wrap {
  padding: 4px;
  margin-top: 4px;
  margin-bottom: 6px; }
  .radio-wrap .wd-33-sm {
    margin-bottom: 6px;
    word-break: break-word; }

input[type='month'] {
  font-family: inherit; }

.error-txt {
  font-size: 12px; }

.error-wrap {
  padding: 8px;
  width: 100%;
  margin: 8px; }
  .error-wrap p {
    font-size: 14px;
    letter-spacing: 0;
    margin: 8px; }

.error-relative {
  position: relative;
  font-size: 12px;
  height: 22px; }

.error-block {
  height: 32px;
  display: block;
  position: relative; }
  .error-block .errors-sm {
    position: absolute;
    top: 0; }

.errors-sm {
  font-size: 14px; }

.error-times {
  float: left;
  margin-bottom: 15px;
  margin-top: -5px; }

.expiry-error-wrap {
  position: relative;
  width: 100%;
  height: 14px;
  top: -14px;
  margin-bottom: -18px; }
  .expiry-error-wrap .error-container:first-child {
    width: 50%;
    position: absolute;
    left: 0;
    top: 0; }
  .expiry-error-wrap .error-container:nth-child(2) {
    position: absolute;
    width: 50%;
    left: 50%;
    top: 0; }

.expiry-label {
  max-width: 80px !important;
  display: inline-block; }

.expiry-month-input {
  max-width: 80px !important;
  display: inline-block !important; }

.expiry-year-input {
  max-width: 80px !important;
  display: inline-block !important; }

#cvc-link {
  font-size: 11px;
  position: absolute;
  right: 4px;
  bottom: 22px; }

textarea {
  font-family: Helvetica, Arial, sans-serif; }

a.btn-std {
  box-shadow: rgba(0, 0, 0, 0.137255) 0px 2px 2px 0px, rgba(0, 0, 0, 0.2) 0px 3px 1px -2px, rgba(0, 0, 0, 0.117647) 0px 1px 5px 0px;
  cursor: pointer;
  float: right;
  font-size: 14px;
  font-weight: 500;
  height: 36px;
  line-height: 36px;
  min-width: 64px;
  padding-bottom: 0px;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 0px;
  text-align: center;
  text-transform: uppercase;
  transition-delay: 0s, 0s, 0s;
  transition-duration: 0.2s, 0.2s, 0.2s;
  border-radius: 2px;
  transition-property: box-shadow, background-color, color;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1), cubic-bezier(0.4, 0, 0.2, 1), cubic-bezier(0.4, 0, 0.2, 1);
  vertical-align: middle;
  width: 64px;
  float: left;
  font-weight: 400; }

.back {
  float: left; }

a.next {
  float: right; }

.check-wrap {
  margin-bottom: 8px; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px white inset; }

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0;
  /* <-- Apparently some margin are still there even though it's hidden */ }

.error {
  position: absolute;
  bottom: -4px;
  font-size: 12px; }

.mdl-textfield__input {
  padding: 8px 0 6px 0;
  border-radius: 0; }
  .mdl-textfield__input:-webkit-autofill, .mdl-textfield__input:-webkit-autofill:hover, .mdl-textfield__input:-webkit-autofill:focus, .mdl-textfield__input:-webkit-autofill:active {
    /*
           * Hack to prevent background color looking crappy. Transition delay is so long it "never" gets seen.
           * REF: https://stackoverflow.com/questions/29580704/change-input-background-to-transparent-on-autocomplete-form
           */
    transition-delay: 9999s; }

.mdl-textfield__expiry {
  overflow: visible; }

.mdl-textfield--floating-label.is-invalid .mdl-textfield__label {
  font-size: 16px;
  font-weight: normal; }

.mdl-textfield--floating-label.is-focused .mdl-textfield__label,
.mdl-textfield--floating-label.is-dirty .mdl-textfield__label {
  font-size: 12px; }

label.terms-check {
  display: block;
  height: auto; }

@media screen and (orientation: landscape) and (max-height: 400px) {
  .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {
    font-size: 16px !important;
    font-weight: normal; }
  .mdl-textfield--floating-label.is-focused .mdl-textfield__label,
  .mdl-textfield--floating-label.is-dirty .mdl-textfield__label {
    font-size: 8px !important; }
  .mdl-textfield__input {
    font-size: 22px !important; } }

.address-form-section {
  padding: 5px 15px 0;
  background-color: rgba(0, 0, 0, 0.1);
  margin-top: 10px;
  margin-bottom: 20px; }
  .address-form-section__inputWrap {
    position: relative; }
    .address-form-section__inputWrap.hasError .error {
      display: block !important; }
    .address-form-section__inputWrap .error {
      position: static;
      bottom: 0;
      margin: -14px 0 0 0;
      padding-bottom: 14px;
      display: none; }
  .address-form-section h4 {
    margin: 0 0 3px 0;
    border: 0; }
  .address-form-section .mdl-textfield {
    margin-top: -20px; }
  .address-form-section .mdl-textfield__label {
    opacity: 0.5; }
  .address-form-section .mdl-textfield__input,
  .address-form-section .mdl-textfield__label {
    font-size: 14px !important; }

.padding-sm {
  padding: 4px; }

.padding-md {
  padding: 8px; }

.padding-lg {
  padding: 16px; }

.margin-sm {
  margin: 4px; }

.margin-md {
  margin: 8px; }

.margin-lg {
  margin: 16px; }

.margin-md-top {
  margin-top: 8px; }

.margin-lg-top {
  margin-top: 16px; }

.margin-md-bottom {
  margin-bottom: 8px; }

.margin-lg-bottom {
  margin-bottom: 16px; }

.margin-md-lt {
  margin-left: 8px; }

.margin-md-rt {
  margin-right: 8px; }

.top {
  z-index: 30 !important; }

.row {
  width: 100%;
  display: block; }

.wd-10-sm,
.wd-10-md,
.wd-10-lg,
.wd-20-sm,
.wd-20-md,
.wd-20-lg,
.wd-25-sm,
.wd-25-md,
.wd-25-lg,
.wd-30-sm,
.wd-30-md,
.wd-30-lg,
.wd-33-sm,
.wd-33-md,
.wd-33-lg,
.wd-40-sm,
.wd-40-md,
.wd-40-lg,
.wd-50-sm,
.wd-50-md,
.wd-50-lg,
.wd-60-sm,
.wd-60-md,
.wd-10-lg,
.wd-66-sm,
.wd-66-md,
.wd-66-lg,
.wd-70-sm,
.wd-70-md,
.wd-70-lg,
.wd-75-sm,
.wd-75-md,
.wd-75-lg,
.wd-80-sm,
.wd-80-md,
.wd-80-lg,
.wd-90-sm,
.wd-90-md,
.wd-90-lg {
  display: inline-block;
  float: left;
  width: 100%; }

.wd-10-sm {
  width: 10%; }

.wd-15-sm {
  width: 15%; }

.wd-20-sm {
  width: 20%; }

.wd-25-sm {
  width: 25%; }

.wd-30-sm {
  width: 30%; }

.wd-33-sm {
  width: 33%; }

.wd-40-sm {
  width: 40%; }

.wd-50-sm {
  width: 50%; }

.wd-60-sm {
  width: 60%; }

.wd-66-sm {
  width: 66%; }

.wd-70-sm {
  width: 70%; }

.wd-75-sm {
  width: 75%; }

.wd-80-sm {
  width: 80%; }

.wd-80-sm {
  width: 80%; }

.wd-90-sm {
  width: 90%; }

.wd-10-sm {
  width: 10%; }

.wd-15-sm {
  width: 15%; }

.wd-20-sm {
  width: 20%; }

.wd-25-sm {
  width: 25%; }

.wd-30-sm {
  width: 30%; }

.wd-33-sm {
  width: 33%; }

.wd-40-sm {
  width: 40%; }

.wd-50-sm {
  width: 50%; }

.wd-60-sm {
  width: 60%; }

.wd-66-sm {
  width: 66%; }

.wd-70-sm {
  width: 70%; }

.wd-75-sm {
  width: 75%; }

.wd-80-sm {
  width: 80%; }

.wd-80-sm {
  width: 80%; }

.wd-90-sm {
  width: 90%; }

@media only screen and (min-width: 768px) {
  .wd-10-md {
    width: 10%; }
  .wd-15-md {
    width: 15%; }
  .wd-20-md {
    width: 20%; }
  .wd-25-md {
    width: 25%; }
  .wd-30-md {
    width: 30%; }
  .wd-33-md {
    width: 33%; }
  .wd-40-md {
    width: 40%; }
  .wd-50-md {
    width: 50%; }
  .wd-60-md {
    width: 60%; }
  .wd-66-md {
    width: 66%; }
  .wd-70-md {
    width: 70%; }
  .wd-75-md {
    width: 75%; }
  .wd-80-md {
    width: 80%; }
  .wd-80-md {
    width: 80%; }
  .wd-90-md {
    width: 90%; }
  .wd-10-md {
    width: 10%; }
  .wd-15-md {
    width: 15%; }
  .wd-20-md {
    width: 20%; }
  .wd-25-md {
    width: 25%; }
  .wd-30-md {
    width: 30%; }
  .wd-33-md {
    width: 33%; }
  .wd-40-md {
    width: 40%; }
  .wd-50-md {
    width: 50%; }
  .wd-60-md {
    width: 60%; }
  .wd-66-md {
    width: 66%; }
  .wd-70-md {
    width: 70%; }
  .wd-75-md {
    width: 75%; }
  .wd-80-md {
    width: 80%; }
  .wd-80-md {
    width: 80%; }
  .wd-90-md {
    width: 90%; } }

@media only screen and (min-width: 900px) {
  .wd-10-lg {
    width: 10%; }
  .wd-15-lg {
    width: 15%; }
  .wd-20-lg {
    width: 20%; }
  .wd-25-lg {
    width: 25%; }
  .wd-30-lg {
    width: 30%; }
  .wd-33-lg {
    width: 33%; }
  .wd-40-lg {
    width: 40%; }
  .wd-50-lg {
    width: 50%; }
  .wd-60-lg {
    width: 60%; }
  .wd-66-lg {
    width: 66%; }
  .wd-70-lg {
    width: 70%; }
  .wd-75-lg {
    width: 75%; }
  .wd-80-lg {
    width: 80%; }
  .wd-80-lg {
    width: 80%; }
  .wd-90-lg {
    width: 90%; } }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  color: #000;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16); }
  header section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -webkit-justify-content: center;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -moz-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    min-height: 50px; }
    header section a img {
      height: 40px; }
    header section .businessLabel {
      width: auto;
      font-size: 16px;
      margin-right: auto; }
    header section .appVersion,
    header section .businessPhone {
      width: auto;
      margin-left: auto; }
    header section span {
      color: #ddd;
      float: right; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  header section a.businessLabel {
    line-height: 52px; } }

@media all and (-ms-high-contrast: none) and (min-width: 768px), (-ms-high-contrast: active) {
  header section a.businessLabel {
    line-height: 100px; } }

@media only screen and (min-width: 768px) {
  header section {
    min-height: 100px; }
    header section a img {
      height: 86px; } }

img.card-logo {
  height: 45px; }

#covers-time-wrap .loading {
  position: absolute;
  margin: auto;
  top: 300px;
  bottom: 0;
  left: 0;
  right: 0;
  height: 35px; }

.loading-wrap-full {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 30 !important; }
  .loading-wrap-full .loading, .loading-wrap-full .loading-content {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 35px;
    text-align: center; }
  .loading-wrap-full .loading-content {
    display: inline-block;
    width: 100%; }
    .loading-wrap-full .loading-content .loader {
      bottom: -12px; }
    .loading-wrap-full .loading-content span {
      font-size: 18px;
      text-align: center;
      display: inline-block;
      margin-right: 8px;
      margin-bottom: 12px; }
    .loading-wrap-full .loading-content span.text-sm {
      font-size: 12px; }

.inline-loader-wrap {
  display: inline-block;
  position: relative;
  height: 38px; }
  .inline-loader-wrap .inline-loader {
    margin-top: 8px;
    float: left;
    margin-right: 10px; }

.loader, .startup-loader {
  margin: auto;
  font-size: 6px;
  position: relative;
  text-indent: -9999em;
  display: inline-block;
  transform: translateZ(0);
  animation: load8 1.1s infinite linear; }

.loader,
.loader:after,
.startup-loader,
.startup-loader:after {
  border-radius: 50%;
  width: 35px;
  height: 35px; }

@keyframes load8 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.loader {
  border-top: 1.1em solid rgba(0, 0, 0, 0.2);
  border-right: 1.1em solid rgba(0, 0, 0, 0.2);
  border-bottom: 1.1em solid rgba(0, 0, 0, 0.2);
  border-left: 1.1em solid rgba(0, 0, 0, 0.6); }

/* The starting CSS styles for the enter animation */
main {
  position: relative;
  padding-top: 54px;
  padding-bottom: 98px;
  position: relative;
  text-align: left;
  padding-left: 8px;
  padding-right: 8px;
  min-height: 100%;
  width: 100%; }
  main #customer-details-wrap,
  main #summary-wrap,
  main #payments-wrap {
    margin-top: 8px;
    margin-bottom: 16px; }
    main #customer-details-wrap .mdl-textfield,
    main #summary-wrap .mdl-textfield,
    main #payments-wrap .mdl-textfield {
      width: 100%; }
      main #customer-details-wrap .mdl-textfield label,
      main #summary-wrap .mdl-textfield label,
      main #payments-wrap .mdl-textfield label {
        color: #ccc; }
  main #summary-wrap {
    margin-bottom: 5px; }
  main #customer-details-wrap, main #summary-wrap, main .schedule-wrap {
    padding-bottom: 32px; }
  main ul li {
    font-size: 14px; }
    main ul li label {
      font-size: 11px;
      color: #A1A1A1;
      display: inline-block;
      min-width: 92px; }
  main ol {
    list-style-position: inside; }
  main .helper {
    color: #ddd;
    display: block;
    margin-top: 8px;
    margin-bottom: 8px; }
  main #booking-for-wrap {
    text-align: center; }
    main #booking-for-wrap .covers-spinner .booking-number-input {
      width: 80px; }
  main .link-wrap {
    padding: 16px;
    box-sizing: border-box; }
  main .service-wrap,
  main .section-wrap {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    margin-top: 8px;
    margin-bottom: 8px; }
  main #sitting-wrap,
  main #venues-wrap {
    text-align: center; }
  main #tags-wrap h4 {
    margin-top: 14px; }
  main #tags-summary-wrap {
    padding-bottom: 8px; }
  main #date-picker-wrap {
    min-height: 400px; }
  main .booking-bar img {
    float: right; }
  main .payment-summary li {
    font-size: 15px !important;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
    margin-bottom: 2px;
    margin-top: 8px; }
    main .payment-summary li label {
      font-size: 12px !important;
      margin-right: 12px;
      min-width: auto;
      color: #4e4e4e; }
    main .payment-summary li.has-child-options {
      margin-bottom: 1px;
      padding-bottom: 0; }
    main .payment-summary li.is-child-option {
      margin-bottom: 2px;
      margin-top: 0;
      padding: 0;
      color: #A1A1A1 !important;
      font-size: 14px !important; }
      main .payment-summary li.is-child-option label {
        font-size: 11px !important;
        margin-left: 10px;
        margin-right: 2px; }
  main #payment-summary-wrap {
    margin-bottom: 100px; }
  main #payment-summary-wrap p {
    margin-top: 16px;
    margin-bottom: 0; }
  main .service-message__wrap {
    display: block; }
    main .service-message__wrap p a {
      font-weight: bold; }
    main .service-message__wrap p a:hover {
      font-decoration: underline; }
    main .service-message__wrap:first-child + * {
      margin-top: 10px; }
    main .service-message__wrap .menu-options-description {
      margin-top: 35px;
      margin-bottom: -25px; }
  main .service-message__markdown {
    margin-bottom: 10px; }
    main .service-message__markdown p {
      margin: 5px 0; }
  main .payment-options-wrap {
    margin-top: 32px; }
    main .payment-options-wrap p {
      font-size: 14px; }
      main .payment-options-wrap p a {
        font-weight: bold; }
      main .payment-options-wrap p a:hover {
        text-decoration: underline; }
    main .payment-options-wrap .booking-number-input {
      width: 60px; }
    main .payment-options-wrap .payment-options-description {
      margin-top: 20px;
      display: inline; }
      main .payment-options-wrap .payment-options-description > p {
        font-size: 16px;
        display: inline; }
    main .payment-options-wrap > p {
      font-size: 16px;
      display: inline; }
  main .payment-options--grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    main .payment-options--grid > * {
      width: 50%; }
      main .payment-options--grid > *:nth-of-type(even) {
        padding-left: 10px; }
  main .policy-agreement-overlay .popup {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding-bottom: 20px; }
  main .policy-agreement-overlay a.btn.next {
    line-height: 1.4;
    padding: 10px; }
  @media only screen and (max-width: 767px) {
    main .policy-agreement-overlay a.btn.next {
      width: 100%;
      height: auto; } }
  main .payment-options-overlay {
    padding: 0 15px; }
    main .payment-options-overlay .popup {
      padding-bottom: 0; }
    main .payment-options-overlay .modal-footer {
      padding-bottom: 20px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
      main .payment-options-overlay .modal-footer .btn {
        width: 50%; }
        @media only screen and (min-width: 768px) {
          main .payment-options-overlay .modal-footer .btn {
            width: auto;
            padding-left: 20px;
            padding-right: 20px; } }
        main .payment-options-overlay .modal-footer .btn:nth-child(2) {
          margin-left: 10px; }
    main .payment-options-overlay__dotsWrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 5px 0 15px 0; }
    main .payment-options-overlay__dots {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      border: 2px solid #000;
      margin: 0 8px;
      cursor: pointer;
      outline: none; }
      main .payment-options-overlay__dots.is-active {
        background-color: white !important;
        cursor: default; }
      main .payment-options-overlay__dots:hover, main .payment-options-overlay__dots:focus {
        background-color: white !important; }
    main .payment-options-overlay__checkbox-all {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center; }
      @media only screen and (max-width: 767px) {
        main .payment-options-overlay__checkbox-all {
          display: block;
          margin-bottom: 20px; } }
    main .payment-options-overlay__explicit-child-menu-options {
      display: -ms-flexbox;
      display: flex;
      position: relative; }
    main .payment-options-overlay__expQuOpt {
      width: 100%;
      opacity: 1;
      transform: translateX(0);
      transition: 0.4s ease-in-out !important;
      transition-property: opacity, transform !important;
      position: relative; }
      main .payment-options-overlay__expQuOpt.ng-enter {
        z-index: 20;
        opacity: 0; }
      main .payment-options-overlay__expQuOpt.ng-enter.ng-enter-active {
        transition: none !important;
        opacity: 1;
        transform: translateX(100%); }
        main .payment-options-overlay__expQuOpt.ng-enter.ng-enter-active.is-scrolling-leftwards {
          transform: translateX(-100%); }
      main .payment-options-overlay__expQuOpt.ng-leave {
        z-index: 10;
        opacity: 0;
        transform: translateX(-100%);
        position: absolute; }
        main .payment-options-overlay__expQuOpt.ng-leave.is-scrolling-leftwards {
          transform: translateX(100%); }
      @media only screen and (min-width: 768px) {
        main .payment-options-overlay__expQuOpt {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
          main .payment-options-overlay__expQuOpt > * {
            width: 50%; }
            main .payment-options-overlay__expQuOpt > *:nth-of-type(even) {
              padding-left: 10px; } }
    main .payment-options-overlay__expQuOptScrollWrap {
      margin-top: -10px;
      margin-left: -10px;
      margin-right: -10px;
      padding: 10px 10px 0 10px; }
      @media only screen and (max-width: 767px) {
        main .payment-options-overlay__expQuOptScrollWrap.is-multi-quantity {
          overflow-y: auto;
          max-height: 320px; } }
      main .payment-options-overlay__expQuOptScrollWrap.is-scrollable {
        overflow-x: hidden; }
    main .payment-options-overlay__subtitle {
      margin-bottom: 7px; }
      @media only screen and (max-width: 767px) {
        main .payment-options-overlay__subtitle {
          margin-bottom: 20px; } }
    main .payment-options-overlay__nav {
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-pack: end;
          justify-content: flex-end;
      display: -ms-flexbox;
      display: flex; }
      @media only screen and (min-width: 768px) {
        main .payment-options-overlay__nav {
          padding-left: 30px; } }
    main .payment-options-overlay__explicit-child-menu-options-nav {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      margin-bottom: 20px; }
      @media only screen and (max-width: 767px) {
        main .payment-options-overlay__explicit-child-menu-options-nav {
          -ms-flex-direction: column;
              flex-direction: column;
          margin-top: 18px; } }
      main .payment-options-overlay__explicit-child-menu-options-nav .btn {
        float: none !important;
        margin-left: 10px;
        display: inline-block;
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none; }
        main .payment-options-overlay__explicit-child-menu-options-nav .btn[disabled] {
          cursor: not-allowed;
          opacity: 0.5; }
    main .payment-options-overlay__option {
      margin-bottom: 10px; }
    @media only screen and (min-width: 768px) {
      main .payment-options-overlay__child-menu-options {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
        main .payment-options-overlay__child-menu-options > * {
          width: 50%; }
          main .payment-options-overlay__child-menu-options > *:nth-of-type(even) {
            padding-left: 10px; } }
    main .payment-options-overlay__child-menu-options-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
    main .payment-options-overlay__content {
      margin-left: -10px;
      margin-right: -10px;
      padding: 10px;
      height: auto !important; }
  main .service-info-wrap {
    clear: both; }

.markdown__content a {
  text-decoration: underline; }

.booking-times__wrap {
  max-width: 500px;
  margin: auto; }

.payment-complete-wrap p {
  margin: 16px 0 16px 0; }

@media only screen and (min-width: 768px) {
  main {
    margin-bottom: 0;
    padding-top: 114px;
    padding-bottom: 88px; }
    main #sitting-wrap,
    main #customer-details-wrap,
    main #summary-wrap {
      margin-top: 8px; }
    main #payments-wrap .wd-50-md:first-child,
    main #payments-details-wrap .wd-50-md:first-child,
    main #customer-details-wrap .wd-50-md:first-child,
    main #summary-wrap .wd-50-md:first-child {
      padding-right: 8px; }
    main #payments-wrap .wd-50-md:nth-child(2),
    main #payments-details-wrap .wd-50-md:nth-child(2),
    main #customer-details-wrap .wd-50-md:nth-child(2),
    main #summary-wrap .wd-50-md:nth-child(2) {
      padding-left: 8px; }
    main #customer-details-wrap, main #summary-wrap, main .schedule-wrap {
      padding-bottom: 15px; }
    main #covers-time-wrap {
      position: relative; }
      main #covers-time-wrap:not(.isFullWidth) {
        padding-left: 32px; }
    main #sitting-wrap {
      text-align: left;
      position: relative; }
    main #venues-wrap {
      margin-top: 32px; }
    main ul li {
      font-size: 16px; }
      main ul li label {
        font-size: 12px;
        min-width: 140px; }
    main .payment-summary li {
      font-size: 16px; }
      main .payment-summary li label {
        font-size: 12px;
        min-width: 150px; } }

.sitting__date-toggle-btn-strip {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center; }
  @media only screen and (min-width: 768px) {
    .sitting__date-toggle-btn-strip {
      -ms-flex-pack: end;
          justify-content: flex-end;
      position: absolute;
      right: 0;
      top: -49px; } }

.payment-summary-terms-link {
  text-align: center;
  display: block;
  margin-top: 20px; }
  @media only screen and (min-width: 768px) {
    .payment-summary-terms-link {
      text-align: left;
      margin-top: 10px; } }

.menu-option-wrap {
  padding: 15px;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
  line-height: 24px;
  text-align: left;
  min-height: 100px;
  height: 100%; }
  .menu-option-radio .menu-option-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .menu-option-wrap__outer {
    height: 100%;
    padding-bottom: 10px;
    position: relative; }
  .menu-option-wrap--mandatory {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .menu-option-wrap__delivery-fee-option {
    min-height: 56px; }
  .menu-option-radio .menu-option-wrap__extras {
    text-align: right; }
  .menu-option-wrap__extrasText {
    margin-bottom: 5px; }
  .menu-option-wrap__extrasTitle {
    margin-top: 7px;
    margin-bottom: 7px;
    padding-top: 3px; }
  .menu-option-wrap__extrasRow {
    font-size: 12px;
    line-height: 1.3;
    margin-bottom: 4px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .menu-option-wrap__extrasBtn {
    position: absolute;
    left: 15px;
    bottom: 30px;
    background-color: white;
    color: rgba(0, 0, 0, 0.847); }
    .menu-option-radio .menu-option-wrap__extrasBtn {
      position: static;
      margin-top: 5px; }
    .menu-option-wrap__extrasBtn:hover, .menu-option-wrap__extrasBtn:focus {
      text-decoration: underline; }
  .menu-option-wrap .price {
    float: right; }
  .menu-option-wrap .description {
    opacity: .6; }
    .menu-option-wrap .description p {
      margin: 5px 0; }
  .menu-option-wrap .spinner-wrap {
    text-align: right; }
    .menu-option-wrap .spinner-wrap .mdl-textfield {
      padding: 10px; }
  .menu-option-wrap a {
    text-decoration: underline;
    font-size: 12px;
    word-break: break-all; }
  .menu-option-wrap .mdl-radio {
    margin-bottom: 8px; }
  .menu-option-wrap .mdl-checkbox {
    width: auto; }
    .menu-option-wrap .mdl-checkbox.is-disabled .mdl-checkbox__box-outline {
      opacity: 0.5; }

#nav-wrap {
  position: absolute;
  margin: 0;
  bottom: 0;
  left: 0;
  z-index: 20;
  margin-bottom: 16px; }
  #nav-wrap a.terms {
    display: block;
    margin: 0 0 10px;
    float: right;
    text-decoration: underline;
    text-align: right;
    width: -moz-fit-content;
    width: fit-content; }
  #nav-wrap section {
    overflow: hidden;
    padding-top: 5px;
    padding-bottom: 6px; }

a.btn {
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  height: 40px;
  line-height: 40px;
  text-align: center;
  width: 49%;
  float: left;
  z-index: 21;
  font-weight: 400;
  transition: color 0.5s ease;
  transition: background-color 0.5s ease;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transition-delay: 0.2s;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  border-radius: 4px;
  text-decoration: none; }

a.btn.next {
  float: right; }

@media only screen and (min-width: 768px) {
  #nav-wrap {
    position: relative;
    border-top: none; }
    #nav-wrap .terms {
      display: inline-block;
      width: auto;
      text-align: right;
      left: 8px;
      bottom: -88px; }
  a.btn {
    padding: 0 22px;
    width: auto;
    border: 0px #ddd solid; }
  a.btn-left {
    border-right: none !important; } }

label > * {
  pointer-events: none; }

#covers-time-wrap .radio-wrap {
  text-align: left; }
  #covers-time-wrap .radio-wrap li {
    display: inline-block;
    width: 33.3333334%;
    float: left;
    margin-top: 8px;
    margin-bottom: 8px; }
  #covers-time-wrap .radio-wrap .radio-item {
    display: inline-block;
    min-width: 33%;
    padding-right: 8px;
    margin-top: 8px; }

#saved-booking-wrap {
  font-size: 14px;
  display: block;
  text-align: center;
  color: #ccc;
  margin-bottom: -4px;
  margin-top: 4px; }

#details-bar-wrap {
  font-size: 14px;
  padding: 12px 0;
  display: block;
  text-align: center; }

@media only screen and (min-width: 768px) {
  #saved-booking-wrap {
    font-size: 16px;
    text-align: left; }
  #details-bar-wrap {
    font-size: 16px;
    padding: 16px 0;
    text-align: left; } }

.covers-spinner label,
.spinner-wrap label {
  font-size: 16px; }

.covers-spinner .inline-label,
.spinner-wrap .inline-label {
  margin-right: 10px; }

.covers-spinner .mdl-textfield,
.spinner-wrap .mdl-textfield {
  font-size: 20px; }

.covers-spinner .booking-number-input,
.spinner-wrap .booking-number-input {
  width: 100px;
  margin-right: 10px; }

.covers-spinner .mdl-button--fab,
.spinner-wrap .mdl-button--fab {
  font-size: 18px;
  border-radius: 50%;
  margin: auto;
  min-width: 38px;
  width: 38px;
  box-shadow: 0 1px 1.5px 0 rgba(0, 0, 0, 0.12), 0 1px 1px 0 rgba(0, 0, 0, 0.24);
  height: 38px; }

@media only screen and (max-width: 767px) {
  .covers-spinner {
    margin-top: 8px; }
    .covers-spinner .mdl-textfield__input {
      font-size: 20px;
      font-weight: 400; }
    .covers-spinner .mdl-button--fab {
      font-size: 22px;
      width: 48px;
      height: 48px;
      font-weight: 400; } }

.widget-tabs {
  display: none;
  z-index: 10;
  position: relative; }

@media only screen and (min-width: 768px) {
  .widget-dots {
    display: none; }
  .widget-tabs {
    display: block; }
  .widget-tabs a.tab {
    margin: 0;
    border: none;
    padding: 0 24px 0 0;
    margin-right: 16px;
    float: left;
    position: relative;
    display: block;
    text-decoration: none;
    height: 48px;
    line-height: 48px;
    text-align: left;
    font-weight: 500;
    font-size: 18px;
    overflow: hidden;
    width: 140px;
    border-radius: 0;
    background: transparent;
    opacity: 1; }
  .widget-tabs a.tab.blocked {
    opacity: .2; } }

h1 {
  font-size: 22px;
  margin: 18px 0 10px; }

h4 {
  font-size: 18px;
  border-bottom: 1px solid #ddd;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #dddddd;
  margin-top: 22px;
  line-height: 38px; }

p {
  margin: 0; }

.text-lge {
  font-size: 16px;
  line-height: 1.6; }

.text-sm {
  font-size: 12px; }

.text-xs {
  font-size: 9px; }

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

custom-message p a {
  text-decoration: underline; }

.markdown__message a {
  text-decoration: underline; }

.sub-items {
  color: #878787; }

.guest-list-item {
  margin-bottom: 40px; }
  @media only screen and (min-width: 768px) {
    .guest-list-item {
      margin-bottom: 0;
      display: -ms-flexbox;
      display: flex; } }
  .guest-list-item--field {
    width: 100%; }
    @media only screen and (min-width: 768px) {
      .guest-list-item--field {
        padding-right: 10px; }
        .guest-list-item--field:last-child {
          padding-right: 0; } }
  .guest-list-item .mdl-textfield--floating-label .mdl-textfield__label {
    opacity: 0.5; }
  .guest-list-item .mdl-textfield--floating-label.is-dirty .mdl-textfield__label, .guest-list-item .mdl-textfield--floating-label.is-focused .mdl-textfield__label {
    opacity: 1; }
  .guest-list-item .mdl-textfield__input,
  .guest-list-item .mdl-textfield--floating-label.is-invalid .mdl-textfield__label {
    font-size: 14px; }
  .guest-list-item .mdl-textfield.is-invalid .mdl-textfield__input {
    border-color: rgba(0, 0, 0, 0.2); }
  .guest-list-item.has-content-and-invalid .mdl-textfield.is-invalid .mdl-textfield__input {
    border-color: #de3226; }

.popup {
  padding: 20px 20px 60px 20px;
  background: #fff;
  color: black;
  border-radius: 5px;
  width: 45%;
  position: relative;
  transition: all 5s ease-in-out;
  top: 50%;
  left: 50%;
  right: auto;
  bottom: auto;
  transform: translate(-50%, -50%);
  z-index: 990; }
  @media only screen and (max-width: 768px) {
    .popup {
      width: 90%; } }
  .popup h2 {
    margin: 0;
    color: #333;
    font-family: Tahoma, Arial, sans-serif;
    font-size: 22px !important; }
    @media only screen and (max-width: 768px) {
      .popup h2 {
        line-height: 1.3;
        padding: 0 0px 9px 0px; } }
  .popup .close {
    position: absolute;
    top: 20px;
    right: 30px;
    transition: all 200ms;
    font-size: 30px;
    font-weight: bold;
    text-decoration: none;
    color: #333; }
  .popup .close:hover {
    color: #06D85F; }
  .popup .content {
    height: 200px;
    overflow-y: auto;
    color: black; }
    .popup .content p {
      color: black; }
  .popup .modal-footer {
    padding: 20px 0 0 0; }
  .popup .btn-ok {
    background-color: #06D85F !important; }
    @media only screen and (max-width: 767px) {
      .popup .btn-ok {
        width: 100%;
        font-size: 12px; } }
  @media only screen and (max-width: 767px) {
    .popup .btn-cancel {
      width: 100%;
      font-size: 12px; } }

.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 500ms;
  z-index: 99999;
  visibility: visible;
  opacity: 1; }

/**
 * Using a flex layout simplifies CSS and fixes pixel rounding issues on checkboxes within
 * the overlay's content area, caused by the transform styling.
 * Also improves the scrolling behavour on iPhones
 */
.overlay-better {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  background: rgba(0, 0, 0, 0.7);
  z-index: 100;
  opacity: 1; }
  .overlay-better .popup {
    overflow-y: auto;
    transform: none;
    transition: none;
    top: auto;
    left: auto;
    z-index: 101;
    width: 100%;
    max-width: 700px;
    padding: 20px;
    max-height: calc(100% - 30px); }
    @media only screen and (max-width: 767px) {
      .overlay-better .popup {
        overflow-y: scroll;
        /* has to be scroll, not auto */
        -webkit-overflow-scrolling: touch; } }

.popup-cvc-img {
  width: 400px;
  max-width: 100%; }

pre {
  overflow-x: auto;
  white-space: pre-wrap;
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  word-wrap: break-word; }

/*# sourceMappingURL=data:application/json;base64,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O0VBQ0UsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0UsbUJBQW1CLEVBQUU7O0FBRXZCO0VBQ0Usb0JBQW9CLEVBQUU7O0FBRXhCO0VBQ0UsaUJBQWlCLEVBQUU7O0FBRXJCO0VBQ0Usa0JBQWtCLEVBQUU7O0FBRXRCO0VBQ0UsdUJBQXVCLEVBQUU7O0FBRTNCO0VBQ0UsWUFBWTtFQUNaLGVBQWUsRUFBRTs7QUFFbkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVDRSxzQkFBc0I7RUFDdEIsWUFBWTtFQUNaLFlBQVksRUFBRTs7QUFFaEI7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRSxXQUFXLEVBQUU7O0FBRWY7RUFDRTtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUUsRUFBRTs7QUFFbkI7RUFDRTtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVBQUU7RUFDZjtJQUNFLFdBQVcsRUFBRTtFQUNmO0lBQ0UsV0FBVyxFQUFFO0VBQ2Y7SUFDRSxXQUFXLEVB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QixnQ0FBZ0M7UUFDaEMsa0NBQWtDLEVBQUUsRUFBRTs7QUFFOUM7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCLEVBQUU7O0FBRXBCO0VBQ0UsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QiwyQkFBMkI7RUFDM0IsdUJBQXVCO0VBQ3ZCLHlCQUF5QjtFQUN6QixzQkFBc0IsRUFBRSIsImZpbGUiOiJpbmRleC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBEbyBub3QgcmVtb3ZlIHRoaXMgY29tbWVudHMgYmVsbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgd2lyZWRlcCB0byBpbmplY3RcclxuICAgc2FzcyBkZXBlbmRlbmNpZXMgd2hlbiBkZWZpbmVkIGluIHRoZSBib3dlci5qc29uIG9mIHlvdXIgZGVwZW5kZW5jaWVzICovXG4qIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmlzLW92ZXJsYXktb3BlbiBib2R5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4udW5kZXJsaW5lLFxuLnVuZGVybGluZS1waG9uZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmh0bWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC8qKlxyXG4gICAgICogTm90IHN1cmUgd2h5ICdvdmVyZmxvdy15OiBzY3JvbGwnIGlzIHNldCB0byBiZWdpbiB3aXRoLCBidXQgaXQgZ2V0cyBpbiB0aGUgd2F5IG9mIG1vZGFsIFxyXG4gICAgICogYmcgcGFnZSBjb250ZW50IHNjcm9sbCBwcmV2ZW50aW9uLCBzbyAodG8gYmUgc2FmZSkgd2UnbGwgb3ZlcnJpZGUgaXQgb25seSB3aGVuIG1vZGFsIGlzIHZpc2libGVcclxuICAgICAqLyB9XG4gIGh0bWwuaXMtb3ZlcmxheS1vcGVuIHtcbiAgICBvdmVyZmxvdy15OiBpbml0aWFsOyB9XG5cbi8qIFJlc2V0cyAgKi9cbmEsXG52aXNpdGVkIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3V0bGluZTogMDsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4OyB9XG5cbi5zdGQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zcGFjZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ud2lkdGgtYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbnVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbjogNHB4IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBzZWN0aW9uIHtcbiAgICB3aWR0aDogNzYwcHg7IH0gfVxuXG4vKiBEbyBub3QgcmVtb3ZlIHRoaXMgY29tbWVudHMgYmVsbG93LiBJdCdzIHRoZSBtYXJrZXJzIHVzZWQgYnkgZ3VscC1pbmplY3QgdG8gaW5qZWN0XHJcbiAgIGFsbCB5b3VyIHNhc3MgZmlsZXMgYXV0b21hdGljYWxseSAqL1xuLnNlc3Npb24tdGltZW91dC13cmFwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxMDAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMSkgMCAxcHggMXB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zZXNzaW9uLXRpbWVvdXQtd3JhcC5zZXNzaW9uLXRpbWVvdXQtd3JhcC1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5ndWVzdExpc3QgaDIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMjBweCAwIDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmd1ZXN0TGlzdCBoMiB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwIDA7IH0gfVxuXG4uZ3Vlc3RMaXN0LS1tYWluIHVsIHtcbiAgbWFyZ2luOiAwIDAgMzBweCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZ3Vlc3RMaXN0LS1tYWluIHVsIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsgfSB9XG5cbi5ndWVzdExpc3QtLW1haW4gcCB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmd1ZXN0TGlzdC0tbWFpbiBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsgfSB9XG5cbi5ndWVzdExpc3QtLXN1Ym1pdC1idG4ge1xuICB3aWR0aDogMTcwcHggIWltcG9ydGFudDsgfVxuICAuZ3Vlc3RMaXN0LS1zdWJtaXQtYnRuW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZ3Vlc3RMaXN0LS1zdWJtaXQtYnRuLXdyYXAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5ndWVzdExpc3QtLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmd1ZXN0TGlzdC0tbG9hZGVyLmxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMzA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBib3JkZXItbGVmdC1jb2xvcjogI0ZGRjtcbiAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gIHdpZHRoOiAyOXB4O1xuICBoZWlnaHQ6IDI5cHg7IH1cblxuLmd1ZXN0TGlzdC0tZXJyb3ItdHh0IHtcbiAgbWFyZ2luLXRvcDogN3B4OyB9XG5cbi5ndWVzdExpc3QtLWVycm9yLXR4dC13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5idG4tYWNjZW50LFxuLmJ0bi1zbWFsbCxcbmJ1dHRvbi5idG4sXG5idXR0b25bdHlwZT0nc3VibWl0J10ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAyMnB4O1xuICB3aWR0aDogYXV0bztcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG5cbi5idG4tYWNjZW50OmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI2KTsgfVxuXG5tYWluIGEuYnRuLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbnVsLnRpbWUtd3JhcCB7XG4gIGNvdW50ZXItcmVzZXQ6IGxpcztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIHVsLnRpbWUtd3JhcCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAzMy4zMzMzMzQlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgdWwudGltZS13cmFwIGxpLmNvbHVtbkNvdW50NCB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgdWwudGltZS13cmFwIGxpLmNvbHVtbkNvdW50NSB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgdWwudGltZS13cmFwIGxpIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4OyB9XG4gICAgICB1bC50aW1lLXdyYXAgbGkgYSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgIHVsLnRpbWUtd3JhcCBsaSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7IH1cbiAgICB1bC50aW1lLXdyYXAgbGkgYS5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjQTkxMTY0O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IG5vbmU7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiBub25lOyB9XG4gICAgdWwudGltZS13cmFwIGxpIGEuaW5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICB1bC50aW1lLXdyYXAgbGk6OmFmdGVyIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbGlzO1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzLCBkZWNpbWFsKTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNwYXltZW50cy1kZXRhaWxzLXdyYXAgLmJ1dHRvbi13cmFwIGEsICNwYXltZW50cy1kZXRhaWxzLXdyYXAgYnV0dG9uW3R5cGU9J3N1Ym1pdCddLFxuI3BheW1lbnQtc3VtbWFyeS13cmFwIC5idXR0b24td3JhcCBhLFxuI3BheW1lbnQtc3VtbWFyeS13cmFwIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICB3aWR0aDogNDglOyB9XG5cbiNwYXltZW50cy1kZXRhaWxzLXdyYXAgLmJ1dHRvbi13cmFwIC5idG4tYmFjayxcbiNwYXltZW50LXN1bW1hcnktd3JhcCAuYnV0dG9uLXdyYXAgLmJ0bi1iYWNrIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ0bi1yb3cge1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gIC5idG4tcm93IGEge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMTJweDsgfVxuICAuYnRuLXJvdyBhOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNwYXltZW50cy1kZXRhaWxzLXdyYXAgLmJ1dHRvbi13cmFwIGEsICNwYXltZW50cy1kZXRhaWxzLXdyYXAgYnV0dG9uW3R5cGU9J3N1Ym1pdCddLFxuICAjcGF5bWVudC1zdW1tYXJ5LXdyYXAgLmJ1dHRvbi13cmFwIGEsXG4gICNwYXltZW50LXN1bW1hcnktd3JhcCBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAxNTZweDsgfVxuICAjcGF5bWVudHMtZGV0YWlscy13cmFwIC5idXR0b24td3JhcCAuYnRuLWNhbmNlbCxcbiAgI3BheW1lbnQtc3VtbWFyeS13cmFwIC5idXR0b24td3JhcCAuYnRuLWNhbmNlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG4gICNwYXltZW50cy1kZXRhaWxzLXdyYXAgLmJ1dHRvbi13cmFwIC5idG4tYmFjayxcbiAgI3BheW1lbnQtc3VtbWFyeS13cmFwIC5idXR0b24td3JhcCAuYnRuLWJhY2sge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5idG4tcm93IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4OyB9XG4gICAgLmJ0bi1yb3cgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTJweDsgfVxuICAgIC5idG4tcm93IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ubWRsLWNhcmQge1xuICB3aWR0aDogMTAwJTsgfVxuICAubWRsLWNhcmQgaDEge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLm1kbC1jYXJkIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLm1kbC1jYXJkIHVsIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm1kbC1jYXJkIHVsIGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjVzIGVhc2U7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5tZGwtY2hlY2tib3gge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLm1kbC1jaGVja2JveF9fbGFiZWwgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tZGwtY2hlY2tib3hfX2xhYmVsIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxuLyogPT09PT09PT09IGNsZWFyZml4ICA9PT09PT09PT0gKi9cbi5jbGVhcmZpeDphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgY29udGVudDogXCIgXCI7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDA7IH1cblxuLmNsZWFyZml4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiogaHRtbCAuY2xlYXJmaXgge1xuICBoZWlnaHQ6IDElOyB9XG5cbi5jbGVhcmZpeCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmRhdGUtcGlja2VyLWRhdGUtdGltZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5bZGF0ZS1waWNrZXJdIHNwYW4uZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwOyB9XG5cbltkYXRlLXBpY2tlcl0gdGhbbmctY2xpY2s9XCJuZXh0KClcIl0sXG5bZGF0ZS1waWNrZXJdIHRoW25nLWNsaWNrPVwicHJldigpXCJdIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbltkYXRlLXBpY2tlci13cmFwcGVyXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiAyMjBweDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuW2RhdGUtcmFuZ2VdIFtkYXRlLXBpY2tlcl0gLmFmdGVyLmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuXG5bZGF0ZS1yYW5nZV0gW2RhdGUtcGlja2VyXSAuYWZ0ZXIuYmVmb3JlOmhvdmVyLFxuW2RhdGUtcmFuZ2VdIFtkYXRlLXBpY2tlcl0gLmFmdGVyLmJlZm9yZTphY3RpdmUsXG5bZGF0ZS1yYW5nZV0gW2RhdGUtcGlja2VyXSAuYWZ0ZXIuYmVmb3JlLmFjdGl2ZSxcbltkYXRlLXJhbmdlXSBbZGF0ZS1waWNrZXJdIC5hZnRlci5iZWZvcmUuZGlzYWJsZWQsXG5bZGF0ZS1yYW5nZV0gW2RhdGUtcGlja2VyXSAuYWZ0ZXIuYmVmb3JlW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY2YWI0O1xuICAqYmFja2dyb3VuZC1jb2xvcjogIzJhNWVhMDsgfVxuXG5bZGF0ZS1yYW5nZV0gW2RhdGUtcGlja2VyXSAuYWZ0ZXIuYmVmb3JlOmFjdGl2ZSxcbltkYXRlLXJhbmdlXSBbZGF0ZS1waWNrZXJdIC5hZnRlci5iZWZvcmUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0NTI4YyBcXDk7IH1cblxuW2RhdGUtcGlja2VyXS5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRlLXBpY2tlcl0ge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1vLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC8qIEdFTkVSQUwgKi9cbiAgcGFkZGluZzogNHB4O1xuICAvKiBTUEVDSUZJQyAqLyB9XG5cbltkYXRlLXBpY2tlcl0gdGFibGUge1xuICBtYXJnaW46IDA7IH1cblxuLyogSGVhZGVyIGJhcnMgKi9cbltkYXRlLXBpY2tlcl0gdGQsXG5bZGF0ZS1waWNrZXJdIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBib3JkZXI6IG5vbmU7IH1cblxuW2RhdGUtcGlja2VyXSAuc3dpdGNoIHtcbiAgd2lkdGg6IDE0NXB4OyB9XG5cbltkYXRlLXBpY2tlcl0gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMjMlO1xuICBoZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAxJTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbltkYXRlLXBpY2tlcl0gc3Bhbjpob3ZlciB7XG4gIC8qIGJhY2tncm91bmQ6ICNlZWVlZWU7ICovIH1cblxuLyogRGlzYWJsZWQgICovXG5bZGF0ZS1waWNrZXJdIC5kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG5cbltkYXRlLXBpY2tlcl0gW25nLXN3aXRjaC13aGVuPVwieWVhclwiXSBzcGFuLFxuW2RhdGUtcGlja2VyXSBbbmctc3dpdGNoLXdoZW49XCJtb250aFwiXSBzcGFuLFxuW2RhdGUtcGlja2VyXSBbbmctc3dpdGNoLXdoZW49XCJtaW51dGVzXCJdIHNwYW4ge1xuICBoZWlnaHQ6IDU0cHg7XG4gIGxpbmUtaGVpZ2h0OiA1NHB4OyB9XG5cbltkYXRlLXBpY2tlcl0gW25nLXN3aXRjaC13aGVuPVwiZGF0ZVwiXSB0ZCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuW2RhdGUtcGlja2VyXSBbbmctc3dpdGNoLXdoZW49XCJkYXRlXCJdIHNwYW4ge1xuICB3aWR0aDogNDZweDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBsaW5lLWhlaWdodDogNDZweDsgfVxuXG5bZGF0ZS1waWNrZXJdIFtuZy1zd2l0Y2gtd2hlbj1cImRhdGVcIl0gdGQgc3BhbiB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMXM7IH1cblxuW2RhdGUtcGlja2VyXSB0ZCBzcGFuOmhvdmVyIHtcbiAgLyogYmFja2dyb3VuZDogI2Y5ZjlmOTsgKi9cbiAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNkYXRlLXBpY2tlci13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNkYXRlLXBpY2tlci13cmFwIFtkYXRlLXBpY2tlcl0ge1xuICAgIHBhZGRpbmc6IG5vbmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIC5ub3cge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAgICNkYXRlLXBpY2tlci13cmFwIFtkYXRlLXBpY2tlcl0gLmFjdGl2ZSxcbiAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIC5hY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIFtkYXRlLXBpY2tlcl0gW2RhdGUtcGlja2VyXSBbbmctc3dpdGNoLXdoZW49XCJkYXRlXCJdIHNwYW4ge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzIGVhc2U7IH1cbiAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIHNwYW4ge1xuICAgICAgbWFyZ2luOiAxJTtcbiAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIFtuZy1zd2l0Y2gtd2hlbj1cImRhdGVcIl0gc3BhbiB7XG4gICAgICB3aWR0aDogMzhweDtcbiAgICAgIGhlaWdodDogMzhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG4gICNkYXRlLXBpY2tlci13cmFwIFtkYXRlLXJhbmdlXSBbZGF0ZS1waWNrZXJdIC5hZnRlci5iZWZvcmU6aG92ZXIsXG4gICNkYXRlLXBpY2tlci13cmFwIFtkYXRlLXJhbmdlXSBbZGF0ZS1waWNrZXJdIC5hZnRlci5iZWZvcmU6YWN0aXZlLFxuICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1yYW5nZV0gW2RhdGUtcGlja2VyXSAuYWZ0ZXIuYmVmb3JlLmFjdGl2ZSxcbiAgI2RhdGUtcGlja2VyLXdyYXAgW2RhdGUtcmFuZ2VdIFtkYXRlLXBpY2tlcl0gLmFmdGVyLmJlZm9yZS5kaXNhYmxlZCxcbiAgI2RhdGUtcGlja2VyLXdyYXAgW2RhdGUtcmFuZ2VdIFtkYXRlLXBpY2tlcl0gLmFmdGVyLmJlZm9yZVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbiNkYXRlLXBpY2tlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNkYXRlLXBpY2tlci13cmFwIFtkYXRlLXBpY2tlcl0gdGFibGUge1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcwcHgpIHtcbiAgI2RhdGUtcGlja2VyLXdyYXAge1xuICAgIC8qIEFkZGRpdGlvbmFsIFN0eWxlcyAqLyB9XG4gICAgI2RhdGUtcGlja2VyLXdyYXAgW2RhdGUtcGlja2VyXSB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgI2RhdGUtcGlja2VyLXdyYXAgW2RhdGUtcGlja2VyXSBbbmctc3dpdGNoLXdoZW49XCJkYXRlXCJdIHNwYW4ge1xuICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDsgfVxuICAgICNkYXRlLXBpY2tlci13cmFwIC5kYXktcmFuZ2Uge1xuICAgICAgY29sb3I6ICNjMWMxYzE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAjZGF0ZS1waWNrZXItd3JhcCAuYXJyb3cge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgY29sb3I6ICMzZTNlM2U7XG4gICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgI2RhdGUtcGlja2VyLXdyYXAgLm1vbnRoIHtcbiAgICAgIGNvbG9yOiAjM2UzZTNlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICNkYXRlLXBpY2tlci13cmFwIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNkYXRlLXBpY2tlci13cmFwIFtkYXRlLXBpY2tlcl0ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNkYXRlLXBpY2tlci13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogQWRkZGl0aW9uYWwgU3R5bGVzICovIH1cbiAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIHtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTsgfVxuICAgICAgI2RhdGUtcGlja2VyLXdyYXAgW2RhdGUtcGlja2VyXSB0YWJsZSB7XG4gICAgICAgIG1hcmdpbjogNnB4OyB9XG4gICAgICAjZGF0ZS1waWNrZXItd3JhcCBbZGF0ZS1waWNrZXJdIHRoOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZhZmFmYTsgfSB9XG5cbi53aWRnZXQtZG90cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG4gIC53aWRnZXQtZG90cyBhLnRhYiB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAud2lkZ2V0LWRvdHMgYS50YWI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC53aWRnZXQtZG90cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5yYWRpby13cmFwIHtcbiAgcGFkZGluZzogNHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAucmFkaW8td3JhcCAud2QtMzMtc20ge1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG5cbmlucHV0W3R5cGU9J21vbnRoJ10ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uZXJyb3ItdHh0IHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5lcnJvci13cmFwIHtcbiAgcGFkZGluZzogOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiA4cHg7IH1cbiAgLmVycm9yLXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbjogOHB4OyB9XG5cbi5lcnJvci1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBoZWlnaHQ6IDIycHg7IH1cblxuLmVycm9yLWJsb2NrIHtcbiAgaGVpZ2h0OiAzMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5lcnJvci1ibG9jayAuZXJyb3JzLXNtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyB9XG5cbi5lcnJvcnMtc20ge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmVycm9yLXRpbWVzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi10b3A6IC01cHg7IH1cblxuLmV4cGlyeS1lcnJvci13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB0b3A6IC0xNHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMThweDsgfVxuICAuZXhwaXJ5LWVycm9yLXdyYXAgLmVycm9yLWNvbnRhaW5lcjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7IH1cbiAgLmV4cGlyeS1lcnJvci13cmFwIC5lcnJvci1jb250YWluZXI6bnRoLWNoaWxkKDIpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAwOyB9XG5cbi5leHBpcnktbGFiZWwge1xuICBtYXgtd2lkdGg6IDgwcHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5leHBpcnktbW9udGgtaW5wdXQge1xuICBtYXgtd2lkdGg6IDgwcHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmV4cGlyeS15ZWFyLWlucHV0IHtcbiAgbWF4LXdpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbiNjdmMtbGluayB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNHB4O1xuICBib3R0b206IDIycHg7IH1cblxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG5hLmJ0bi1zdGQge1xuICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTM3MjU1KSAwcHggMnB4IDJweCAwcHgsIHJnYmEoMCwgMCwgMCwgMC4yKSAwcHggM3B4IDFweCAtMnB4LCByZ2JhKDAsIDAsIDAsIDAuMTE3NjQ3KSAwcHggMXB4IDVweCAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGhlaWdodDogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIG1pbi13aWR0aDogNjRweDtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMHMsIDBzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzLCAwLjJzLCAwLjJzO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgYmFja2dyb3VuZC1jb2xvciwgY29sb3I7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSwgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDY0cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5iYWNrIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuYS5uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jaGVjay13cmFwIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4IHdoaXRlIGluc2V0OyB9XG5cbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAvKiBkaXNwbGF5OiBub25lOyA8LSBDcmFzaGVzIENocm9tZSBvbiBob3ZlciAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgLyogPC0tIEFwcGFyZW50bHkgc29tZSBtYXJnaW4gYXJlIHN0aWxsIHRoZXJlIGV2ZW4gdGhvdWdoIGl0J3MgaGlkZGVuICovIH1cblxuLmVycm9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC00cHg7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4ubWRsLXRleHRmaWVsZF9faW5wdXQge1xuICBwYWRkaW5nOiA4cHggMCA2cHggMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAubWRsLXRleHRmaWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCwgLm1kbC10ZXh0ZmllbGRfX2lucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsIC5tZGwtdGV4dGZpZWxkX19pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLCAubWRsLXRleHRmaWVsZF9faW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUge1xuICAgIC8qXHJcbiAgICAgICAgICAgKiBIYWNrIHRvIHByZXZlbnQgYmFja2dyb3VuZCBjb2xvciBsb29raW5nIGNyYXBweS4gVHJhbnNpdGlvbiBkZWxheSBpcyBzbyBsb25nIGl0IFwibmV2ZXJcIiBnZXRzIHNlZW4uXHJcbiAgICAgICAgICAgKiBSRUY6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI5NTgwNzA0L2NoYW5nZS1pbnB1dC1iYWNrZ3JvdW5kLXRvLXRyYW5zcGFyZW50LW9uLWF1dG9jb21wbGV0ZS1mb3JtXHJcbiAgICAgICAgICAgKi9cbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA5OTk5czsgfVxuXG4ubWRsLXRleHRmaWVsZF9fZXhwaXJ5IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmlzLWludmFsaWQgLm1kbC10ZXh0ZmllbGRfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1mb2N1c2VkIC5tZGwtdGV4dGZpZWxkX19sYWJlbCxcbi5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1kaXJ0eSAubWRsLXRleHRmaWVsZF9fbGFiZWwge1xuICBmb250LXNpemU6IDEycHg7IH1cblxubGFiZWwudGVybXMtY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQ6IDQwMHB4KSB7XG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1pbnZhbGlkIC5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtZm9jdXNlZCAubWRsLXRleHRmaWVsZF9fbGFiZWwsXG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1kaXJ0eSAubWRsLXRleHRmaWVsZF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7IH1cbiAgLm1kbC10ZXh0ZmllbGRfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDsgfSB9XG5cbi5hZGRyZXNzLWZvcm0tc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDVweCAxNXB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuYWRkcmVzcy1mb3JtLXNlY3Rpb25fX2lucHV0V3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmFkZHJlc3MtZm9ybS1zZWN0aW9uX19pbnB1dFdyYXAuaGFzRXJyb3IgLmVycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuYWRkcmVzcy1mb3JtLXNlY3Rpb25fX2lucHV0V3JhcCAuZXJyb3Ige1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogLTE0cHggMCAwIDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmFkZHJlc3MtZm9ybS1zZWN0aW9uIGg0IHtcbiAgICBtYXJnaW46IDAgMCAzcHggMDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmFkZHJlc3MtZm9ybS1zZWN0aW9uIC5tZGwtdGV4dGZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDsgfVxuICAuYWRkcmVzcy1mb3JtLXNlY3Rpb24gLm1kbC10ZXh0ZmllbGRfX2xhYmVsIHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmFkZHJlc3MtZm9ybS1zZWN0aW9uIC5tZGwtdGV4dGZpZWxkX19pbnB1dCxcbiAgLmFkZHJlc3MtZm9ybS1zZWN0aW9uIC5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctc20ge1xuICBwYWRkaW5nOiA0cHg7IH1cblxuLnBhZGRpbmctbWQge1xuICBwYWRkaW5nOiA4cHg7IH1cblxuLnBhZGRpbmctbGcge1xuICBwYWRkaW5nOiAxNnB4OyB9XG5cbi5tYXJnaW4tc20ge1xuICBtYXJnaW46IDRweDsgfVxuXG4ubWFyZ2luLW1kIHtcbiAgbWFyZ2luOiA4cHg7IH1cblxuLm1hcmdpbi1sZyB7XG4gIG1hcmdpbjogMTZweDsgfVxuXG4ubWFyZ2luLW1kLXRvcCB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuXG4ubWFyZ2luLWxnLXRvcCB7XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cblxuLm1hcmdpbi1tZC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLm1hcmdpbi1sZy1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5tYXJnaW4tbWQtbHQge1xuICBtYXJnaW4tbGVmdDogOHB4OyB9XG5cbi5tYXJnaW4tbWQtcnQge1xuICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4udG9wIHtcbiAgei1pbmRleDogMzAgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi53ZC0xMC1zbSxcbi53ZC0xMC1tZCxcbi53ZC0xMC1sZyxcbi53ZC0yMC1zbSxcbi53ZC0yMC1tZCxcbi53ZC0yMC1sZyxcbi53ZC0yNS1zbSxcbi53ZC0yNS1tZCxcbi53ZC0yNS1sZyxcbi53ZC0zMC1zbSxcbi53ZC0zMC1tZCxcbi53ZC0zMC1sZyxcbi53ZC0zMy1zbSxcbi53ZC0zMy1tZCxcbi53ZC0zMy1sZyxcbi53ZC00MC1zbSxcbi53ZC00MC1tZCxcbi53ZC00MC1sZyxcbi53ZC01MC1zbSxcbi53ZC01MC1tZCxcbi53ZC01MC1sZyxcbi53ZC02MC1zbSxcbi53ZC02MC1tZCxcbi53ZC0xMC1sZyxcbi53ZC02Ni1zbSxcbi53ZC02Ni1tZCxcbi53ZC02Ni1sZyxcbi53ZC03MC1zbSxcbi53ZC03MC1tZCxcbi53ZC03MC1sZyxcbi53ZC03NS1zbSxcbi53ZC03NS1tZCxcbi53ZC03NS1sZyxcbi53ZC04MC1zbSxcbi53ZC04MC1tZCxcbi53ZC04MC1sZyxcbi53ZC05MC1zbSxcbi53ZC05MC1tZCxcbi53ZC05MC1sZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi53ZC0xMC1zbSB7XG4gIHdpZHRoOiAxMCU7IH1cblxuLndkLTE1LXNtIHtcbiAgd2lkdGg6IDE1JTsgfVxuXG4ud2QtMjAtc20ge1xuICB3aWR0aDogMjAlOyB9XG5cbi53ZC0yNS1zbSB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLndkLTMwLXNtIHtcbiAgd2lkdGg6IDMwJTsgfVxuXG4ud2QtMzMtc20ge1xuICB3aWR0aDogMzMlOyB9XG5cbi53ZC00MC1zbSB7XG4gIHdpZHRoOiA0MCU7IH1cblxuLndkLTUwLXNtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4ud2QtNjAtc20ge1xuICB3aWR0aDogNjAlOyB9XG5cbi53ZC02Ni1zbSB7XG4gIHdpZHRoOiA2NiU7IH1cblxuLndkLTcwLXNtIHtcbiAgd2lkdGg6IDcwJTsgfVxuXG4ud2QtNzUtc20ge1xuICB3aWR0aDogNzUlOyB9XG5cbi53ZC04MC1zbSB7XG4gIHdpZHRoOiA4MCU7IH1cblxuLndkLTgwLXNtIHtcbiAgd2lkdGg6IDgwJTsgfVxuXG4ud2QtOTAtc20ge1xuICB3aWR0aDogOTAlOyB9XG5cbi53ZC0xMC1zbSB7XG4gIHdpZHRoOiAxMCU7IH1cblxuLndkLTE1LXNtIHtcbiAgd2lkdGg6IDE1JTsgfVxuXG4ud2QtMjAtc20ge1xuICB3aWR0aDogMjAlOyB9XG5cbi53ZC0yNS1zbSB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLndkLTMwLXNtIHtcbiAgd2lkdGg6IDMwJTsgfVxuXG4ud2QtMzMtc20ge1xuICB3aWR0aDogMzMlOyB9XG5cbi53ZC00MC1zbSB7XG4gIHdpZHRoOiA0MCU7IH1cblxuLndkLTUwLXNtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4ud2QtNjAtc20ge1xuICB3aWR0aDogNjAlOyB9XG5cbi53ZC02Ni1zbSB7XG4gIHdpZHRoOiA2NiU7IH1cblxuLndkLTcwLXNtIHtcbiAgd2lkdGg6IDcwJTsgfVxuXG4ud2QtNzUtc20ge1xuICB3aWR0aDogNzUlOyB9XG5cbi53ZC04MC1zbSB7XG4gIHdpZHRoOiA4MCU7IH1cblxuLndkLTgwLXNtIHtcbiAgd2lkdGg6IDgwJTsgfVxuXG4ud2QtOTAtc20ge1xuICB3aWR0aDogOTAlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLndkLTEwLW1kIHtcbiAgICB3aWR0aDogMTAlOyB9XG4gIC53ZC0xNS1tZCB7XG4gICAgd2lkdGg6IDE1JTsgfVxuICAud2QtMjAtbWQge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLndkLTI1LW1kIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53ZC0zMC1tZCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAud2QtMzMtbWQge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgLndkLTQwLW1kIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC53ZC01MC1tZCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2QtNjAtbWQge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLndkLTY2LW1kIHtcbiAgICB3aWR0aDogNjYlOyB9XG4gIC53ZC03MC1tZCB7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAud2QtNzUtbWQge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndkLTgwLW1kIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC53ZC04MC1tZCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAud2QtOTAtbWQge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLndkLTEwLW1kIHtcbiAgICB3aWR0aDogMTAlOyB9XG4gIC53ZC0xNS1tZCB7XG4gICAgd2lkdGg6IDE1JTsgfVxuICAud2QtMjAtbWQge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLndkLTI1LW1kIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53ZC0zMC1tZCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAud2QtMzMtbWQge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgLndkLTQwLW1kIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC53ZC01MC1tZCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2QtNjAtbWQge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLndkLTY2LW1kIHtcbiAgICB3aWR0aDogNjYlOyB9XG4gIC53ZC03MC1tZCB7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAud2QtNzUtbWQge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndkLTgwLW1kIHtcbiAgICB3aWR0aDogODAlOyB9XG4gIC53ZC04MC1tZCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAud2QtOTAtbWQge1xuICAgIHdpZHRoOiA5MCU7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC53ZC0xMC1sZyB7XG4gICAgd2lkdGg6IDEwJTsgfVxuICAud2QtMTUtbGcge1xuICAgIHdpZHRoOiAxNSU7IH1cbiAgLndkLTIwLWxnIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC53ZC0yNS1sZyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2QtMzAtbGcge1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgLndkLTMzLWxnIHtcbiAgICB3aWR0aDogMzMlOyB9XG4gIC53ZC00MC1sZyB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAud2QtNTAtbGcge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndkLTYwLWxnIHtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC53ZC02Ni1sZyB7XG4gICAgd2lkdGg6IDY2JTsgfVxuICAud2QtNzAtbGcge1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgLndkLTc1LWxnIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53ZC04MC1sZyB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAud2QtODAtbGcge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLndkLTkwLWxnIHtcbiAgICB3aWR0aDogOTAlOyB9IH1cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNik7IH1cbiAgaGVhZGVyIHNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLW1vei1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgLW1vei1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC1tcy1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XG4gICAgaGVhZGVyIHNlY3Rpb24gYSBpbWcge1xuICAgICAgaGVpZ2h0OiA0MHB4OyB9XG4gICAgaGVhZGVyIHNlY3Rpb24gLmJ1c2luZXNzTGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBoZWFkZXIgc2VjdGlvbiAuYXBwVmVyc2lvbixcbiAgICBoZWFkZXIgc2VjdGlvbiAuYnVzaW5lc3NQaG9uZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgaGVhZGVyIHNlY3Rpb24gc3BhbiB7XG4gICAgICBjb2xvcjogI2RkZDtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICBoZWFkZXIgc2VjdGlvbiBhLmJ1c2luZXNzTGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSBhbmQgKG1pbi13aWR0aDogNzY4cHgpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICBoZWFkZXIgc2VjdGlvbiBhLmJ1c2luZXNzTGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxMDBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyIHNlY3Rpb24ge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG4gICAgaGVhZGVyIHNlY3Rpb24gYSBpbWcge1xuICAgICAgaGVpZ2h0OiA4NnB4OyB9IH1cblxuaW1nLmNhcmQtbG9nbyB7XG4gIGhlaWdodDogNDVweDsgfVxuXG4jY292ZXJzLXRpbWUtd3JhcCAubG9hZGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IDMwMHB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDM1cHg7IH1cblxuLmxvYWRpbmctd3JhcC1mdWxsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDMwICFpbXBvcnRhbnQ7IH1cbiAgLmxvYWRpbmctd3JhcC1mdWxsIC5sb2FkaW5nLCAubG9hZGluZy13cmFwLWZ1bGwgLmxvYWRpbmctY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubG9hZGluZy13cmFwLWZ1bGwgLmxvYWRpbmctY29udGVudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxvYWRpbmctd3JhcC1mdWxsIC5sb2FkaW5nLWNvbnRlbnQgLmxvYWRlciB7XG4gICAgICBib3R0b206IC0xMnB4OyB9XG4gICAgLmxvYWRpbmctd3JhcC1mdWxsIC5sb2FkaW5nLWNvbnRlbnQgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH1cbiAgICAubG9hZGluZy13cmFwLWZ1bGwgLmxvYWRpbmctY29udGVudCBzcGFuLnRleHQtc20ge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5pbmxpbmUtbG9hZGVyLXdyYXAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzOHB4OyB9XG4gIC5pbmxpbmUtbG9hZGVyLXdyYXAgLmlubGluZS1sb2FkZXIge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmxvYWRlciwgLnN0YXJ0dXAtbG9hZGVyIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBmb250LXNpemU6IDZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZDggMS4xcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogbG9hZDggMS4xcyBpbmZpbml0ZSBsaW5lYXI7IH1cblxuLmxvYWRlcixcbi5sb2FkZXI6YWZ0ZXIsXG4uc3RhcnR1cC1sb2FkZXIsXG4uc3RhcnR1cC1sb2FkZXI6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQ4IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxvYWQ4IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4ubG9hZGVyIHtcbiAgYm9yZGVyLXRvcDogMS4xZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmlnaHQ6IDEuMWVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLWJvdHRvbTogMS4xZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItbGVmdDogMS4xZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi8qIFRoZSBzdGFydGluZyBDU1Mgc3R5bGVzIGZvciB0aGUgZW50ZXIgYW5pbWF0aW9uICovXG5tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogNTRweDtcbiAgcGFkZGluZy1ib3R0b206IDk4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgbWFpbiAjY3VzdG9tZXItZGV0YWlscy13cmFwLFxuICBtYWluICNzdW1tYXJ5LXdyYXAsXG4gIG1haW4gI3BheW1lbnRzLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gICAgbWFpbiAjY3VzdG9tZXItZGV0YWlscy13cmFwIC5tZGwtdGV4dGZpZWxkLFxuICAgIG1haW4gI3N1bW1hcnktd3JhcCAubWRsLXRleHRmaWVsZCxcbiAgICBtYWluICNwYXltZW50cy13cmFwIC5tZGwtdGV4dGZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBtYWluICNjdXN0b21lci1kZXRhaWxzLXdyYXAgLm1kbC10ZXh0ZmllbGQgbGFiZWwsXG4gICAgICBtYWluICNzdW1tYXJ5LXdyYXAgLm1kbC10ZXh0ZmllbGQgbGFiZWwsXG4gICAgICBtYWluICNwYXltZW50cy13cmFwIC5tZGwtdGV4dGZpZWxkIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNjY2M7IH1cbiAgbWFpbiAjc3VtbWFyeS13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgbWFpbiAjY3VzdG9tZXItZGV0YWlscy13cmFwLCBtYWluICNzdW1tYXJ5LXdyYXAsIG1haW4gLnNjaGVkdWxlLXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9XG4gIG1haW4gdWwgbGkge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIG1haW4gdWwgbGkgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgY29sb3I6ICNBMUExQTE7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtaW4td2lkdGg6IDkycHg7IH1cbiAgbWFpbiBvbCB7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlOyB9XG4gIG1haW4gLmhlbHBlciB7XG4gICAgY29sb3I6ICNkZGQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICBtYWluICNib29raW5nLWZvci13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBtYWluICNib29raW5nLWZvci13cmFwIC5jb3ZlcnMtc3Bpbm5lciAuYm9va2luZy1udW1iZXItaW5wdXQge1xuICAgICAgd2lkdGg6IDgwcHg7IH1cbiAgbWFpbiAubGluay13cmFwIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICBtYWluIC5zZXJ2aWNlLXdyYXAsXG4gIG1haW4gLnNlY3Rpb24td3JhcCB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICBtYWluICNzaXR0aW5nLXdyYXAsXG4gIG1haW4gI3ZlbnVlcy13cmFwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgbWFpbiAjdGFncy13cmFwIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4OyB9XG4gIG1haW4gI3RhZ3Mtc3VtbWFyeS13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4OyB9XG4gIG1haW4gI2RhdGUtcGlja2VyLXdyYXAge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4OyB9XG4gIG1haW4gLmJvb2tpbmctYmFyIGltZyB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIG1haW4gLnBheW1lbnQtc3VtbWFyeSBsaSB7XG4gICAgZm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgbWFpbiAucGF5bWVudC1zdW1tYXJ5IGxpIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgY29sb3I6ICM0ZTRlNGU7IH1cbiAgICBtYWluIC5wYXltZW50LXN1bW1hcnkgbGkuaGFzLWNoaWxkLW9wdGlvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBtYWluIC5wYXltZW50LXN1bW1hcnkgbGkuaXMtY2hpbGQtb3B0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICNBMUExQTEgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50OyB9XG4gICAgICBtYWluIC5wYXltZW50LXN1bW1hcnkgbGkuaXMtY2hpbGQtb3B0aW9uIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICBtYWluICNwYXltZW50LXN1bW1hcnktd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgbWFpbiAjcGF5bWVudC1zdW1tYXJ5LXdyYXAgcCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIG1haW4gLnNlcnZpY2UtbWVzc2FnZV9fd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBtYWluIC5zZXJ2aWNlLW1lc3NhZ2VfX3dyYXAgcCBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgbWFpbiAuc2VydmljZS1tZXNzYWdlX193cmFwIHAgYTpob3ZlciB7XG4gICAgICBmb250LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIG1haW4gLnNlcnZpY2UtbWVzc2FnZV9fd3JhcDpmaXJzdC1jaGlsZCArICoge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIG1haW4gLnNlcnZpY2UtbWVzc2FnZV9fd3JhcCAubWVudS1vcHRpb25zLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMjVweDsgfVxuICBtYWluIC5zZXJ2aWNlLW1lc3NhZ2VfX21hcmtkb3duIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgbWFpbiAuc2VydmljZS1tZXNzYWdlX19tYXJrZG93biBwIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgbWFpbiAucGF5bWVudC1vcHRpb25zLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtd3JhcCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLXdyYXAgcCBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy13cmFwIHAgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLXdyYXAgLmJvb2tpbmctbnVtYmVyLWlucHV0IHtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLXdyYXAgLnBheW1lbnQtb3B0aW9ucy1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtd3JhcCAucGF5bWVudC1vcHRpb25zLWRlc2NyaXB0aW9uID4gcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLXdyYXAgPiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICBtYWluIC5wYXltZW50LW9wdGlvbnMtLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy0tZ3JpZCA+ICoge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLS1ncmlkID4gKjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICBtYWluIC5wb2xpY3ktYWdyZWVtZW50LW92ZXJsYXkgLnBvcHVwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgbWFpbiAucG9saWN5LWFncmVlbWVudC1vdmVybGF5IGEuYnRuLm5leHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgbWFpbiAucG9saWN5LWFncmVlbWVudC1vdmVybGF5IGEuYnRuLm5leHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheSB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXkgLnBvcHVwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXkgLm1vZGFsLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5IC5tb2RhbC1mb290ZXIgLmJ0biB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5IC5tb2RhbC1mb290ZXIgLmJ0biB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICAgICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheSAubW9kYWwtZm9vdGVyIC5idG46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19kb3RzV3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IDVweCAwIDE1cHggMDsgfVxuICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19kb3RzIHtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZG90cy5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19kb3RzOmhvdmVyLCBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZG90czpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fY2hlY2tib3gtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2NoZWNrYm94LWFsbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cGxpY2l0LWNoaWxkLW1lbnUtb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cFF1T3B0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHRyYW5zaXRpb246IDAuNHMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZXhwUXVPcHQubmctZW50ZXIge1xuICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cFF1T3B0Lm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19leHBRdU9wdC5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUuaXMtc2Nyb2xsaW5nLWxlZnR3YXJkcyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cFF1T3B0Lm5nLWxlYXZlIHtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZXhwUXVPcHQubmctbGVhdmUuaXMtc2Nyb2xsaW5nLWxlZnR3YXJkcyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19leHBRdU9wdCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cFF1T3B0ID4gKiB7XG4gICAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZXhwUXVPcHQgPiAqOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9IH1cbiAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZXhwUXVPcHRTY3JvbGxXcmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAwIDEwcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cFF1T3B0U2Nyb2xsV3JhcC5pcy1tdWx0aS1xdWFudGl0eSB7XG4gICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAzMjBweDsgfSB9XG4gICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fZXhwUXVPcHRTY3JvbGxXcmFwLmlzLXNjcm9sbGFibGUge1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19zdWJ0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX25hdiB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fbmF2IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19leHBsaWNpdC1jaGlsZC1tZW51LW9wdGlvbnMtbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19leHBsaWNpdC1jaGlsZC1tZW51LW9wdGlvbnMtbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH0gfVxuICAgICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2V4cGxpY2l0LWNoaWxkLW1lbnUtb3B0aW9ucy1uYXYgLmJ0biB7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19leHBsaWNpdC1jaGlsZC1tZW51LW9wdGlvbnMtbmF2IC5idG5bZGlzYWJsZWRdIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19vcHRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19jaGlsZC1tZW51LW9wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgICBtYWluIC5wYXltZW50LW9wdGlvbnMtb3ZlcmxheV9fY2hpbGQtbWVudS1vcHRpb25zID4gKiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAgIG1haW4gLnBheW1lbnQtb3B0aW9ucy1vdmVybGF5X19jaGlsZC1tZW51LW9wdGlvbnMgPiAqOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfSB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2NoaWxkLW1lbnUtb3B0aW9ucy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgbWFpbiAucGF5bWVudC1vcHRpb25zLW92ZXJsYXlfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICBtYWluIC5zZXJ2aWNlLWluZm8td3JhcCB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm1hcmtkb3duX19jb250ZW50IGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uYm9va2luZy10aW1lc19fd3JhcCB7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4ucGF5bWVudC1jb21wbGV0ZS13cmFwIHAge1xuICBtYXJnaW46IDE2cHggMCAxNnB4IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBtYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAxMTRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODhweDsgfVxuICAgIG1haW4gI3NpdHRpbmctd3JhcCxcbiAgICBtYWluICNjdXN0b21lci1kZXRhaWxzLXdyYXAsXG4gICAgbWFpbiAjc3VtbWFyeS13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgIG1haW4gI3BheW1lbnRzLXdyYXAgLndkLTUwLW1kOmZpcnN0LWNoaWxkLFxuICAgIG1haW4gI3BheW1lbnRzLWRldGFpbHMtd3JhcCAud2QtNTAtbWQ6Zmlyc3QtY2hpbGQsXG4gICAgbWFpbiAjY3VzdG9tZXItZGV0YWlscy13cmFwIC53ZC01MC1tZDpmaXJzdC1jaGlsZCxcbiAgICBtYWluICNzdW1tYXJ5LXdyYXAgLndkLTUwLW1kOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuICAgIG1haW4gI3BheW1lbnRzLXdyYXAgLndkLTUwLW1kOm50aC1jaGlsZCgyKSxcbiAgICBtYWluICNwYXltZW50cy1kZXRhaWxzLXdyYXAgLndkLTUwLW1kOm50aC1jaGlsZCgyKSxcbiAgICBtYWluICNjdXN0b21lci1kZXRhaWxzLXdyYXAgLndkLTUwLW1kOm50aC1jaGlsZCgyKSxcbiAgICBtYWluICNzdW1tYXJ5LXdyYXAgLndkLTUwLW1kOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxuICAgIG1haW4gI2N1c3RvbWVyLWRldGFpbHMtd3JhcCwgbWFpbiAjc3VtbWFyeS13cmFwLCBtYWluIC5zY2hlZHVsZS13cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgbWFpbiAjY292ZXJzLXRpbWUtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIG1haW4gI2NvdmVycy10aW1lLXdyYXA6bm90KC5pc0Z1bGxXaWR0aCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7IH1cbiAgICBtYWluICNzaXR0aW5nLXdyYXAge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIG1haW4gI3ZlbnVlcy13cmFwIHtcbiAgICAgIG1hcmdpbi10b3A6IDMycHg7IH1cbiAgICBtYWluIHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgbWFpbiB1bCBsaSBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsgfVxuICAgIG1haW4gLnBheW1lbnQtc3VtbWFyeSBsaSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgIG1haW4gLnBheW1lbnQtc3VtbWFyeSBsaSBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNTBweDsgfSB9XG5cbi5zaXR0aW5nX19kYXRlLXRvZ2dsZS1idG4tc3RyaXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNpdHRpbmdfX2RhdGUtdG9nZ2xlLWJ0bi1zdHJpcCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC00OXB4OyB9IH1cblxuLnBheW1lbnQtc3VtbWFyeS10ZXJtcy1saW5rIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBheW1lbnQtc3VtbWFyeS10ZXJtcy1saW5rIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cblxuLm1lbnUtb3B0aW9uLXdyYXAge1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tZW51LW9wdGlvbi1yYWRpbyAubWVudS1vcHRpb24td3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAubWVudS1vcHRpb24td3JhcF9fb3V0ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1lbnUtb3B0aW9uLXdyYXAtLW1hbmRhdG9yeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAubWVudS1vcHRpb24td3JhcF9fZGVsaXZlcnktZmVlLW9wdGlvbiB7XG4gICAgbWluLWhlaWdodDogNTZweDsgfVxuICAubWVudS1vcHRpb24tcmFkaW8gLm1lbnUtb3B0aW9uLXdyYXBfX2V4dHJhcyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUtb3B0aW9uLXdyYXBfX2V4dHJhc1RleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAubWVudS1vcHRpb24td3JhcF9fZXh0cmFzVGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgcGFkZGluZy10b3A6IDNweDsgfVxuICAubWVudS1vcHRpb24td3JhcF9fZXh0cmFzUm93IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLm1lbnUtb3B0aW9uLXdyYXBfX2V4dHJhc0J0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgYm90dG9tOiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODQ3KTsgfVxuICAgIC5tZW51LW9wdGlvbi1yYWRpbyAubWVudS1vcHRpb24td3JhcF9fZXh0cmFzQnRuIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAubWVudS1vcHRpb24td3JhcF9fZXh0cmFzQnRuOmhvdmVyLCAubWVudS1vcHRpb24td3JhcF9fZXh0cmFzQnRuOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5tZW51LW9wdGlvbi13cmFwIC5wcmljZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51LW9wdGlvbi13cmFwIC5kZXNjcmlwdGlvbiB7XG4gICAgb3BhY2l0eTogLjY7IH1cbiAgICAubWVudS1vcHRpb24td3JhcCAuZGVzY3JpcHRpb24gcCB7XG4gICAgICBtYXJnaW46IDVweCAwOyB9XG4gIC5tZW51LW9wdGlvbi13cmFwIC5zcGlubmVyLXdyYXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUtb3B0aW9uLXdyYXAgLnNwaW5uZXItd3JhcCAubWRsLXRleHRmaWVsZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gIC5tZW51LW9wdGlvbi13cmFwIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLm1lbnUtb3B0aW9uLXdyYXAgLm1kbC1yYWRpbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gIC5tZW51LW9wdGlvbi13cmFwIC5tZGwtY2hlY2tib3gge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLm1lbnUtb3B0aW9uLXdyYXAgLm1kbC1jaGVja2JveC5pcy1kaXNhYmxlZCAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cblxuI25hdi13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjA7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgI25hdi13cmFwIGEudGVybXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAjbmF2LXdyYXAgc2VjdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cHg7IH1cblxuYS5idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNDklO1xuICBmbG9hdDogbGVmdDtcbiAgei1pbmRleDogMjE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuNXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cyBlYXNlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYS5idG4ubmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICNuYXYtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICAjbmF2LXdyYXAgLnRlcm1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICBib3R0b206IC04OHB4OyB9XG4gIGEuYnRuIHtcbiAgICBwYWRkaW5nOiAwIDIycHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAwcHggI2RkZCBzb2xpZDsgfVxuICBhLmJ0bi1sZWZ0IHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbmxhYmVsID4gKiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbiNjb3ZlcnMtdGltZS13cmFwIC5yYWRpby13cmFwIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjY292ZXJzLXRpbWUtd3JhcCAucmFkaW8td3JhcCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMy4zMzMzMzM0JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG4gICNjb3ZlcnMtdGltZS13cmFwIC5yYWRpby13cmFwIC5yYWRpby1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDsgfVxuXG4jc2F2ZWQtYm9va2luZy13cmFwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2NjYztcbiAgbWFyZ2luLWJvdHRvbTogLTRweDtcbiAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbiNkZXRhaWxzLWJhci13cmFwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAxMnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAjc2F2ZWQtYm9va2luZy13cmFwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjZGV0YWlscy1iYXItd3JhcCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmNvdmVycy1zcGlubmVyIGxhYmVsLFxuLnNwaW5uZXItd3JhcCBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uY292ZXJzLXNwaW5uZXIgLmlubGluZS1sYWJlbCxcbi5zcGlubmVyLXdyYXAgLmlubGluZS1sYWJlbCB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uY292ZXJzLXNwaW5uZXIgLm1kbC10ZXh0ZmllbGQsXG4uc3Bpbm5lci13cmFwIC5tZGwtdGV4dGZpZWxkIHtcbiAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi5jb3ZlcnMtc3Bpbm5lciAuYm9va2luZy1udW1iZXItaW5wdXQsXG4uc3Bpbm5lci13cmFwIC5ib29raW5nLW51bWJlci1pbnB1dCB7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5jb3ZlcnMtc3Bpbm5lciAubWRsLWJ1dHRvbi0tZmFiLFxuLnNwaW5uZXItd3JhcCAubWRsLWJ1dHRvbi0tZmFiIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWluLXdpZHRoOiAzOHB4O1xuICB3aWR0aDogMzhweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMS41cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xuICBoZWlnaHQ6IDM4cHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY292ZXJzLXNwaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgIC5jb3ZlcnMtc3Bpbm5lciAubWRsLXRleHRmaWVsZF9faW5wdXQge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5jb3ZlcnMtc3Bpbm5lciAubWRsLWJ1dHRvbi0tZmFiIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfSB9XG5cbi53aWRnZXQtdGFicyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAud2lkZ2V0LWRvdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndpZGdldC10YWJzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAud2lkZ2V0LXRhYnMgYS50YWIge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAyNHB4IDAgMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxNDBweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICAud2lkZ2V0LXRhYnMgYS50YWIuYmxvY2tlZCB7XG4gICAgb3BhY2l0eTogLjI7IH0gfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgbWFyZ2luOiAxOHB4IDAgMTBweDsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGRkZGQ7XG4gIG1hcmdpbi10b3A6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4OyB9XG5cbnAge1xuICBtYXJnaW46IDA7IH1cblxuLnRleHQtbGdlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi50ZXh0LXNtIHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi50ZXh0LXhzIHtcbiAgZm9udC1zaXplOiA5cHg7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5jdXN0b20tbWVzc2FnZSBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ubWFya2Rvd25fX21lc3NhZ2UgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5zdWItaXRlbXMge1xuICBjb2xvcjogIzg3ODc4NzsgfVxuXG4uZ3Vlc3QtbGlzdC1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmd1ZXN0LWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5ndWVzdC1saXN0LWl0ZW0tLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ndWVzdC1saXN0LWl0ZW0tLWZpZWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICAuZ3Vlc3QtbGlzdC1pdGVtLS1maWVsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLmd1ZXN0LWxpc3QtaXRlbSAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwgLm1kbC10ZXh0ZmllbGRfX2xhYmVsIHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmd1ZXN0LWxpc3QtaXRlbSAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtZGlydHkgLm1kbC10ZXh0ZmllbGRfX2xhYmVsLCAuZ3Vlc3QtbGlzdC1pdGVtIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1mb2N1c2VkIC5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZ3Vlc3QtbGlzdC1pdGVtIC5tZGwtdGV4dGZpZWxkX19pbnB1dCxcbiAgLmd1ZXN0LWxpc3QtaXRlbSAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtaW52YWxpZCAubWRsLXRleHRmaWVsZF9fbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuZ3Vlc3QtbGlzdC1pdGVtIC5tZGwtdGV4dGZpZWxkLmlzLWludmFsaWQgLm1kbC10ZXh0ZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAuZ3Vlc3QtbGlzdC1pdGVtLmhhcy1jb250ZW50LWFuZC1pbnZhbGlkIC5tZGwtdGV4dGZpZWxkLmlzLWludmFsaWQgLm1kbC10ZXh0ZmllbGRfX2lucHV0IHtcbiAgICBib3JkZXItY29sb3I6ICNkZTMyMjY7IH1cblxuLnBvcHVwIHtcbiAgcGFkZGluZzogMjBweCAyMHB4IDYwcHggMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdpZHRoOiA0NSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDVzIGVhc2UtaW4tb3V0O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogOTkwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucG9wdXAge1xuICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gIC5wb3B1cCBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBvcHVwIGgyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgcGFkZGluZzogMCAwcHggOXB4IDBweDsgfSB9XG4gIC5wb3B1cCAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDMwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMzMzM7IH1cbiAgLnBvcHVwIC5jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6ICMwNkQ4NUY7IH1cbiAgLnBvcHVwIC5jb250ZW50IHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLnBvcHVwIC5jb250ZW50IHAge1xuICAgICAgY29sb3I6IGJsYWNrOyB9XG4gIC5wb3B1cCAubW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMCAwOyB9XG4gIC5wb3B1cCAuYnRuLW9rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDZEODVGICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAucG9wdXAgLmJ0bi1vayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnBvcHVwIC5idG4tY2FuY2VsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKipcclxuICogVXNpbmcgYSBmbGV4IGxheW91dCBzaW1wbGlmaWVzIENTUyBhbmQgZml4ZXMgcGl4ZWwgcm91bmRpbmcgaXNzdWVzIG9uIGNoZWNrYm94ZXMgd2l0aGluXHJcbiAqIHRoZSBvdmVybGF5J3MgY29udGVudCBhcmVhLCBjYXVzZWQgYnkgdGhlIHRyYW5zZm9ybSBzdHlsaW5nLlxyXG4gKiBBbHNvIGltcHJvdmVzIHRoZSBzY3JvbGxpbmcgYmVoYXZvdXIgb24gaVBob25lc1xyXG4gKi9cbi5vdmVybGF5LWJldHRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHotaW5kZXg6IDEwMDtcbiAgb3BhY2l0eTogMTsgfVxuICAub3ZlcmxheS1iZXR0ZXIgLnBvcHVwIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMzBweCk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAub3ZlcmxheS1iZXR0ZXIgLnBvcHVwIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAvKiBoYXMgdG8gYmUgc2Nyb2xsLCBub3QgYXV0byAqL1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH0gfVxuXG4ucG9wdXAtY3ZjLWltZyB7XG4gIHdpZHRoOiA0MDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd2hpdGUtc3BhY2U6IC1tb3otcHJlLXdyYXA7XG4gIHdoaXRlLXNwYWNlOiAtcHJlLXdyYXA7XG4gIHdoaXRlLXNwYWNlOiAtby1wcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */