.rc-content {
  min-width: 0;
  overflow-x: hidden;
}

.rc-content [hidden] {
  display: none !important;
}

.rc-form {
  --rc-accent: #f05a2b;
  --rc-accent-dark: #cc451d;
  --rc-accent-soft: #fff2ed;
  --rc-accent-border: #f4cfbf;
  --rc-ink: #252a2f;
  --rc-ink-soft: #4c535b;
  --rc-muted: #6e757d;
  --rc-surface: #ffffff;
  --rc-surface-alt: #fafafa;
  --rc-field-bg: #f1f3f4;
  --rc-line: #d9dde2;
  --rc-line-soft: #edf0f2;
  --rc-danger: #ce3f3f;
  --rc-danger-ink: #a93030;
  --rc-danger-soft: #fdf3f3;
  --rc-danger-border: #f0c2c2;
  --rc-success-bg: #f0fbf5;
  --rc-success-border: #bce0d1;
  --rc-success-ink: #176a4a;
  --rc-radius: 4px;
  --rc-radius-sm: 3px;
  --rc-field-height: 46px;
  --rc-btn-height: 40px;
  --rc-max-width: 826px;
  --rc-font: Arial, Helvetica, sans-serif;
  --rc-text-xs: 0.79rem;
  --rc-text-sm: 0.86rem;
  --rc-text-base: 0.95rem;
  --rc-text-md: 1.05rem;
  --rc-text-lg: 1.2rem;
  --rc-text-xl: 1.54rem;
  --rc-label-size: 0.75rem;
  --rc-ease: cubic-bezier(0.23, 1, 0.32, 1);
  --rc-duration: 150ms;
  /* equivalent to width: min(100%, var(--rc-max-width)), spelled out because libsass
       resolves min() itself and chokes on a custom property inside it */
  width: 100%;
  max-width: var(--rc-max-width);
  margin: 0 auto;
  padding: 22px 0 38px;
  color: var(--rc-ink);
  font-family: var(--rc-font);
  font-size: var(--rc-text-base);
  text-align: left;
}

.rc-form *,
.rc-form *::before,
.rc-form *::after {
  box-sizing: border-box;
}

/* the shop layout and Bootstrap both style these; neutralise them inside the form only */
:where(.rc-form) :where(h1, h2, h3, h4, p, dl, dd, ul, pre) {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.45;
}

:where(.rc-form) :where(label) {
  display: block;
  max-width: none;
  margin: 0;
  font-weight: 400;
}

:where(.rc-form) :where(input, select, textarea, button) {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
}

:where(.rc-form) :where(button) {
  border: 0;
  background: none;
  color: inherit;
}

:where(.rc-form) :where(code, pre) {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font-size: inherit;
  font-family: inherit;
}

:where(.rc-form) :where(ul) {
  list-style: none;
}

:where(.rc-form) :where(fieldset) {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

:where(.rc-form) :where(section) {
  display: block;
}

/* own grid, not Bootstrap's: the page host is Bootstrap 4 and .col-xs-* does not exist there */
.rc-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 8px 12px;
}

.rc-cell {
  grid-column: span 12;
  min-width: 0;
}

@media (min-width: 768px) {
  .rc-cell--half {
    grid-column: span 6;
  }
  .rc-cell--five {
    grid-column: span 5;
  }
  .rc-cell--seven {
    grid-column: span 7;
  }
}

.rc-actions-end {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

@media (max-width: 767px) {
  .rc-actions-end {
    display: block;
  }
  .rc-actions-end .rc-btn {
    width: 100%;
  }
}

.rc-title {
  margin: 0;
  font-size: var(--rc-text-xl);
  font-weight: 700;
  line-height: 1.2;
}

.rc-lead {
  margin: 6px 0 17px;
  color: var(--rc-ink-soft);
  font-size: var(--rc-text-md);
  line-height: 1.45;
}

.rc-section {
  overflow: hidden;
  margin-bottom: 7px;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius);
  background: var(--rc-surface);
}

.rc-section-header {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) 30px;
  align-items: center;
  min-height: 43px;
  padding: 7px 10px 7px 12px;
}

.rc-section-icon {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: var(--rc-ink-soft);
}

.rc-section-icon svg {
  width: 20px;
  height: 20px;
}

.rc-section-name {
  margin: 0;
  font-size: var(--rc-text-md);
  font-weight: 700;
}

.rc-section-summary {
  overflow: hidden;
  margin-top: 2px;
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rc-edit {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border: 0;
  border-radius: var(--rc-radius-sm);
  background: transparent;
  color: var(--rc-ink-soft);
}

.rc-edit:hover, .rc-section.is-open .rc-edit {
  background: var(--rc-line-soft);
  color: var(--rc-accent-dark);
}

.rc-edit svg {
  width: 16px;
  height: 16px;
}

.rc-section-body {
  display: none;
  padding: 10px 15px 12px;
  border-top: 1px solid var(--rc-line-soft);
}

.rc-section.is-open .rc-section-body {
  display: block;
}

.rc-help, .rc-form .help-block {
  margin: 4px 0 0;
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
}

.rc-hint {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rc-hint-icon {
  flex: none;
  width: 15px;
  height: 15px;
}

.rc-hint-accent {
  color: var(--rc-accent);
}

.rc-form .rc-live-error {
  display: block;
  color: var(--rc-danger-ink);
}

.rc-form .form-group {
  margin-bottom: 0;
}

.rc-form .control-label {
  margin-bottom: 3px;
  color: var(--rc-ink-soft);
  font-size: var(--rc-label-size);
  font-weight: 700;
}

.rc-form .asteriskField {
  margin-left: 2px;
  color: var(--rc-accent-dark);
}

.rc-form .rc-limit {
  color: var(--rc-muted);
  font-weight: 400;
}

/* stated in full rather than leaning on Bootstrap, so the bare iframe host looks the same */
.rc-form .form-control {
  display: block;
  width: 100%;
  height: var(--rc-field-height);
  padding: 0 10px;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius-sm);
  background-color: var(--rc-surface);
  box-shadow: none;
  color: var(--rc-ink);
  font-size: var(--rc-text-base);
  line-height: normal;
  outline: none;
  transition: border-color var(--rc-duration) var(--rc-ease), box-shadow var(--rc-duration) var(--rc-ease);
}

.rc-form .form-control:focus {
  border-color: var(--rc-accent);
  box-shadow: 0 0 0 2px rgba(240, 90, 43, 0.12);
}

.rc-form .has-error .form-control {
  border-color: var(--rc-danger);
  box-shadow: 0 0 0 2px rgba(206, 63, 63, 0.1);
}

.rc-form .has-error .control-label, .rc-form .has-error .help-block, .rc-help.is-error {
  color: var(--rc-danger-ink);
}

.rc-note {
  margin: 0 0 12px;
  color: var(--rc-muted);
  font-size: var(--rc-text-sm);
  line-height: 1.5;
}

.rc-float {
  position: relative;
}

.rc-float > .controls {
  position: relative;
}

.rc-form .rc-float .control-label {
  position: absolute;
  top: 50%;
  left: 6px;
  z-index: 1;
  max-width: calc(100% - 16px);
  margin: 0;
  padding: 0 4px;
  overflow: hidden;
  background: transparent;
  color: var(--rc-muted);
  font-size: var(--rc-text-base);
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-50%);
  transition: top var(--rc-duration) var(--rc-ease), color var(--rc-duration) var(--rc-ease), font-size var(--rc-duration) var(--rc-ease);
}

/* Three ways to reach the floated state, deliberately overlapping. `.is-empty` is the JS toggle
   (markFilled); the other two keep a filled control's label up even if that JS never ran, and
   stop the labels flashing floated on first paint before it does. Every control renders with
   placeholder=" ", so :placeholder-shown is true exactly while an input is empty. Selects have
   no placeholder - there :valid does the same job, which is why the four selects that may be
   left blank carry `required` (the form is novalidate, so no native bubbles). */
.rc-form .rc-float:focus-within .control-label,
.rc-form .rc-float:not(.is-empty) .control-label,
.rc-form .rc-float input.form-control:not(:placeholder-shown) ~ .control-label,
.rc-form .rc-float select.form-control:valid ~ .control-label {
  top: 0;
  background: var(--rc-float-bg, var(--rc-surface));
  color: var(--rc-ink-soft);
  font-size: var(--rc-label-size);
  font-weight: 700;
}

.rc-form .rc-float:focus-within .control-label {
  color: var(--rc-accent-dark);
}

.rc-form .rc-float.has-error .control-label {
  color: var(--rc-danger-ink);
}

/* while the label sits inside the field it has to clear the select indicators */
.rc-form .rc-float.has-select.is-empty:not(:focus-within) .control-label {
  max-width: calc(100% - 44px);
}

.rc-form .rc-float.has-unit.is-empty:not(:focus-within) .control-label {
  max-width: calc(100% - 100px);
}

.rc-form .rc-float.has-unit .form-control {
  padding-right: 88px;
}

.rc-form .rc-float.has-search .form-control {
  padding-right: 104px;
}

.rc-form .rc-float.has-search.is-empty:not(:focus-within) .control-label {
  max-width: calc(100% - 116px);
}

.rc-form .rc-plate-search {
  position: absolute;
  top: 4px;
  right: 4px;
  bottom: 4px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border: 1px solid var(--rc-accent);
  border-radius: var(--rc-radius);
  background: transparent;
  color: var(--rc-accent);
  font-size: var(--rc-text-base);
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.rc-form .rc-plate-search > * {
  flex-shrink: 0;
}

.rc-form .rc-plate-search [hidden] {
  display: none !important;
}

.rc-form .rc-plate-search:hover:not(:disabled) {
  border-color: var(--rc-accent-dark);
  background: var(--rc-accent-soft);
  color: var(--rc-accent-dark);
}

.rc-form .rc-plate-search:disabled {
  opacity: .7;
  cursor: default;
}

.rc-form .rc-plate-search[hidden] {
  display: none;
}

.rc-form .rc-float .rc-unit {
  position: absolute;
  top: 50%;
  right: 12px;
  color: var(--rc-muted);
  font-size: var(--rc-text-base);
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-50%);
}

.rc-form select.form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e757d' stroke-width='1.8'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
}

/* margin-top clears the .rc-grid above: its form-groups have margin-bottom:0, so without it the
   first trailer card butts straight against the category / emission row. The gap keeps the two
   cards apart rather than collapsing their borders - each one carries its own floating label. */
.rc-trailers {
  display: grid;
  gap: 12px;
}

.rc-trailer {
  --rc-float-bg: var(--rc-accent-soft);
  position: relative;
  padding: 18px 14px 14px;
  border: 1px solid var(--rc-accent-border);
  border-radius: var(--rc-radius);
  background: var(--rc-accent-soft);
}

.rc-trailer-label {
  position: absolute;
  top: 0;
  left: 9px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 0 5px;
  background: var(--rc-surface);
  color: var(--rc-accent-dark);
  pointer-events: none;
  transform: translateY(-50%);
}

.rc-trailer-icon {
  width: 14px;
  height: 14px;
}

.rc-trailer-name {
  margin: 0;
  font-size: var(--rc-label-size);
  font-weight: 700;
}

.rc-trailer-remove {
  position: absolute;
  top: 0;
  right: 9px;
  z-index: 2;
  min-height: 0;
  padding: 0 5px;
  background: var(--rc-surface);
  color: var(--rc-accent-dark);
  font-size: var(--rc-label-size);
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  transform: translateY(-50%);
}

.rc-trailer-remove:hover, .rc-trailer-remove:focus {
  color: var(--rc-danger-ink);
}

/* Separate fields, each on its own border and spaced like the main .rc-grid. These used to be
   welded into a single bordered box - gap:1px over a line-coloured background with the controls'
   own borders switched off - which packed three labelled controls into one frame with no room
   between them. --rc-float-bg stays --rc-surface because each label still sits on the white
   control it overlaps, not on the card's tinted background. */
.rc-trailer-fields {
  --rc-float-bg: var(--rc-surface);
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 12px;
}

.rc-trailer-fields > .rc-float:nth-child(3) {
  grid-column: 1 / -1;
}

.rc-trailer-fields > .rc-float:focus-within {
  z-index: 2;
}

@media (max-width: 767px) {
  .rc-trailer-fields {
    grid-template-columns: 1fr;
  }
}

.rc-trailer-actions {
  margin: 0;
}

.rc-trailer-actions + .rc-help, #rc-step-vehicle .rc-actions-end {
  margin-top: 0;
}

.rc-trailer-actions .rc-btn {
  padding-left: 4px;
}

.rc-trailer-actions small {
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
  font-weight: 400;
}

.rc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--rc-btn-height);
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: var(--rc-radius);
  background: transparent;
  color: var(--rc-ink);
  font-family: inherit;
  font-size: var(--rc-text-base);
  font-weight: 700;
  line-height: 1;
  transition: background var(--rc-duration) var(--rc-ease), border-color var(--rc-duration) var(--rc-ease), color var(--rc-duration) var(--rc-ease), transform var(--rc-duration) var(--rc-ease);
}

.rc-btn:active:not(:disabled) {
  transform: scale(0.985);
}

.rc-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.rc-btn svg {
  width: 16px;
  height: 16px;
}

.rc-btn--block {
  width: 100%;
}

.rc-btn--primary {
  border-color: var(--rc-accent);
  background: var(--rc-accent);
  color: #fff;
}

.rc-btn--primary:hover:not(:disabled), .rc-btn--primary:focus {
  border-color: var(--rc-accent-dark);
  background: var(--rc-accent-dark);
  color: #fff;
}

.rc-btn--primary:disabled {
  opacity: 1;
  background: var(--rc-accent-border);
  border-color: var(--rc-accent-border);
  cursor: wait;
}

.rc-btn--outline {
  border-color: var(--rc-line);
  background: var(--rc-surface);
  color: var(--rc-ink-soft);
}

.rc-btn--outline:hover:not(:disabled), .rc-btn--outline:focus {
  border-color: var(--rc-accent);
  color: var(--rc-accent-dark);
}

.rc-btn--ghost {
  border-color: transparent;
  background: transparent;
  color: var(--rc-muted);
}

.rc-btn--ghost:hover:not(:disabled), .rc-btn--ghost:focus {
  border-color: var(--rc-line);
  color: var(--rc-accent-dark);
}

.rc-btn--ghost.is-accent {
  color: var(--rc-accent);
}

.rc-submit {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.rc-ticket {
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius);
  background: var(--rc-surface);
  animation: rc-panel-in var(--rc-duration) var(--rc-ease);
}

.rc-ticket-head {
  display: grid;
  gap: 12px;
  padding: 12px;
}

@media (min-width: 820px) {
  .rc-ticket-head {
    grid-template-columns: minmax(0, 1fr) 260px;
    gap: 20px;
    padding: 14px;
  }
}

.rc-ticket-id {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.rc-ticket-badge {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid var(--rc-accent-border);
  border-radius: var(--rc-radius-sm);
  background: var(--rc-accent-soft);
  color: var(--rc-accent);
}

.rc-ticket-badge svg {
  width: 18px;
  height: 18px;
}

.rc-ticket-title {
  margin: 0 0 2px;
  font-size: var(--rc-text-md);
  font-weight: 700;
  line-height: 1.2;
  color: var(--rc-ink);
}

.rc-ticket-route {
  margin: 0 0 6px;
  color: var(--rc-ink-soft);
  font-size: var(--rc-text-sm);
  line-height: 1.35;
}

.rc-ticket-body {
  padding: 12px;
  border-top: 1px solid var(--rc-line-soft);
}

@media (min-width: 820px) {
  .rc-ticket-body {
    padding: 14px;
  }
}

.rc-ticket-sub {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 5px;
  color: var(--rc-ink);
  font-size: var(--rc-text-base);
  font-weight: 700;
}

.rc-ticket-subico {
  display: grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: var(--rc-radius-sm);
  background: var(--rc-accent-soft);
  color: var(--rc-accent);
}

.rc-ticket-subico svg {
  width: 13px;
  height: 13px;
}

.rc-ticket-count {
  display: inline-grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--rc-accent-soft);
  color: var(--rc-accent);
  font-size: var(--rc-text-xs);
  font-weight: 700;
}

.rc-ticket-meta {
  display: grid;
  gap: 5px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}

.rc-ticket-meta li {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  color: var(--rc-ink-soft);
  font-size: var(--rc-text-sm);
  line-height: 1.4;
}

.rc-ticket-meta li > span {
  min-width: 0;
}

.rc-ticket-meta svg {
  flex: none;
  width: 15px;
  height: 15px;
  margin-top: 2px;
  color: var(--rc-accent);
}

.rc-ticket-price dl {
  display: grid;
  gap: 7px;
  margin: 0;
}

.rc-ticket-price dl > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.rc-ticket-price dt {
  color: var(--rc-ink-soft);
  font-size: var(--rc-text-sm);
  font-weight: 400;
}

.rc-ticket-price dd {
  margin: 0;
  color: var(--rc-ink);
  font-size: var(--rc-text-sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.rc-ticket-price .is-total {
  margin-top: 2px;
  padding-top: 9px;
  border-top: 1px solid var(--rc-line);
}

.rc-ticket-price .is-total dt {
  color: var(--rc-ink);
  font-size: var(--rc-text-md);
  font-weight: 700;
}

.rc-ticket-price .is-total dd {
  color: var(--rc-accent);
  font-size: var(--rc-text-xl);
}

.rc-ticket-vatnote {
  margin: 3px 0 0;
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
  text-align: right;
}

@media (min-width: 820px) {
  .rc-ticket-price {
    padding-left: 22px;
    border-left: 1px solid var(--rc-line-soft);
  }
}

@media (max-width: 819px) {
  .rc-ticket-head {
    gap: 10px;
  }
  .rc-ticket-price {
    padding-top: 10px;
    border-top: 1px solid var(--rc-line-soft);
  }
}

@media (max-width: 479px) {
  .rc-ticket-price .is-total dd {
    font-size: var(--rc-text-lg);
  }
}

.rc-ticket-table-wrap {
  overflow-x: auto;
  margin-bottom: 14px;
  border: 1px solid var(--rc-line-soft);
  border-radius: var(--rc-radius-sm);
}

.rc-ticket-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--rc-text-sm);
}

.rc-ticket-table th, .rc-ticket-table td {
  padding: 7px 10px;
  text-align: left;
  white-space: nowrap;
}

.rc-ticket-table thead th {
  border-bottom: 1px solid var(--rc-line);
  background: var(--rc-surface-alt);
  color: var(--rc-muted);
  font-size: var(--rc-label-size);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rc-ticket-table tbody tr + tr td {
  border-top: 1px solid var(--rc-line-soft);
}

.rc-ticket-table tbody td {
  color: var(--rc-ink-soft);
}

.rc-ticket-table .is-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.rc-ticket-table .is-index {
  color: var(--rc-muted);
  font-variant-numeric: tabular-nums;
}

.rc-ticket-table tfoot td {
  border-top: 1px solid var(--rc-line);
  background: var(--rc-surface-alt);
  color: var(--rc-ink);
  font-weight: 700;
}

.rc-ticket-table tfoot td:first-child {
  text-align: right;
}

.rc-tariffs .rc-ticket-table-wrap {
  margin-bottom: 0;
  border: 0;
  border-radius: 0;
}

.rc-tariffs .rc-ticket-table th, .rc-tariffs .rc-ticket-table td {
  padding: 9px 0;
}

.rc-tariffs .rc-ticket-table thead th {
  border-bottom: 1px solid var(--rc-line-soft);
  background: transparent;
}

.rc-tariffs .rc-ticket-table tbody tr + tr td {
  border-top: 0;
}

.rc-tariffs .rc-ticket-table tbody td {
  min-width: 0;
  white-space: nowrap;
}

.rc-tariffs .rc-ticket-table .is-road, .rc-tariffs .rc-ticket-table .is-cost {
  color: var(--rc-ink);
  font-weight: 700;
}

.rc-tariffs.is-clipped tbody tr:nth-child(n + 4) {
  display: none;
}

.rc-tariffs.is-clipped tbody tr:nth-child(3) {
  opacity: .28;
}

.rc-tariffs-actions {
  display: flex;
  justify-content: center;
  margin-top: 4px;
}

.rc-tariffs-actions .rc-btn svg {
  transition: transform var(--rc-duration) var(--rc-ease);
}

.rc-tariffs-actions .rc-btn[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

.rc-inline-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 0;
  color: var(--rc-muted);
  font-size: var(--rc-text-sm);
  line-height: 1.4;
}

.rc-inline-note svg {
  flex: none;
  width: 15px;
  height: 15px;
  margin-top: 1px;
}

.rc-form .rc-btn:disabled {
  opacity: .55;
  cursor: not-allowed;
}

.rc-alert {
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--rc-danger-border);
  border-radius: var(--rc-radius-sm);
  background: var(--rc-danger-soft);
  color: var(--rc-danger-ink);
  font-size: var(--rc-text-xs);
  line-height: 1.5;
  animation: rc-panel-in var(--rc-duration) var(--rc-ease);
}

.rc-alert:focus {
  outline: none;
}

.rc-alert-title {
  margin: 0 0 4px;
  font-size: var(--rc-text-base);
  font-weight: 700;
}

.rc-alert-list {
  margin: 0;
  padding-left: 16px;
  list-style: disc;
}

.rc-alert-list li + li {
  margin-top: 2px;
}

.rc-status {
  padding: 8px 10px;
  border: 1px solid var(--rc-success-border);
  border-radius: var(--rc-radius-sm);
  background: var(--rc-success-bg);
  color: var(--rc-success-ink);
  font-size: var(--rc-text-xs);
}

.rc-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid var(--rc-accent-border);
  border-radius: var(--rc-radius-sm);
  background: var(--rc-accent-soft);
  color: var(--rc-accent-dark);
  font-size: var(--rc-text-xs);
  line-height: 1.5;
  animation: rc-panel-in var(--rc-duration) var(--rc-ease);
}

.rc-notice svg {
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: 1px;
}

@keyframes rc-panel-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.rc-directions {
  display: grid;
  gap: 8px;
}

.rc-dir-list {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 12px 44px 12px 12px;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius);
  background: var(--rc-surface);
}

.rc-dir-row {
  position: relative;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: start;
  column-gap: 6px;
}

.rc-dir-marker {
  display: grid;
  place-items: center;
  height: var(--rc-field-height);
  color: var(--rc-muted);
}

.rc-dir-circle {
  width: 11px;
  height: 11px;
  border: 2.5px solid currentColor;
  border-radius: 50%;
}

.rc-dir-square {
  width: 8px;
  height: 8px;
  background: currentColor;
}

.rc-dir-pin {
  width: 20px;
  height: 20px;
  color: var(--rc-accent);
}

.rc-dir-pin svg {
  width: 20px;
  height: 20px;
}

.rc-dir-row:not(:last-of-type) .rc-dir-marker::after {
  content: "";
  position: absolute;
  top: calc(var(--rc-field-height) / 2 + 9px);
  left: 12px;
  width: 2px;
  height: calc(100% - var(--rc-field-height) / 2 - 2px);
  background-image: linear-gradient(var(--rc-line) 0 3px, transparent 3px 7px);
  background-size: 2px 7px;
  background-repeat: repeat-y;
}

.rc-dir-field {
  position: relative;
}

.rc-dir-field.is-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 6px;
}

.is-geo-hidden .rc-dir-field.is-split {
  grid-template-columns: minmax(0, 1fr);
}

.is-geo-hidden .rc-dir-field input[data-geo] {
  display: none;
}

.rc-dir-field.is-split input {
  padding-right: 12px;
}

.rc-dir-field input {
  width: 100%;
  height: var(--rc-field-height);
  padding: 0 78px 0 12px;
  border: 1px solid transparent;
  border-radius: var(--rc-radius-sm);
  background: var(--rc-field-bg);
  color: var(--rc-ink);
  font-size: var(--rc-text-base);
  outline: none;
  transition: background var(--rc-duration) var(--rc-ease), border-color var(--rc-duration) var(--rc-ease), box-shadow var(--rc-duration) var(--rc-ease);
}

.rc-dir-field input::placeholder {
  color: var(--rc-muted);
}

.rc-dir-field input:focus {
  border-color: var(--rc-accent);
  background: var(--rc-surface);
  box-shadow: 0 0 0 2px rgba(240, 90, 43, 0.12);
}

.rc-dir-field input:disabled {
  background: var(--rc-surface-alt);
  color: var(--rc-muted);
  cursor: not-allowed;
}

.rc-dir-row.is-invalid .rc-dir-field input {
  border-color: var(--rc-danger);
  box-shadow: 0 0 0 2px rgba(206, 63, 63, 0.1);
}

.rc-dir-row[data-kind="via"] .rc-dir-field.is-split input[name="via_names[]"] {
  padding-right: 84px;
}

.rc-dir-tools {
  position: absolute;
  top: 50%;
  right: 8px;
  display: flex;
  gap: 2px;
  transform: translateY(-50%);
}

.rc-dir-tool {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: var(--rc-radius-sm);
  background: transparent;
  color: var(--rc-muted);
  font-size: var(--rc-text-sm);
  line-height: 1;
}

.rc-dir-tool:hover:not(:disabled) {
  background: var(--rc-line-soft);
  color: var(--rc-accent-dark);
}

.rc-dir-tool:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.rc-dir-swap {
  position: absolute;
  top: 50%;
  right: 9px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: var(--rc-radius-sm);
  background: transparent;
  color: var(--rc-muted);
  transform: translateY(-50%);
  transition: background var(--rc-duration) var(--rc-ease);
}

.rc-dir-swap svg {
  width: 17px;
  height: 17px;
}

.rc-dir-swap:hover:not(:disabled) {
  background: var(--rc-line-soft);
  color: var(--rc-accent-dark);
}

.rc-dir-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
}

.rc-dir-note {
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
}

/* text link under the "add intermediate point" button; justify-self keeps it
   content-width instead of stretching across the .rc-directions grid column */
.rc-geo-link {
  justify-self: start;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  color: var(--rc-accent-dark);
  cursor: pointer;
}

.rc-geo-link:hover, .rc-geo-link:focus {
  color: var(--rc-accent);
}

.rc-dir-row.is-suggesting {
  z-index: 5;
}

.rc-suggest {
  position: absolute;
  z-index: 20;
  max-height: 244px;
  margin: 0;
  padding: 4px;
  overflow-y: auto;
  list-style: none;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius);
  background: var(--rc-surface);
  box-shadow: 0 6px 18px rgba(37, 42, 47, 0.14);
  animation: rc-panel-in var(--rc-duration) var(--rc-ease);
}

.rc-suggest-item {
  padding: 7px 9px;
  border-radius: var(--rc-radius-sm);
  color: var(--rc-ink);
  font-size: var(--rc-text-base);
  line-height: 1.3;
  cursor: pointer;
}

.rc-suggest-item.is-active {
  background: var(--rc-accent-soft);
  color: var(--rc-accent-dark);
}

.rc-suggest-coords {
  display: block;
  margin-top: 1px;
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
}

.rc-suggest-item.is-active .rc-suggest-coords {
  color: var(--rc-accent-dark);
}

.rc-suggest-empty {
  padding: 7px 9px;
  color: var(--rc-muted);
  font-size: var(--rc-text-sm);
}

.rc-suggest-item--locate {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 0 7px;
  color: var(--rc-accent-dark);
  font-weight: 700;
}

.rc-suggest-item--locate svg {
  grid-row: 1 / span 2;
  width: 16px;
  height: 16px;
  margin-top: 1px;
}

.rc-suggest-item--locate .rc-suggest-coords {
  margin-top: 0;
}

.rc-suggest-item--locate + .rc-suggest-item,
.rc-suggest-item--locate + .rc-suggest-empty {
  border-top: 1px solid var(--rc-line-soft);
}

.rc-form .rc-dir-field input.is-locating::placeholder {
  color: var(--rc-accent-dark);
  font-style: italic;
  opacity: 1;
}

.rc-form .rc-dir-field input.is-locate-error::placeholder {
  color: var(--rc-danger-ink);
  opacity: 1;
}

.rc-suggest--plate {
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 200px;
  margin-top: 4px;
}

.rc-float.is-suggesting {
  z-index: 5;
}

.rc-autofill-note {
  margin: 4px 2px 0;
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
  line-height: 1.35;
}

.rc-map {
  position: relative;
  height: 190px;
  overflow: hidden;
  margin-top: 12px;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius);
  background: #e8e5de;
}

.rc-map.is-empty {
  background: linear-gradient(140deg, transparent 49%, #eadfbe 50%, #eadfbe 51%, transparent 52%), linear-gradient(29deg, transparent 48%, #eee4c8 49%, #eee4c8 50%, transparent 51%), #f5f2e9;
}

.rc-map--quote {
  height: 150px;
  margin: 0 0 12px;
}

@media (min-width: 820px) {
  .rc-map--quote {
    height: 190px;
  }
}

.rc-map-tiles {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.rc-map-tile {
  position: absolute;
  display: block;
  max-width: none;
  border: 0;
}

.rc-map.is-empty .rc-map-tiles {
  display: none;
}

.rc-map-pins {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.rc-map-route {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.rc-map-route polyline {
  fill: none;
  stroke: var(--rc-accent);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 6 5;
  opacity: .8;
}

.rc-map.is-routed .rc-map-route polyline {
  stroke-width: 4;
  stroke-dasharray: none;
  opacity: .95;
}

.rc-map-pin {
  position: absolute;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(28, 32, 36, 0.35);
  color: #fff;
  font-size: var(--rc-text-xs);
  font-weight: 700;
  transform: translate(-50%, -50%);
}

.rc-map-pin.is-start {
  background: #38a675;
}

.rc-map-pin.is-end {
  background: #d94d45;
}

.rc-map-pin.is-via {
  width: 20px;
  height: 20px;
  background: var(--rc-accent);
}

.rc-map-empty {
  position: absolute;
  inset: 0;
  display: none;
  place-items: center;
  margin: 0;
  padding: 0 24px;
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
  text-align: center;
}

.rc-map.is-empty .rc-map-empty {
  display: grid;
}

.rc-map-controls {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  display: grid;
  gap: 4px;
}

.rc-map-controls button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius-sm);
  background: rgba(255, 255, 255, 0.94);
  color: var(--rc-ink);
  font-size: var(--rc-text-base);
  font-weight: 700;
  line-height: 1;
}

.rc-map-controls button:hover:not(:disabled) {
  border-color: var(--rc-accent);
  color: var(--rc-accent-dark);
}

.rc-map-controls button:disabled {
  color: var(--rc-line);
}

.rc-map.is-empty .rc-map-controls {
  display: none;
}

.rc-map-caption {
  position: absolute;
  left: 8px;
  bottom: 7px;
  padding: 3px 5px;
  border-radius: var(--rc-radius-sm);
  background: rgba(255, 255, 255, 0.9);
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
}

.rc-details {
  overflow: hidden;
  margin-top: 9px;
  border: 1px solid var(--rc-line);
  border-radius: var(--rc-radius);
  background: var(--rc-surface);
}

.rc-details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  color: var(--rc-ink-soft);
  font-size: var(--rc-text-sm);
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}

.rc-details summary::-webkit-details-marker {
  display: none;
}

.rc-details summary::after {
  content: "\2304";
  color: var(--rc-muted);
  font-size: var(--rc-text-md);
}

.rc-details-body {
  padding: 0 12px 12px;
  border-top: 1px solid var(--rc-line-soft);
  color: var(--rc-muted);
  font-size: var(--rc-text-xs);
  line-height: 1.5;
}

.rc-form button:not(:disabled), .rc-form [role="button"] {
  cursor: pointer;
}

@media (max-width: 991px) {
  .rc-form {
    width: 100%;
    padding: 16px 12px 32px;
  }
}

@media (max-width: 767px) {
  .rc-section-body {
    padding: 12px;
  }
  .rc-section-header {
    grid-template-columns: 22px minmax(0, 1fr) 30px;
    padding: 7px 8px 7px 10px;
  }
  .rc-section-summary {
    white-space: normal;
  }
  .rc-dir-list {
    padding: 10px 40px 10px 8px;
  }
  .rc-dir-field input {
    padding-right: 8px;
  }
  .rc-dir-row[data-kind="via"] .rc-dir-field input {
    padding-right: 84px;
  }
  .rc-dir-field.is-split {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 6px;
  }
  .rc-title {
    font-size: var(--rc-text-lg);
  }
}

@media (max-width: 480px) {
  .rc-form {
    --rc-text-base: 0.91rem;
    --rc-label-size: 0.73rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rc-form *, .rc-form *::before, .rc-form *::after {
    animation: none !important;
    transition-duration: .01ms !important;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi90aGVtZXMvQm9vdHN0cmFwQ2hpbGRUaGVtZS9hc3NldHMvc2Nzcy9fcm91dGVfdGlja2V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUE7RUFBYyxhQUFZO0VBQUUsbUJBQWtCO0NBVDlDOztBQVVBO0VBQXVCLHlCQUF3QjtDQU4vQzs7QUFRQTtFQUNJLHFCQUFZO0VBQ1osMEJBQWlCO0VBQ2pCLDBCQUFpQjtFQUNqQiw0QkFBbUI7RUFFbkIsa0JBQVM7RUFDVCx1QkFBYztFQUNkLG9CQUFXO0VBRVgsc0JBQWE7RUFDYiwwQkFBaUI7RUFDakIsdUJBQWM7RUFDZCxtQkFBVTtFQUNWLHdCQUFlO0VBRWYscUJBQVk7RUFDWix5QkFBZ0I7RUFDaEIsMEJBQWlCO0VBQ2pCLDRCQUFtQjtFQUNuQix5QkFBZ0I7RUFDaEIsNkJBQW9CO0VBQ3BCLDBCQUFpQjtFQUVqQixpQkFBWTtFQUNaLG9CQUFlO0VBQ2Ysd0JBQWtCO0VBQ2xCLHNCQUFnQjtFQUNoQixzQkFBZTtFQUVmLHdDQUFVO0VBQ1Ysc0JBQWE7RUFDYixzQkFBYTtFQUNiLHdCQUFlO0VBQ2Ysc0JBQWE7RUFDYixxQkFBYTtFQUNiLHNCQUFhO0VBQ2IseUJBQWdCO0VBRWhCLDBDQUFVO0VBQ1YscUJBQWM7RUFFZDt5RUFab0U7RUFjcEUsWUFBVztFQUNYLCtCQUE4QjtFQUM5QixlQUFjO0VBQ2QscUJBQW9CO0VBQ3BCLHFCQUFvQjtFQUNwQiw0QkFBMkI7RUFDM0IsK0JBQThCO0VBQzlCLGlCQUFnQjtDQVpwQjs7QUFlQTs7O0VBRW9CLHVCQUFzQjtDQVgxQzs7QUFhQTtBQUNBO0VBQ0ksVUFBUztFQUNULFdBQVU7RUFDVixtQkFBa0I7RUFDbEIscUJBQW9CO0VBQ3BCLGtCQUFpQjtDQVZyQjs7QUFZQTtFQUFpQyxlQUFjO0VBQUUsZ0JBQWU7RUFBRSxVQUFTO0VBQUUsaUJBQWdCO0NBTDdGOztBQU1BO0VBQTJELFVBQVM7RUFBRSxxQkFBb0I7RUFBRSxtQkFBa0I7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bUI7RUFBRSxpQkFBZ0I7RUFBRSxnQkFBZTtFQUFFLDBCQUF5QjtFQUFFLDZCQUE0QjtFQUFFLGlCQUFnQjtFQUFFLGlCQUFnQjtFQUFFLGdCQUFlO0NBc25Dek87O0FBcm5DQTtFQUE4QyxjQUFhO0NBeW5DM0Q7O0FBeG5DQTtFQUE2QixpQkFBZ0I7RUFBRSx1QkFBc0I7RUFBRSw2QkFBNEI7Q0E4bkNuRzs7QUE3bkNBO0VBQW1CLHFCQUFvQjtFQUFFLDBDQUF5QztFQUFFLHVCQUFzQjtFQUFFLDZCQUE0QjtFQUFFLGlCQUFnQjtDQXFvQzFKOztBQW5vQ0E7RUFBMkQsZ0JBQWU7Q0F1b0MxRTs7QUFyb0NBO0VBQ0k7SUFBVyxZQUFXO0lBQUUsd0JBQXVCO0dBMG9DakQ7Q0FDRjs7QUF6b0NBO0VBQ0k7SUFBbUIsY0FBYTtHQTZvQ2xDO0VBNW9DRTtJQUFxQixnREFBK0M7SUFBRSwwQkFBeUI7R0FncENqRztFQS9vQ0U7SUFBc0Isb0JBQW1CO0dBa3BDM0M7RUFqcENFO0lBQWUsNEJBQTJCO0dBb3BDNUM7RUFucENFO0lBQXNCLG1CQUFrQjtHQXNwQzFDO0VBcnBDRTtJQUFtRCxvQkFBbUI7R0F3cEN4RTtFQXZwQ0U7SUFBeUIsc0NBQXFDO0lBQUUsYUFBWTtHQTJwQzlFO0VBMXBDRTtJQUFZLDZCQUE0QjtHQTZwQzFDO0NBQ0Y7O0FBNXBDQTtFQUNJO0lBQVcsd0JBQWU7SUFBVSx5QkFBZ0I7R0FpcUN0RDtDQUNGOztBQWhxQ0E7RUFDSTtJQUFvRCwyQkFBMEI7SUFBRSxzQ0FBcUM7R0FxcUN2SDtDQUNGIiwiZmlsZSI6InJvdXRlLXRpY2tldC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy8gUm91dGUtdGlja2V0IGZvcm0gc3R5bGluZywgZm9yIHRlbXBsYXRlcy9Gcm9udC9Sb3V0ZVRpY2tldC9fcGFydGlhbHMvX2Zvcm0uaHRtbC50d2lnLlxuLy9cbi8vIExvYWRlZCB0aHJvdWdoIHRoZSBgcm91dGUtdGlja2V0YCBFbmNvcmUgZW50cnkgYnkgQk9USCBob3N0cyBvZiB0aGF0IHBhcnRpYWwuIEV2ZXJ5IHNlbGVjdG9yIGlzXG4vLyBzY29wZWQgdW5kZXIgLnJjLWNvbnRlbnQgLyAucmMtZm9ybSByYXRoZXIgdGhhbiB1bmRlciBhIHJvdXRlIGJvZHkgY2xhc3MgKHRoZSB3YXkgX3BlYWouc2Nzc1xuLy8gc2NvcGVzIHVuZGVyIC5hcHBfc2hvcF9wZWFqKTogdGhlIGlmcmFtZSBob3N0IGV4dGVuZHMgbm8gbGF5b3V0LCBzbyBpdCBoYXMgbm8gYF9yb3V0ZWAgYm9keVxuLy8gY2xhc3MgdG8gaGFuZyBzdHlsaW5nIG9uLCBhbmQgdGhpcyBwYXJ0aWFsIGhhcyB0byBsb29rIHRoZSBzYW1lIGluIGJvdGguXG4vL1xuLy8gU2VsZWN0b3JzIGFyZSBrZXB0IGZsYXQgcmF0aGVyIHRoYW4gbmVzdGVkIG9uIHB1cnBvc2UuIFRoaXMgaXMgYSBwb3J0IG9mIHRoZSB2ZW5kb3IgaXNzdWluZ1xuLy8gZnJhbWUsIGFuZCBzZXZlcmFsIHJ1bGVzIGhlcmUgZGVwZW5kIG9uIGV4YWN0IHNwZWNpZmljaXR5IC0gc2VlIHRoZSBub3RlIG9uIHRoZSBzZWxlY3QgY2hldnJvblxuLy8gYmVsb3cgLSBzbyBuZXN0aW5nIHRoZW0gd291bGQgc2lsZW50bHkgY2hhbmdlIHdoaWNoIHJ1bGUgd2lucy5cbi8vXG4ucmMtY29udGVudCB7IG1pbi13aWR0aDogMDsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4ucmMtY29udGVudCBbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucmMtZm9ybSB7XG4gICAgLS1yYy1hY2NlbnQ6ICNmMDVhMmI7XG4gICAgLS1yYy1hY2NlbnQtZGFyazogI2NjNDUxZDtcbiAgICAtLXJjLWFjY2VudC1zb2Z0OiAjZmZmMmVkO1xuICAgIC0tcmMtYWNjZW50LWJvcmRlcjogI2Y0Y2ZiZjtcblxuICAgIC0tcmMtaW5rOiAjMjUyYTJmO1xuICAgIC0tcmMtaW5rLXNvZnQ6ICM0YzUzNWI7XG4gICAgLS1yYy1tdXRlZDogIzZlNzU3ZDtcblxuICAgIC0tcmMtc3VyZmFjZTogI2ZmZmZmZjtcbiAgICAtLXJjLXN1cmZhY2UtYWx0OiAjZmFmYWZhO1xuICAgIC0tcmMtZmllbGQtYmc6ICNmMWYzZjQ7XG4gICAgLS1yYy1saW5lOiAjZDlkZGUyO1xuICAgIC0tcmMtbGluZS1zb2Z0OiAjZWRmMGYyO1xuXG4gICAgLS1yYy1kYW5nZXI6ICNjZTNmM2Y7XG4gICAgLS1yYy1kYW5nZXItaW5rOiAjYTkzMDMwO1xuICAgIC0tcmMtZGFuZ2VyLXNvZnQ6ICNmZGYzZjM7XG4gICAgLS1yYy1kYW5nZXItYm9yZGVyOiAjZjBjMmMyO1xuICAgIC0tcmMtc3VjY2Vzcy1iZzogI2YwZmJmNTtcbiAgICAtLXJjLXN1Y2Nlc3MtYm9yZGVyOiAjYmNlMGQxO1xuICAgIC0tcmMtc3VjY2Vzcy1pbms6ICMxNzZhNGE7XG5cbiAgICAtLXJjLXJhZGl1czogNHB4O1xuICAgIC0tcmMtcmFkaXVzLXNtOiAzcHg7XG4gICAgLS1yYy1maWVsZC1oZWlnaHQ6IDQ2cHg7XG4gICAgLS1yYy1idG4taGVpZ2h0OiA0MHB4O1xuICAgIC0tcmMtbWF4LXdpZHRoOiA4MjZweDtcblxuICAgIC0tcmMtZm9udDogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAtLXJjLXRleHQteHM6IDAuNzlyZW07XG4gICAgLS1yYy10ZXh0LXNtOiAwLjg2cmVtO1xuICAgIC0tcmMtdGV4dC1iYXNlOiAwLjk1cmVtO1xuICAgIC0tcmMtdGV4dC1tZDogMS4wNXJlbTtcbiAgICAtLXJjLXRleHQtbGc6IDEuMnJlbTtcbiAgICAtLXJjLXRleHQteGw6IDEuNTRyZW07XG4gICAgLS1yYy1sYWJlbC1zaXplOiAwLjc1cmVtO1xuXG4gICAgLS1yYy1lYXNlOiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG4gICAgLS1yYy1kdXJhdGlvbjogMTUwbXM7XG5cbiAgICAvKiBlcXVpdmFsZW50IHRvIHdpZHRoOiBtaW4oMTAwJSwgdmFyKC0tcmMtbWF4LXdpZHRoKSksIHNwZWxsZWQgb3V0IGJlY2F1c2UgbGlic2Fzc1xuICAgICAgIHJlc29sdmVzIG1pbigpIGl0c2VsZiBhbmQgY2hva2VzIG9uIGEgY3VzdG9tIHByb3BlcnR5IGluc2lkZSBpdCAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tcmMtbWF4LXdpZHRoKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAyMnB4IDAgMzhweDtcbiAgICBjb2xvcjogdmFyKC0tcmMtaW5rKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tcmMtZm9udCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5yYy1mb3JtICosXG4ucmMtZm9ybSAqOjpiZWZvcmUsXG4ucmMtZm9ybSAqOjphZnRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogdGhlIHNob3AgbGF5b3V0IGFuZCBCb290c3RyYXAgYm90aCBzdHlsZSB0aGVzZTsgbmV1dHJhbGlzZSB0aGVtIGluc2lkZSB0aGUgZm9ybSBvbmx5ICovXG46d2hlcmUoLnJjLWZvcm0pIDp3aGVyZShoMSwgaDIsIGgzLCBoNCwgcCwgZGwsIGRkLCB1bCwgcHJlKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuOndoZXJlKC5yYy1mb3JtKSA6d2hlcmUobGFiZWwpIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogbm9uZTsgbWFyZ2luOiAwOyBmb250LXdlaWdodDogNDAwOyB9XG46d2hlcmUoLnJjLWZvcm0pIDp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYnV0dG9uKSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuOndoZXJlKC5yYy1mb3JtKSA6d2hlcmUoYnV0dG9uKSB7IGJvcmRlcjogMDsgYmFja2dyb3VuZDogbm9uZTsgY29sb3I6IGluaGVyaXQ7IH1cbjp3aGVyZSgucmMtZm9ybSkgOndoZXJlKGNvZGUsIHByZSkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG46d2hlcmUoLnJjLWZvcm0pIDp3aGVyZSh1bCkgeyBsaXN0LXN0eWxlOiBub25lOyB9XG46d2hlcmUoLnJjLWZvcm0pIDp3aGVyZShmaWVsZHNldCkgeyBtaW4td2lkdGg6IDA7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyB9XG46d2hlcmUoLnJjLWZvcm0pIDp3aGVyZShzZWN0aW9uKSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIG93biBncmlkLCBub3QgQm9vdHN0cmFwJ3M6IHRoZSBwYWdlIGhvc3QgaXMgQm9vdHN0cmFwIDQgYW5kIC5jb2wteHMtKiBkb2VzIG5vdCBleGlzdCB0aGVyZSAqL1xuLnJjLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgbWlubWF4KDAsIDFmcikpOyBnYXA6IDhweCAxMnB4OyB9XG4ucmMtY2VsbCB7IGdyaWQtY29sdW1uOiBzcGFuIDEyOyBtaW4td2lkdGg6IDA7IH1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yYy1jZWxsLS1oYWxmIHsgZ3JpZC1jb2x1bW46IHNwYW4gNjsgfVxuICAgIC5yYy1jZWxsLS1maXZlIHsgZ3JpZC1jb2x1bW46IHNwYW4gNTsgfVxuICAgIC5yYy1jZWxsLS1zZXZlbiB7IGdyaWQtY29sdW1uOiBzcGFuIDc7IH1cbn1cblxuLnJjLWFjdGlvbnMtZW5kIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgbWFyZ2luLXRvcDogMTJweDsgfVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnJjLWFjdGlvbnMtZW5kIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucmMtYWN0aW9ucy1lbmQgLnJjLWJ0biB7IHdpZHRoOiAxMDAlOyB9XG59XG5cbi5yYy10aXRsZSB7IG1hcmdpbjogMDsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhsKTsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuMjsgfVxuLnJjLWxlYWQgeyBtYXJnaW46IDZweCAwIDE3cHg7IGNvbG9yOiB2YXIoLS1yYy1pbmstc29mdCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1tZCk7IGxpbmUtaGVpZ2h0OiAxLjQ1OyB9XG5cbi5yYy1zZWN0aW9uIHsgb3ZlcmZsb3c6IGhpZGRlbjsgbWFyZ2luLWJvdHRvbTogN3B4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmMtcmFkaXVzKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZSk7IH1cbi5yYy1zZWN0aW9uLWhlYWRlciB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjVweCBtaW5tYXgoMCwgMWZyKSAzMHB4OyBhbGlnbi1pdGVtczogY2VudGVyOyBtaW4taGVpZ2h0OiA0M3B4OyBwYWRkaW5nOiA3cHggMTBweCA3cHggMTJweDsgfVxuLnJjLXNlY3Rpb24taWNvbiB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IGNvbG9yOiB2YXIoLS1yYy1pbmstc29mdCk7IH1cbi5yYy1zZWN0aW9uLWljb24gc3ZnIHsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgfVxuLnJjLXNlY3Rpb24tbmFtZSB7IG1hcmdpbjogMDsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LW1kKTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLnJjLXNlY3Rpb24tc3VtbWFyeSB7IG92ZXJmbG93OiBoaWRkZW47IG1hcmdpbi10b3A6IDJweDsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhzKTsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5yYy1lZGl0IHsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgd2lkdGg6IDI5cHg7IGhlaWdodDogMjlweDsgYm9yZGVyOiAwOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMtc20pOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLXJjLWluay1zb2Z0KTsgfVxuLnJjLWVkaXQ6aG92ZXIsIC5yYy1zZWN0aW9uLmlzLW9wZW4gLnJjLWVkaXQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1saW5lLXNvZnQpOyBjb2xvcjogdmFyKC0tcmMtYWNjZW50LWRhcmspOyB9XG4ucmMtZWRpdCBzdmcgeyB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyB9XG4ucmMtc2VjdGlvbi1ib2R5IHsgZGlzcGxheTogbm9uZTsgcGFkZGluZzogMTBweCAxNXB4IDEycHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lLXNvZnQpOyB9XG4ucmMtc2VjdGlvbi5pcy1vcGVuIC5yYy1zZWN0aW9uLWJvZHkgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmMtaGVscCwgLnJjLWZvcm0gLmhlbHAtYmxvY2sgeyBtYXJnaW46IDRweCAwIDA7IGNvbG9yOiB2YXIoLS1yYy1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC14cyk7IH1cbi5yYy1oaW50IHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7IH1cbi5yYy1oaW50LWljb24geyBmbGV4OiBub25lOyB3aWR0aDogMTVweDsgaGVpZ2h0OiAxNXB4OyB9XG4ucmMtaGludC1hY2NlbnQgeyBjb2xvcjogdmFyKC0tcmMtYWNjZW50KTsgfVxuLnJjLWZvcm0gLnJjLWxpdmUtZXJyb3IgeyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHZhcigtLXJjLWRhbmdlci1pbmspOyB9XG4ucmMtZm9ybSAuZm9ybS1ncm91cCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbi5yYy1mb3JtIC5jb250cm9sLWxhYmVsIHsgbWFyZ2luLWJvdHRvbTogM3B4OyBjb2xvcjogdmFyKC0tcmMtaW5rLXNvZnQpOyBmb250LXNpemU6IHZhcigtLXJjLWxhYmVsLXNpemUpOyBmb250LXdlaWdodDogNzAwOyB9XG4ucmMtZm9ybSAuYXN0ZXJpc2tGaWVsZCB7IG1hcmdpbi1sZWZ0OiAycHg7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IH1cbi5yYy1mb3JtIC5yYy1saW1pdCB7IGNvbG9yOiB2YXIoLS1yYy1tdXRlZCk7IGZvbnQtd2VpZ2h0OiA0MDA7IH1cbi8qIHN0YXRlZCBpbiBmdWxsIHJhdGhlciB0aGFuIGxlYW5pbmcgb24gQm9vdHN0cmFwLCBzbyB0aGUgYmFyZSBpZnJhbWUgaG9zdCBsb29rcyB0aGUgc2FtZSAqL1xuLnJjLWZvcm0gLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiB2YXIoLS1yYy1maWVsZC1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXJjLXN1cmZhY2UpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLXJjLWluayk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpLCBib3gtc2hhZG93IHZhcigtLXJjLWR1cmF0aW9uKSB2YXIoLS1yYy1lYXNlKTtcbn1cbi5yYy1mb3JtIC5mb3JtLWNvbnRyb2w6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI0MCwgOTAsIDQzLCAuMTIpOyB9XG4ucmMtZm9ybSAuaGFzLWVycm9yIC5mb3JtLWNvbnRyb2wgeyBib3JkZXItY29sb3I6IHZhcigtLXJjLWRhbmdlcik7IGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDIwNiwgNjMsIDYzLCAuMSk7IH1cbi5yYy1mb3JtIC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsIC5yYy1mb3JtIC5oYXMtZXJyb3IgLmhlbHAtYmxvY2ssIC5yYy1oZWxwLmlzLWVycm9yIHsgY29sb3I6IHZhcigtLXJjLWRhbmdlci1pbmspOyB9XG4ucmMtbm90ZSB7IG1hcmdpbjogMCAwIDEycHg7IGNvbG9yOiB2YXIoLS1yYy1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1zbSk7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnJjLWZsb2F0IHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4ucmMtZmxvYXQgPiAuY29udHJvbHMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbi5yYy1mb3JtIC5yYy1mbG9hdCAuY29udHJvbC1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwJTsgbGVmdDogNnB4OyB6LWluZGV4OiAxOyBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIG1hcmdpbjogMDsgcGFkZGluZzogMCA0cHg7IG92ZXJmbG93OiBoaWRkZW47IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1iYXNlKTsgZm9udC13ZWlnaHQ6IDQwMDsgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpLCBjb2xvciB2YXIoLS1yYy1kdXJhdGlvbikgdmFyKC0tcmMtZWFzZSksXG4gICAgICAgIGZvbnQtc2l6ZSB2YXIoLS1yYy1kdXJhdGlvbikgdmFyKC0tcmMtZWFzZSk7XG59XG4vKiBUaHJlZSB3YXlzIHRvIHJlYWNoIHRoZSBmbG9hdGVkIHN0YXRlLCBkZWxpYmVyYXRlbHkgb3ZlcmxhcHBpbmcuIGAuaXMtZW1wdHlgIGlzIHRoZSBKUyB0b2dnbGVcbiAgIChtYXJrRmlsbGVkKTsgdGhlIG90aGVyIHR3byBrZWVwIGEgZmlsbGVkIGNvbnRyb2wncyBsYWJlbCB1cCBldmVuIGlmIHRoYXQgSlMgbmV2ZXIgcmFuLCBhbmRcbiAgIHN0b3AgdGhlIGxhYmVscyBmbGFzaGluZyBmbG9hdGVkIG9uIGZpcnN0IHBhaW50IGJlZm9yZSBpdCBkb2VzLiBFdmVyeSBjb250cm9sIHJlbmRlcnMgd2l0aFxuICAgcGxhY2Vob2xkZXI9XCIgXCIsIHNvIDpwbGFjZWhvbGRlci1zaG93biBpcyB0cnVlIGV4YWN0bHkgd2hpbGUgYW4gaW5wdXQgaXMgZW1wdHkuIFNlbGVjdHMgaGF2ZVxuICAgbm8gcGxhY2Vob2xkZXIgLSB0aGVyZSA6dmFsaWQgZG9lcyB0aGUgc2FtZSBqb2IsIHdoaWNoIGlzIHdoeSB0aGUgZm91ciBzZWxlY3RzIHRoYXQgbWF5IGJlXG4gICBsZWZ0IGJsYW5rIGNhcnJ5IGByZXF1aXJlZGAgKHRoZSBmb3JtIGlzIG5vdmFsaWRhdGUsIHNvIG5vIG5hdGl2ZSBidWJibGVzKS4gKi9cbi5yYy1mb3JtIC5yYy1mbG9hdDpmb2N1cy13aXRoaW4gLmNvbnRyb2wtbGFiZWwsXG4ucmMtZm9ybSAucmMtZmxvYXQ6bm90KC5pcy1lbXB0eSkgLmNvbnRyb2wtbGFiZWwsXG4ucmMtZm9ybSAucmMtZmxvYXQgaW5wdXQuZm9ybS1jb250cm9sOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIH4gLmNvbnRyb2wtbGFiZWwsXG4ucmMtZm9ybSAucmMtZmxvYXQgc2VsZWN0LmZvcm0tY29udHJvbDp2YWxpZCB+IC5jb250cm9sLWxhYmVsIHtcbiAgICB0b3A6IDA7IGJhY2tncm91bmQ6IHZhcigtLXJjLWZsb2F0LWJnLCB2YXIoLS1yYy1zdXJmYWNlKSk7IGNvbG9yOiB2YXIoLS1yYy1pbmstc29mdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1yYy1sYWJlbC1zaXplKTsgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5yYy1mb3JtIC5yYy1mbG9hdDpmb2N1cy13aXRoaW4gLmNvbnRyb2wtbGFiZWwgeyBjb2xvcjogdmFyKC0tcmMtYWNjZW50LWRhcmspOyB9XG4ucmMtZm9ybSAucmMtZmxvYXQuaGFzLWVycm9yIC5jb250cm9sLWxhYmVsIHsgY29sb3I6IHZhcigtLXJjLWRhbmdlci1pbmspOyB9XG4vKiB3aGlsZSB0aGUgbGFiZWwgc2l0cyBpbnNpZGUgdGhlIGZpZWxkIGl0IGhhcyB0byBjbGVhciB0aGUgc2VsZWN0IGluZGljYXRvcnMgKi9cbi5yYy1mb3JtIC5yYy1mbG9hdC5oYXMtc2VsZWN0LmlzLWVtcHR5Om5vdCg6Zm9jdXMtd2l0aGluKSAuY29udHJvbC1sYWJlbCB7IG1heC13aWR0aDogY2FsYygxMDAlIC0gNDRweCk7IH1cbi5yYy1mb3JtIC5yYy1mbG9hdC5oYXMtdW5pdC5pcy1lbXB0eTpub3QoOmZvY3VzLXdpdGhpbikgLmNvbnRyb2wtbGFiZWwgeyBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTsgfVxuLnJjLWZvcm0gLnJjLWZsb2F0Lmhhcy11bml0IC5mb3JtLWNvbnRyb2wgeyBwYWRkaW5nLXJpZ2h0OiA4OHB4OyB9XG4ucmMtZm9ybSAucmMtZmxvYXQuaGFzLXNlYXJjaCAuZm9ybS1jb250cm9sIHsgcGFkZGluZy1yaWdodDogMTA0cHg7IH1cbi5yYy1mb3JtIC5yYy1mbG9hdC5oYXMtc2VhcmNoLmlzLWVtcHR5Om5vdCg6Zm9jdXMtd2l0aGluKSAuY29udHJvbC1sYWJlbCB7IG1heC13aWR0aDogY2FsYygxMDAlIC0gMTE2cHgpOyB9XG4ucmMtZm9ybSAucmMtcGxhdGUtc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNHB4OyByaWdodDogNHB4OyBib3R0b206IDRweDsgei1pbmRleDogMjsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogMCAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1hY2NlbnQpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMpOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tcmMtYWNjZW50KTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMTsgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJjLWZvcm0gLnJjLXBsYXRlLXNlYXJjaCA+ICogeyBmbGV4LXNocmluazogMDsgfVxuLnJjLWZvcm0gLnJjLXBsYXRlLXNlYXJjaCBbaGlkZGVuXSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuLnJjLWZvcm0gLnJjLXBsYXRlLXNlYXJjaDpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmMtYWNjZW50LWRhcmspOyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1hY2NlbnQtc29mdCk7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IH1cbi5yYy1mb3JtIC5yYy1wbGF0ZS1zZWFyY2g6ZGlzYWJsZWQgeyBvcGFjaXR5OiAuNzsgY3Vyc29yOiBkZWZhdWx0OyB9XG4ucmMtZm9ybSAucmMtcGxhdGUtc2VhcmNoW2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG4ucmMtZm9ybSAucmMtZmxvYXQgLnJjLXVuaXQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogMTJweDsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyB3aGl0ZS1zcGFjZTogbm93cmFwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4ucmMtZm9ybSBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBhcHBlYXJhbmNlOiBub25lOyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM2ZTc1N2QnIHN0cm9rZS13aWR0aD0nMS44JyUzRSUzQ3BhdGggZD0nTTYgOWw2IDYgNi02Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG59XG5cbi8qIG1hcmdpbi10b3AgY2xlYXJzIHRoZSAucmMtZ3JpZCBhYm92ZTogaXRzIGZvcm0tZ3JvdXBzIGhhdmUgbWFyZ2luLWJvdHRvbTowLCBzbyB3aXRob3V0IGl0IHRoZVxuICAgZmlyc3QgdHJhaWxlciBjYXJkIGJ1dHRzIHN0cmFpZ2h0IGFnYWluc3QgdGhlIGNhdGVnb3J5IC8gZW1pc3Npb24gcm93LiBUaGUgZ2FwIGtlZXBzIHRoZSB0d29cbiAgIGNhcmRzIGFwYXJ0IHJhdGhlciB0aGFuIGNvbGxhcHNpbmcgdGhlaXIgYm9yZGVycyAtIGVhY2ggb25lIGNhcnJpZXMgaXRzIG93biBmbG9hdGluZyBsYWJlbC4gKi9cbi5yYy10cmFpbGVycyB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogMTJweDsgfVxuLnJjLXRyYWlsZXIgeyAtLXJjLWZsb2F0LWJnOiB2YXIoLS1yYy1hY2NlbnQtc29mdCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZzogMThweCAxNHB4IDE0cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJjLWFjY2VudC1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMpOyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1hY2NlbnQtc29mdCk7IH1cbi5yYy10cmFpbGVyLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogOXB4OyB6LWluZGV4OiAyOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDVweDtcbiAgICBwYWRkaW5nOiAwIDVweDsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZSk7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi5yYy10cmFpbGVyLWljb24geyB3aWR0aDogMTRweDsgaGVpZ2h0OiAxNHB4OyB9XG4ucmMtdHJhaWxlci1uYW1lIHsgbWFyZ2luOiAwOyBmb250LXNpemU6IHZhcigtLXJjLWxhYmVsLXNpemUpOyBmb250LXdlaWdodDogNzAwOyB9XG4ucmMtdHJhaWxlci1yZW1vdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyByaWdodDogOXB4OyB6LWluZGV4OiAyOyBtaW4taGVpZ2h0OiAwOyBwYWRkaW5nOiAwIDVweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1zdXJmYWNlKTsgY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgZm9udC1zaXplOiB2YXIoLS1yYy1sYWJlbC1zaXplKTsgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY3Vyc29yOiBwb2ludGVyOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4ucmMtdHJhaWxlci1yZW1vdmU6aG92ZXIsIC5yYy10cmFpbGVyLXJlbW92ZTpmb2N1cyB7IGNvbG9yOiB2YXIoLS1yYy1kYW5nZXItaW5rKTsgfVxuLyogU2VwYXJhdGUgZmllbGRzLCBlYWNoIG9uIGl0cyBvd24gYm9yZGVyIGFuZCBzcGFjZWQgbGlrZSB0aGUgbWFpbiAucmMtZ3JpZC4gVGhlc2UgdXNlZCB0byBiZVxuICAgd2VsZGVkIGludG8gYSBzaW5nbGUgYm9yZGVyZWQgYm94IC0gZ2FwOjFweCBvdmVyIGEgbGluZS1jb2xvdXJlZCBiYWNrZ3JvdW5kIHdpdGggdGhlIGNvbnRyb2xzJ1xuICAgb3duIGJvcmRlcnMgc3dpdGNoZWQgb2ZmIC0gd2hpY2ggcGFja2VkIHRocmVlIGxhYmVsbGVkIGNvbnRyb2xzIGludG8gb25lIGZyYW1lIHdpdGggbm8gcm9vbVxuICAgYmV0d2VlbiB0aGVtLiAtLXJjLWZsb2F0LWJnIHN0YXlzIC0tcmMtc3VyZmFjZSBiZWNhdXNlIGVhY2ggbGFiZWwgc3RpbGwgc2l0cyBvbiB0aGUgd2hpdGVcbiAgIGNvbnRyb2wgaXQgb3ZlcmxhcHMsIG5vdCBvbiB0aGUgY2FyZCdzIHRpbnRlZCBiYWNrZ3JvdW5kLiAqL1xuLnJjLXRyYWlsZXItZmllbGRzIHtcbiAgICAtLXJjLWZsb2F0LWJnOiB2YXIoLS1yYy1zdXJmYWNlKTsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1ZnIgN2ZyOyBnYXA6IDEycHg7XG59XG4ucmMtdHJhaWxlci1maWVsZHMgPiAucmMtZmxvYXQ6bnRoLWNoaWxkKDMpIHsgZ3JpZC1jb2x1bW46IDEgLyAtMTsgfVxuLnJjLXRyYWlsZXItZmllbGRzID4gLnJjLWZsb2F0OmZvY3VzLXdpdGhpbiB7IHotaW5kZXg6IDI7IH1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5yYy10cmFpbGVyLWZpZWxkcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG59XG4ucmMtdHJhaWxlci1hY3Rpb25zIHsgbWFyZ2luOiAwOyB9XG4ucmMtdHJhaWxlci1hY3Rpb25zICsgLnJjLWhlbHAsICNyYy1zdGVwLXZlaGljbGUgLnJjLWFjdGlvbnMtZW5kIHsgbWFyZ2luLXRvcDogMDsgfVxuLnJjLXRyYWlsZXItYWN0aW9ucyAucmMtYnRuIHsgcGFkZGluZy1sZWZ0OiA0cHg7IH1cbi5yYy10cmFpbGVyLWFjdGlvbnMgc21hbGwgeyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQteHMpOyBmb250LXdlaWdodDogNDAwOyB9XG5cbi5yYy1idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiA4cHg7IG1pbi1oZWlnaHQ6IHZhcigtLXJjLWJ0bi1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IDAgMTZweDsgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cyk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS1yYy1pbmspOyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLXJjLWR1cmF0aW9uKSB2YXIoLS1yYy1lYXNlKSwgYm9yZGVyLWNvbG9yIHZhcigtLXJjLWR1cmF0aW9uKSB2YXIoLS1yYy1lYXNlKSxcbiAgICAgICAgY29sb3IgdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpLCB0cmFuc2Zvcm0gdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpO1xufVxuLnJjLWJ0bjphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyB0cmFuc2Zvcm06IHNjYWxlKC45ODUpOyB9XG4ucmMtYnRuOmRpc2FibGVkIHsgb3BhY2l0eTogLjU7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbi5yYy1idG4gc3ZnIHsgd2lkdGg6IDE2cHg7IGhlaWdodDogMTZweDsgfVxuLnJjLWJ0bi0tYmxvY2sgeyB3aWR0aDogMTAwJTsgfVxuLnJjLWJ0bi0tcHJpbWFyeSB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmMtYWNjZW50KTsgYmFja2dyb3VuZDogdmFyKC0tcmMtYWNjZW50KTsgY29sb3I6ICNmZmY7IH1cbi5yYy1idG4tLXByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCksIC5yYy1idG4tLXByaW1hcnk6Zm9jdXMgeyBib3JkZXItY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtYWNjZW50LWRhcmspOyBjb2xvcjogI2ZmZjsgfVxuLnJjLWJ0bi0tcHJpbWFyeTpkaXNhYmxlZCB7IG9wYWNpdHk6IDE7IGJhY2tncm91bmQ6IHZhcigtLXJjLWFjY2VudC1ib3JkZXIpOyBib3JkZXItY29sb3I6IHZhcigtLXJjLWFjY2VudC1ib3JkZXIpOyBjdXJzb3I6IHdhaXQ7IH1cbi5yYy1idG4tLW91dGxpbmUgeyBib3JkZXItY29sb3I6IHZhcigtLXJjLWxpbmUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1zdXJmYWNlKTsgY29sb3I6IHZhcigtLXJjLWluay1zb2Z0KTsgfVxuLnJjLWJ0bi0tb3V0bGluZTpob3Zlcjpub3QoOmRpc2FibGVkKSwgLnJjLWJ0bi0tb3V0bGluZTpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmMtYWNjZW50KTsgY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgfVxuLnJjLWJ0bi0tZ2hvc3QgeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgfVxuLnJjLWJ0bi0tZ2hvc3Q6aG92ZXI6bm90KDpkaXNhYmxlZCksIC5yYy1idG4tLWdob3N0OmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1yYy1saW5lKTsgY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgfVxuLnJjLWJ0bi0tZ2hvc3QuaXMtYWNjZW50IHsgY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IH1cblxuLnJjLXN1Ym1pdCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogOHB4OyBtYXJnaW4tdG9wOiA4cHg7IH1cbi5yYy10aWNrZXQgeyBtYXJnaW4tdG9wOiAxNnB4OyBvdmVyZmxvdzogaGlkZGVuOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmMtcmFkaXVzKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZSk7IGFuaW1hdGlvbjogcmMtcGFuZWwtaW4gdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpOyB9XG4ucmMtdGlja2V0LWhlYWQgeyBkaXNwbGF5OiBncmlkOyBnYXA6IDEycHg7IHBhZGRpbmc6IDEycHg7IH1cbkBtZWRpYSAobWluLXdpZHRoOiA4MjBweCkge1xuICAgIC5yYy10aWNrZXQtaGVhZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgMjYwcHg7IGdhcDogMjBweDsgcGFkZGluZzogMTRweDsgfVxufVxuLnJjLXRpY2tldC1pZCB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDEwcHg7IH1cbi5yYy10aWNrZXQtYmFkZ2UgeyBmbGV4OiAwIDAgYXV0bzsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgd2lkdGg6IDMycHg7IGhlaWdodDogMzJweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcmMtYWNjZW50LWJvcmRlcik7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHZhcigtLXJjLWFjY2VudC1zb2Z0KTsgY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IH1cbi5yYy10aWNrZXQtYmFkZ2Ugc3ZnIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgfVxuLnJjLXRpY2tldC10aXRsZSB7IG1hcmdpbjogMCAwIDJweDsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LW1kKTsgZm9udC13ZWlnaHQ6IDcwMDsgbGluZS1oZWlnaHQ6IDEuMjsgY29sb3I6IHZhcigtLXJjLWluayk7IH1cbi5yYy10aWNrZXQtcm91dGUgeyBtYXJnaW46IDAgMCA2cHg7IGNvbG9yOiB2YXIoLS1yYy1pbmstc29mdCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1zbSk7IGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG4ucmMtdGlja2V0LWJvZHkgeyBwYWRkaW5nOiAxMnB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcmMtbGluZS1zb2Z0KTsgfVxuQG1lZGlhIChtaW4td2lkdGg6IDgyMHB4KSB7IC5yYy10aWNrZXQtYm9keSB7IHBhZGRpbmc6IDE0cHg7IH0gfVxuLnJjLXRpY2tldC1zdWIgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDdweDsgbWFyZ2luOiAwIDAgNXB4OyBjb2xvcjogdmFyKC0tcmMtaW5rKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyBmb250LXdlaWdodDogNzAwOyB9XG4ucmMtdGlja2V0LXN1YmljbyB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHdpZHRoOiAyMXB4OyBoZWlnaHQ6IDIxcHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHZhcigtLXJjLWFjY2VudC1zb2Z0KTsgY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IH1cbi5yYy10aWNrZXQtc3ViaWNvIHN2ZyB7IHdpZHRoOiAxM3B4OyBoZWlnaHQ6IDEzcHg7IH1cbi5yYy10aWNrZXQtY291bnQgeyBkaXNwbGF5OiBpbmxpbmUtZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgbWluLXdpZHRoOiAxOXB4OyBoZWlnaHQ6IDE5cHg7IHBhZGRpbmc6IDAgNXB4OyBib3JkZXItcmFkaXVzOiA5cHg7IGJhY2tncm91bmQ6IHZhcigtLXJjLWFjY2VudC1zb2Z0KTsgY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC14cyk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5yYy10aWNrZXQtbWV0YSB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogNXB4OyBtYXJnaW46IDRweCAwIDA7IHBhZGRpbmc6IDA7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cbi5yYy10aWNrZXQtbWV0YSBsaSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtd3JhcDogd3JhcDsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogNnB4OyBjb2xvcjogdmFyKC0tcmMtaW5rLXNvZnQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQtc20pOyBsaW5lLWhlaWdodDogMS40OyB9XG4ucmMtdGlja2V0LW1ldGEgbGkgPiBzcGFuIHsgbWluLXdpZHRoOiAwOyB9XG4ucmMtdGlja2V0LW1ldGEgc3ZnIHsgZmxleDogbm9uZTsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTVweDsgbWFyZ2luLXRvcDogMnB4OyBjb2xvcjogdmFyKC0tcmMtYWNjZW50KTsgfVxuLnJjLXRpY2tldC1wcmljZSBkbCB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogN3B4OyBtYXJnaW46IDA7IH1cbi5yYy10aWNrZXQtcHJpY2UgZGwgPiBkaXYgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogYmFzZWxpbmU7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgZ2FwOiAxMnB4OyB9XG4ucmMtdGlja2V0LXByaWNlIGR0IHsgY29sb3I6IHZhcigtLXJjLWluay1zb2Z0KTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXNtKTsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLnJjLXRpY2tldC1wcmljZSBkZCB7IG1hcmdpbjogMDsgY29sb3I6IHZhcigtLXJjLWluayk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1zbSk7IGZvbnQtd2VpZ2h0OiA3MDA7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5yYy10aWNrZXQtcHJpY2UgLmlzLXRvdGFsIHsgbWFyZ2luLXRvcDogMnB4OyBwYWRkaW5nLXRvcDogOXB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcmMtbGluZSk7IH1cbi5yYy10aWNrZXQtcHJpY2UgLmlzLXRvdGFsIGR0IHsgY29sb3I6IHZhcigtLXJjLWluayk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1tZCk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5yYy10aWNrZXQtcHJpY2UgLmlzLXRvdGFsIGRkIHsgY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC14bCk7IH1cbi5yYy10aWNrZXQtdmF0bm90ZSB7IG1hcmdpbjogM3B4IDAgMDsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhzKTsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbkBtZWRpYSAobWluLXdpZHRoOiA4MjBweCkgeyAucmMtdGlja2V0LXByaWNlIHsgcGFkZGluZy1sZWZ0OiAyMnB4OyBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLXJjLWxpbmUtc29mdCk7IH0gfVxuQG1lZGlhIChtYXgtd2lkdGg6IDgxOXB4KSB7XG4gICAgLnJjLXRpY2tldC1oZWFkIHsgZ2FwOiAxMHB4OyB9XG4gICAgLnJjLXRpY2tldC1wcmljZSB7IHBhZGRpbmctdG9wOiAxMHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcmMtbGluZS1zb2Z0KTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLnJjLXRpY2tldC1wcmljZSAuaXMtdG90YWwgZGQgeyBmb250LXNpemU6IHZhcigtLXJjLXRleHQtbGcpOyB9XG59XG5cbi5yYy10aWNrZXQtdGFibGUtd3JhcCB7IG92ZXJmbG93LXg6IGF1dG87IG1hcmdpbi1ib3R0b206IDE0cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJjLWxpbmUtc29mdCk7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IH1cbi5yYy10aWNrZXQtdGFibGUgeyB3aWR0aDogMTAwJTsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXNtKTsgfVxuLnJjLXRpY2tldC10YWJsZSB0aCwgLnJjLXRpY2tldC10YWJsZSB0ZCB7IHBhZGRpbmc6IDdweCAxMHB4OyB0ZXh0LWFsaWduOiBsZWZ0OyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ucmMtdGlja2V0LXRhYmxlIHRoZWFkIHRoIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJjLWxpbmUpOyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1zdXJmYWNlLWFsdCk7IGNvbG9yOiB2YXIoLS1yYy1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtbGFiZWwtc2l6ZSk7IGZvbnQtd2VpZ2h0OiA3MDA7IGxldHRlci1zcGFjaW5nOiAuMDRlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuLnJjLXRpY2tldC10YWJsZSB0Ym9keSB0ciArIHRyIHRkIHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXJjLWxpbmUtc29mdCk7IH1cbi5yYy10aWNrZXQtdGFibGUgdGJvZHkgdGQgeyBjb2xvcjogdmFyKC0tcmMtaW5rLXNvZnQpOyB9XG4ucmMtdGlja2V0LXRhYmxlIC5pcy1udW1lcmljIHsgdGV4dC1hbGlnbjogcmlnaHQ7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7IH1cbi5yYy10aWNrZXQtdGFibGUgLmlzLWluZGV4IHsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsgfVxuLnJjLXRpY2tldC10YWJsZSB0Zm9vdCB0ZCB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZS1hbHQpOyBjb2xvcjogdmFyKC0tcmMtaW5rKTsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuLnJjLXRpY2tldC10YWJsZSB0Zm9vdCB0ZDpmaXJzdC1jaGlsZCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5yYy10YXJpZmZzIC5yYy10aWNrZXQtdGFibGUtd3JhcCB7IG1hcmdpbi1ib3R0b206IDA7IGJvcmRlcjogMDsgYm9yZGVyLXJhZGl1czogMDsgfVxuLnJjLXRhcmlmZnMgLnJjLXRpY2tldC10YWJsZSB0aCwgLnJjLXRhcmlmZnMgLnJjLXRpY2tldC10YWJsZSB0ZCB7IHBhZGRpbmc6IDlweCAwOyB9XG4ucmMtdGFyaWZmcyAucmMtdGlja2V0LXRhYmxlIHRoZWFkIHRoIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJjLWxpbmUtc29mdCk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4ucmMtdGFyaWZmcyAucmMtdGlja2V0LXRhYmxlIHRib2R5IHRyICsgdHIgdGQgeyBib3JkZXItdG9wOiAwOyB9XG4ucmMtdGFyaWZmcyAucmMtdGlja2V0LXRhYmxlIHRib2R5IHRkIHsgbWluLXdpZHRoOiAwOyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4ucmMtdGFyaWZmcyAucmMtdGlja2V0LXRhYmxlIC5pcy1yb2FkLCAucmMtdGFyaWZmcyAucmMtdGlja2V0LXRhYmxlIC5pcy1jb3N0IHsgY29sb3I6IHZhcigtLXJjLWluayk7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbi5yYy10YXJpZmZzLmlzLWNsaXBwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG4gKyA0KSB7IGRpc3BsYXk6IG5vbmU7IH1cbi5yYy10YXJpZmZzLmlzLWNsaXBwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKDMpIHsgb3BhY2l0eTogLjI4OyB9XG4ucmMtdGFyaWZmcy1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1hcmdpbi10b3A6IDRweDsgfVxuLnJjLXRhcmlmZnMtYWN0aW9ucyAucmMtYnRuIHN2ZyB7IHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1yYy1kdXJhdGlvbikgdmFyKC0tcmMtZWFzZSk7IH1cbi5yYy10YXJpZmZzLWFjdGlvbnMgLnJjLWJ0blthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzdmcgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5yYy1pbmxpbmUtbm90ZSB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDdweDsgbWFyZ2luOiAwOyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQtc20pOyBsaW5lLWhlaWdodDogMS40OyB9XG4ucmMtaW5saW5lLW5vdGUgc3ZnIHsgZmxleDogbm9uZTsgd2lkdGg6IDE1cHg7IGhlaWdodDogMTVweDsgbWFyZ2luLXRvcDogMXB4OyB9XG4ucmMtZm9ybSAucmMtYnRuOmRpc2FibGVkIHsgb3BhY2l0eTogLjU1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4ucmMtYWxlcnQgeyBtYXJnaW4tYm90dG9tOiAxMHB4OyBwYWRkaW5nOiAxMHB4IDEycHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJjLWRhbmdlci1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMtc20pOyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1kYW5nZXItc29mdCk7IGNvbG9yOiB2YXIoLS1yYy1kYW5nZXItaW5rKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhzKTsgbGluZS1oZWlnaHQ6IDEuNTsgYW5pbWF0aW9uOiByYy1wYW5lbC1pbiB2YXIoLS1yYy1kdXJhdGlvbikgdmFyKC0tcmMtZWFzZSk7IH1cbi5yYy1hbGVydDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi5yYy1hbGVydC10aXRsZSB7IG1hcmdpbjogMCAwIDRweDsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyBmb250LXdlaWdodDogNzAwOyB9XG4ucmMtYWxlcnQtbGlzdCB7IG1hcmdpbjogMDsgcGFkZGluZy1sZWZ0OiAxNnB4OyBsaXN0LXN0eWxlOiBkaXNjOyB9XG4ucmMtYWxlcnQtbGlzdCBsaSArIGxpIHsgbWFyZ2luLXRvcDogMnB4OyB9XG4ucmMtc3RhdHVzIHsgcGFkZGluZzogOHB4IDEwcHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJjLXN1Y2Nlc3MtYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmMtcmFkaXVzLXNtKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VjY2Vzcy1iZyk7IGNvbG9yOiB2YXIoLS1yYy1zdWNjZXNzLWluayk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC14cyk7IH1cbi5yYy1ub3RpY2UgeyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiA4cHg7IG1hcmdpbjogMDsgcGFkZGluZzogOXB4IDExcHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJjLWFjY2VudC1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMtc20pOyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1hY2NlbnQtc29mdCk7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC14cyk7IGxpbmUtaGVpZ2h0OiAxLjU7IGFuaW1hdGlvbjogcmMtcGFuZWwtaW4gdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpOyB9XG4ucmMtbm90aWNlIHN2ZyB7IGZsZXg6IG5vbmU7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IG1hcmdpbi10b3A6IDFweDsgfVxuQGtleWZyYW1lcyByYy1wYW5lbC1pbiB7IGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH0gdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4ucmMtZGlyZWN0aW9ucyB7IGRpc3BsYXk6IGdyaWQ7IGdhcDogOHB4OyB9XG4ucmMtZGlyLWxpc3QgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGdyaWQ7IGdhcDogOHB4OyBwYWRkaW5nOiAxMnB4IDQ0cHggMTJweCAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmMtcmFkaXVzKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZSk7IH1cbi5yYy1kaXItcm93IHsgcG9zaXRpb246IHJlbGF0aXZlOyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI2cHggbWlubWF4KDAsIDFmcik7IGFsaWduLWl0ZW1zOiBzdGFydDsgY29sdW1uLWdhcDogNnB4OyB9XG4ucmMtZGlyLW1hcmtlciB7IGRpc3BsYXk6IGdyaWQ7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IGhlaWdodDogdmFyKC0tcmMtZmllbGQtaGVpZ2h0KTsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgfVxuLnJjLWRpci1jaXJjbGUgeyB3aWR0aDogMTFweDsgaGVpZ2h0OiAxMXB4OyBib3JkZXI6IDIuNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4ucmMtZGlyLXNxdWFyZSB7IHdpZHRoOiA4cHg7IGhlaWdodDogOHB4OyBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7IH1cbi5yYy1kaXItcGluIHsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IH1cbi5yYy1kaXItcGluIHN2ZyB7IHdpZHRoOiAyMHB4OyBoZWlnaHQ6IDIwcHg7IH1cbi5yYy1kaXItcm93Om5vdCg6bGFzdC1vZi10eXBlKSAucmMtZGlyLW1hcmtlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiBjYWxjKHZhcigtLXJjLWZpZWxkLWhlaWdodCkgLyAyICsgOXB4KTsgbGVmdDogMTJweDsgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLXJjLWZpZWxkLWhlaWdodCkgLyAyIC0gMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tcmMtbGluZSkgMCAzcHgsIHRyYW5zcGFyZW50IDNweCA3cHgpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMnB4IDdweDsgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xufVxuLnJjLWRpci1maWVsZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuLnJjLWRpci1maWVsZC5pcy1zcGxpdCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDFmcik7IGNvbHVtbi1nYXA6IDZweDsgfVxuLmlzLWdlby1oaWRkZW4gLnJjLWRpci1maWVsZC5pcy1zcGxpdCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7IH1cbi5pcy1nZW8taGlkZGVuIC5yYy1kaXItZmllbGQgaW5wdXRbZGF0YS1nZW9dIHsgZGlzcGxheTogbm9uZTsgfVxuLnJjLWRpci1maWVsZC5pcy1zcGxpdCBpbnB1dCB7IHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cbi5yYy1kaXItZmllbGQgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlOyBoZWlnaHQ6IHZhcigtLXJjLWZpZWxkLWhlaWdodCk7IHBhZGRpbmc6IDAgNzhweCAwIDEycHg7IGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHZhcigtLXJjLWZpZWxkLWJnKTsgY29sb3I6IHZhcigtLXJjLWluayk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpLCBib3JkZXItY29sb3IgdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpLCBib3gtc2hhZG93IHZhcigtLXJjLWR1cmF0aW9uKSB2YXIoLS1yYy1lYXNlKTtcbn1cbi5yYy1kaXItZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgfVxuLnJjLWRpci1maWVsZCBpbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0tcmMtYWNjZW50KTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZSk7IGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDI0MCwgOTAsIDQzLCAuMTIpOyB9XG4ucmMtZGlyLWZpZWxkIGlucHV0OmRpc2FibGVkIHsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZS1hbHQpOyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4ucmMtZGlyLXJvdy5pcy1pbnZhbGlkIC5yYy1kaXItZmllbGQgaW5wdXQgeyBib3JkZXItY29sb3I6IHZhcigtLXJjLWRhbmdlcik7IGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDIwNiwgNjMsIDYzLCAuMSk7IH1cbi5yYy1kaXItcm93W2RhdGEta2luZD1cInZpYVwiXSAucmMtZGlyLWZpZWxkLmlzLXNwbGl0IGlucHV0W25hbWU9XCJ2aWFfbmFtZXNbXVwiXSB7IHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cbi5yYy1kaXItdG9vbHMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogOHB4OyBkaXNwbGF5OiBmbGV4OyBnYXA6IDJweDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4ucmMtZGlyLXRvb2wgeyBkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQtc20pOyBsaW5lLWhlaWdodDogMTsgfVxuLnJjLWRpci10b29sOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0tcmMtbGluZS1zb2Z0KTsgY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgfVxuLnJjLWRpci10b29sOmRpc2FibGVkIHsgb3BhY2l0eTogLjM1OyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4ucmMtZGlyLXN3YXAgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTAlOyByaWdodDogOXB4OyBkaXNwbGF5OiBncmlkOyBwbGFjZS1pdGVtczogY2VudGVyOyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBib3JkZXI6IDA7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tcmMtZHVyYXRpb24pIHZhcigtLXJjLWVhc2UpOyB9XG4ucmMtZGlyLXN3YXAgc3ZnIHsgd2lkdGg6IDE3cHg7IGhlaWdodDogMTdweDsgfVxuLnJjLWRpci1zd2FwOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsgYmFja2dyb3VuZDogdmFyKC0tcmMtbGluZS1zb2Z0KTsgY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgfVxuLnJjLWRpci1hY3Rpb25zIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDlweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnJjLWRpci1ub3RlIHsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhzKTsgfVxuLyogdGV4dCBsaW5rIHVuZGVyIHRoZSBcImFkZCBpbnRlcm1lZGlhdGUgcG9pbnRcIiBidXR0b247IGp1c3RpZnktc2VsZiBrZWVwcyBpdFxuICAgY29udGVudC13aWR0aCBpbnN0ZWFkIG9mIHN0cmV0Y2hpbmcgYWNyb3NzIHRoZSAucmMtZGlyZWN0aW9ucyBncmlkIGNvbHVtbiAqL1xuLnJjLWdlby1saW5rIHsganVzdGlmeS1zZWxmOiBzdGFydDsgcGFkZGluZzogMDsgYm9yZGVyOiAwOyBiYWNrZ3JvdW5kOiBub25lOyBmb250OiBpbmhlcml0OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgY29sb3I6IHZhcigtLXJjLWFjY2VudC1kYXJrKTsgY3Vyc29yOiBwb2ludGVyOyB9XG4ucmMtZ2VvLWxpbms6aG92ZXIsIC5yYy1nZW8tbGluazpmb2N1cyB7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQpOyB9XG5cbi5yYy1kaXItcm93LmlzLXN1Z2dlc3RpbmcgeyB6LWluZGV4OiA1OyB9XG4ucmMtc3VnZ2VzdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB6LWluZGV4OiAyMDsgbWF4LWhlaWdodDogMjQ0cHg7IG1hcmdpbjogMDsgcGFkZGluZzogNHB4OyBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXJjLWxpbmUpOyBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJjLXN1cmZhY2UpOyBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMzcsIDQyLCA0NywgLjE0KTtcbiAgICBhbmltYXRpb246IHJjLXBhbmVsLWluIHZhcigtLXJjLWR1cmF0aW9uKSB2YXIoLS1yYy1lYXNlKTtcbn1cbi5yYy1zdWdnZXN0LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDdweCA5cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGNvbG9yOiB2YXIoLS1yYy1pbmspO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC1iYXNlKTsgbGluZS1oZWlnaHQ6IDEuMzsgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJjLXN1Z2dlc3QtaXRlbS5pcy1hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1yYy1hY2NlbnQtc29mdCk7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IH1cbi5yYy1zdWdnZXN0LWNvb3JkcyB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tdG9wOiAxcHg7IGNvbG9yOiB2YXIoLS1yYy1tdXRlZCk7IGZvbnQtc2l6ZTogdmFyKC0tcmMtdGV4dC14cyk7IH1cbi5yYy1zdWdnZXN0LWl0ZW0uaXMtYWN0aXZlIC5yYy1zdWdnZXN0LWNvb3JkcyB7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IH1cbi5yYy1zdWdnZXN0LWVtcHR5IHsgcGFkZGluZzogN3B4IDlweDsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXNtKTsgfVxuLnJjLXN1Z2dlc3QtaXRlbS0tbG9jYXRlIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNnB4IG1pbm1heCgwLCAxZnIpOyBnYXA6IDAgN3B4OyBjb2xvcjogdmFyKC0tcmMtYWNjZW50LWRhcmspOyBmb250LXdlaWdodDogNzAwOyB9XG4ucmMtc3VnZ2VzdC1pdGVtLS1sb2NhdGUgc3ZnIHsgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7IHdpZHRoOiAxNnB4OyBoZWlnaHQ6IDE2cHg7IG1hcmdpbi10b3A6IDFweDsgfVxuLnJjLXN1Z2dlc3QtaXRlbS0tbG9jYXRlIC5yYy1zdWdnZXN0LWNvb3JkcyB7IG1hcmdpbi10b3A6IDA7IH1cbi5yYy1zdWdnZXN0LWl0ZW0tLWxvY2F0ZSArIC5yYy1zdWdnZXN0LWl0ZW0sXG4ucmMtc3VnZ2VzdC1pdGVtLS1sb2NhdGUgKyAucmMtc3VnZ2VzdC1lbXB0eSB7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lLXNvZnQpOyB9XG4ucmMtZm9ybSAucmMtZGlyLWZpZWxkIGlucHV0LmlzLWxvY2F0aW5nOjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IGZvbnQtc3R5bGU6IGl0YWxpYzsgb3BhY2l0eTogMTsgfVxuLnJjLWZvcm0gLnJjLWRpci1maWVsZCBpbnB1dC5pcy1sb2NhdGUtZXJyb3I6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHZhcigtLXJjLWRhbmdlci1pbmspOyBvcGFjaXR5OiAxOyB9XG5cbi5yYy1zdWdnZXN0LS1wbGF0ZSB7IHRvcDogMTAwJTsgbGVmdDogMDsgd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDIwMHB4OyBtYXJnaW4tdG9wOiA0cHg7IH1cbi5yYy1mbG9hdC5pcy1zdWdnZXN0aW5nIHsgei1pbmRleDogNTsgfVxuLnJjLWF1dG9maWxsLW5vdGUgeyBtYXJnaW46IDRweCAycHggMDsgY29sb3I6IHZhcigtLXJjLW11dGVkKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhzKTsgbGluZS1oZWlnaHQ6IDEuMzU7IH1cblxuLnJjLW1hcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDE5MHB4OyBvdmVyZmxvdzogaGlkZGVuOyBtYXJnaW4tdG9wOiAxMnB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYy1yYWRpdXMpOyBiYWNrZ3JvdW5kOiAjZThlNWRlO1xufVxuLnJjLW1hcC5pcy1lbXB0eSB7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KDE0MGRlZywgdHJhbnNwYXJlbnQgNDklLCAjZWFkZmJlIDUwJSwgI2VhZGZiZSA1MSUsIHRyYW5zcGFyZW50IDUyJSksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudCgyOWRlZywgdHJhbnNwYXJlbnQgNDglLCAjZWVlNGM4IDQ5JSwgI2VlZTRjOCA1MCUsIHRyYW5zcGFyZW50IDUxJSksXG4gICAgICAgICNmNWYyZTk7XG59XG4ucmMtbWFwLS1xdW90ZSB7IGhlaWdodDogMTUwcHg7IG1hcmdpbjogMCAwIDEycHg7IH1cbkBtZWRpYSAobWluLXdpZHRoOiA4MjBweCkgeyAucmMtbWFwLS1xdW90ZSB7IGhlaWdodDogMTkwcHg7IH0gfVxuLnJjLW1hcC10aWxlcyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IG92ZXJmbG93OiBoaWRkZW47IH1cbi5yYy1tYXAtdGlsZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogbm9uZTsgYm9yZGVyOiAwOyB9XG4ucmMtbWFwLmlzLWVtcHR5IC5yYy1tYXAtdGlsZXMgeyBkaXNwbGF5OiBub25lOyB9XG4ucmMtbWFwLXBpbnMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLnJjLW1hcC1yb3V0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG4ucmMtbWFwLXJvdXRlIHBvbHlsaW5lIHsgZmlsbDogbm9uZTsgc3Ryb2tlOiB2YXIoLS1yYy1hY2NlbnQpOyBzdHJva2Utd2lkdGg6IDM7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDsgc3Ryb2tlLWRhc2hhcnJheTogNiA1OyBvcGFjaXR5OiAuODsgfVxuLnJjLW1hcC5pcy1yb3V0ZWQgLnJjLW1hcC1yb3V0ZSBwb2x5bGluZSB7IHN0cm9rZS13aWR0aDogNDsgc3Ryb2tlLWRhc2hhcnJheTogbm9uZTsgb3BhY2l0eTogLjk1OyB9XG4ucmMtbWFwLXBpbiB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgZGlzcGxheTogZ3JpZDsgcGxhY2UtaXRlbXM6IGNlbnRlcjsgd2lkdGg6IDI2cHg7IGhlaWdodDogMjZweDsgYm9yZGVyOiAycHggc29saWQgI2ZmZjsgYm9yZGVyLXJhZGl1czogNTAlOyBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgyOCwgMzIsIDM2LCAuMzUpOyBjb2xvcjogI2ZmZjsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXhzKTsgZm9udC13ZWlnaHQ6IDcwMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbi5yYy1tYXAtcGluLmlzLXN0YXJ0IHsgYmFja2dyb3VuZDogIzM4YTY3NTsgfVxuLnJjLW1hcC1waW4uaXMtZW5kIHsgYmFja2dyb3VuZDogI2Q5NGQ0NTsgfVxuLnJjLW1hcC1waW4uaXMtdmlhIHsgd2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDsgYmFja2dyb3VuZDogdmFyKC0tcmMtYWNjZW50KTsgfVxuLnJjLW1hcC1lbXB0eSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGRpc3BsYXk6IG5vbmU7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IG1hcmdpbjogMDsgcGFkZGluZzogMCAyNHB4OyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQteHMpOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5yYy1tYXAuaXMtZW1wdHkgLnJjLW1hcC1lbXB0eSB7IGRpc3BsYXk6IGdyaWQ7IH1cbi5yYy1tYXAtY29udHJvbHMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogOHB4OyByaWdodDogOHB4OyB6LWluZGV4OiAyOyBkaXNwbGF5OiBncmlkOyBnYXA6IDRweDsgfVxuLnJjLW1hcC1jb250cm9scyBidXR0b24geyB3aWR0aDogMjhweDsgaGVpZ2h0OiAyOHB4OyBwYWRkaW5nOiAwOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmMtcmFkaXVzLXNtKTsgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuOTQpOyBjb2xvcjogdmFyKC0tcmMtaW5rKTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWJhc2UpOyBmb250LXdlaWdodDogNzAwOyBsaW5lLWhlaWdodDogMTsgfVxuLnJjLW1hcC1jb250cm9scyBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBib3JkZXItY29sb3I6IHZhcigtLXJjLWFjY2VudCk7IGNvbG9yOiB2YXIoLS1yYy1hY2NlbnQtZGFyayk7IH1cbi5yYy1tYXAtY29udHJvbHMgYnV0dG9uOmRpc2FibGVkIHsgY29sb3I6IHZhcigtLXJjLWxpbmUpOyB9XG4ucmMtbWFwLmlzLWVtcHR5IC5yYy1tYXAtY29udHJvbHMgeyBkaXNwbGF5OiBub25lOyB9XG4ucmMtbWFwLWNhcHRpb24geyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgYm90dG9tOiA3cHg7IHBhZGRpbmc6IDNweCA1cHg7IGJvcmRlci1yYWRpdXM6IHZhcigtLXJjLXJhZGl1cy1zbSk7IGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjkpOyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQteHMpOyB9XG5cbi5yYy1kZXRhaWxzIHsgb3ZlcmZsb3c6IGhpZGRlbjsgbWFyZ2luLXRvcDogOXB4OyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lKTsgYm9yZGVyLXJhZGl1czogdmFyKC0tcmMtcmFkaXVzKTsgYmFja2dyb3VuZDogdmFyKC0tcmMtc3VyZmFjZSk7IH1cbi5yYy1kZXRhaWxzIHN1bW1hcnkgeyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IG1pbi1oZWlnaHQ6IDQycHg7IHBhZGRpbmc6IDAgMTJweDsgY29sb3I6IHZhcigtLXJjLWluay1zb2Z0KTsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LXNtKTsgZm9udC13ZWlnaHQ6IDcwMDsgbGlzdC1zdHlsZTogbm9uZTsgY3Vyc29yOiBwb2ludGVyOyB9XG4ucmMtZGV0YWlscyBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHsgZGlzcGxheTogbm9uZTsgfVxuLnJjLWRldGFpbHMgc3VtbWFyeTo6YWZ0ZXIgeyBjb250ZW50OiBcIlxcMjMwNFwiOyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQtbWQpOyB9XG4ucmMtZGV0YWlscy1ib2R5IHsgcGFkZGluZzogMCAxMnB4IDEycHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1yYy1saW5lLXNvZnQpOyBjb2xvcjogdmFyKC0tcmMtbXV0ZWQpOyBmb250LXNpemU6IHZhcigtLXJjLXRleHQteHMpOyBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5yYy1mb3JtIGJ1dHRvbjpub3QoOmRpc2FibGVkKSwgLnJjLWZvcm0gW3JvbGU9XCJidXR0b25cIl0geyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnJjLWZvcm0geyB3aWR0aDogMTAwJTsgcGFkZGluZzogMTZweCAxMnB4IDMycHg7IH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5yYy1zZWN0aW9uLWJvZHkgeyBwYWRkaW5nOiAxMnB4OyB9XG4gICAgLnJjLXNlY3Rpb24taGVhZGVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMnB4IG1pbm1heCgwLCAxZnIpIDMwcHg7IHBhZGRpbmc6IDdweCA4cHggN3B4IDEwcHg7IH1cbiAgICAucmMtc2VjdGlvbi1zdW1tYXJ5IHsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5yYy1kaXItbGlzdCB7IHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDhweDsgfVxuICAgIC5yYy1kaXItZmllbGQgaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cbiAgICAucmMtZGlyLXJvd1tkYXRhLWtpbmQ9XCJ2aWFcIl0gLnJjLWRpci1maWVsZCBpbnB1dCB7IHBhZGRpbmctcmlnaHQ6IDg0cHg7IH1cbiAgICAucmMtZGlyLWZpZWxkLmlzLXNwbGl0IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTsgcm93LWdhcDogNnB4OyB9XG4gICAgLnJjLXRpdGxlIHsgZm9udC1zaXplOiB2YXIoLS1yYy10ZXh0LWxnKTsgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnJjLWZvcm0geyAtLXJjLXRleHQtYmFzZTogMC45MXJlbTsgLS1yYy1sYWJlbC1zaXplOiAwLjczcmVtOyB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5yYy1mb3JtICosIC5yYy1mb3JtICo6OmJlZm9yZSwgLnJjLWZvcm0gKjo6YWZ0ZXIgeyBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDsgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjAxbXMgIWltcG9ydGFudDsgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/