/* stylelint-disable length-zero-no-unit -- env() fallbacks feed calc(), where a unitless 0 is invalid */
:root {
  color-scheme: light;
  box-sizing: border-box;
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  --header: #fff;
  --header-fg: #212529;
  --bg: #f5f5f5;
  --fg: #212529;
  --surface: #fff;
  --surface-fg: #212529;
  --price: #212529;
  --brand: #212529;
  --brand-fg: #fff;
  --accent: #212529;
  --accent-fg: #fff;
  --selected: #e9ecef;
  --selected-fg: #212529;
  --footer: #f5f5f5;
  --footer-fg: #6c757d;
  --muted: #6c757d;
  --line: #d4d4d4;
  --note-bg: #fff6e6;
  --note-fg: #6b4310;
  --skel: #e6ebe9;
  --shadow: 0 8px 30px rgb(33 37 41 / 15%);
  --display: 'Bricolage Grotesque', 'Segoe UI', system-ui, sans-serif;
  --body: 'Onest', 'Segoe UI', system-ui, sans-serif;
}

html {
  scroll-padding-top: env(safe-area-inset-top, 0px);
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--body);
  font-size: 15px;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  min-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

img {
  max-width: 100%;
}

* {
  box-sizing: border-box;
}

main.app {
  flex: 1 0 auto;
}

body::before {
  content: "";
  position: fixed;
  inset: 0 0 auto;
  height: env(safe-area-inset-top, 0px);
  z-index: 10;
  background: var(--surface);
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

button {
  cursor: pointer;
}

:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
}

h1,
h2,
h3 {
  font-family: var(--display);
  text-wrap: balance;
  margin: 0;
}

.money {
  font-variant-numeric: tabular-nums;
}

.btn {
  border: 0;
  border-radius: 12px;
  padding: 12px 18px;
  font-weight: 600;
  background: var(--brand);
  color: var(--brand-fg);
}

a.btn {
  display: inline-block;
  text-align: center;
  text-decoration: none;
}

.btn[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.btn.block {
  width: 100%;
}

.label {
  font-size: 13px;
  color: var(--muted);
  font-weight: 500;
  letter-spacing: 0.02em;
}

.x {
  border: 0;
  background: none;
  font-size: 24px;
  line-height: 1;
  padding: 4px 8px;
  color: var(--muted);
}

.row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.row > :last-child {
  white-space: nowrap;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* stylelint-disable length-zero-no-unit -- env() fallbacks feed calc(), where a unitless 0 is invalid */
/* spacious header */
.hero {
  background: var(--header);
  color: var(--header-fg);
}

.hero .wrap {
  padding-block: 24px;
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
}

.hero .logo {
  display: block;
  height: 96px;
  max-width: 288px;
  flex: none;
}

.hero .logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.hero .who {
  flex: 1 1 200px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.hero .store-name {
  margin: 0;
  opacity: 1;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  text-wrap: balance;
}

.hero .store-name a {
  color: inherit;
  text-decoration: none;
}

@media (width <= 599px) {
  .hero .wrap {
    padding-block: 18px;
    gap: 14px;
    flex-direction: column;
    align-items: flex-start;
  }
  .hero .logo {
    max-width: 100%;
    height: 72px;
  }
  .hero .who {
    flex: none;
  }
  .hero .store-name {
    font-size: 23px;
  }
}
/* sticky slim bar */
.bar {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 5;
  background: var(--surface);
  color: var(--surface-fg);
  border-bottom: 1px solid var(--line);
}

.bar .wrap {
  padding-block: 10px;
  display: flex;
  gap: 10px;
  align-items: center;
}

.bar input[type=search] {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 12px;
  padding: 10px 14px;
}

.bar-logo {
  width: 42px;
  height: 42px;
  flex: none;
  display: grid;
  grid-template: 100%/100%;
  place-items: center;
  overflow: hidden;
  border-radius: 12px;
}

.bar-logo[hidden] {
  display: none;
}

.bar-logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* stylelint-disable length-zero-no-unit -- env() fallbacks feed calc(), where a unitless 0 is invalid */
.side {
  display: none;
}

@media (width >= 900px) {
  .side {
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: sticky;
    top: calc(76px + env(safe-area-inset-top, 0px));
    background: var(--surface);
    color: var(--surface-fg);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 14px;
  }
}
.side h2 {
  font-size: 17px;
}

.catfilter {
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 10px;
  padding: 8px 10px;
  width: 100%;
}

.cats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-height: 60vh;
  overflow-y: auto;
}

.cats a {
  width: 100%;
  text-align: left;
  padding: 8px 10px 8px calc(10px + var(--depth, 0) * 14px);
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: inherit;
  text-decoration: none;
}

.cats a:hover,
.cats a[aria-current=true] {
  background: var(--selected);
  color: var(--selected-fg);
}

.cats a[aria-current=true] {
  font-weight: 600;
}

.sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 80vh;
  background: var(--surface);
  color: var(--surface-fg);
  z-index: 21;
  border-radius: 20px 20px 0 0;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow);
  padding: 16px max(16px, env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  gap: 10px;
}

.sheet h2 {
  font-size: 19px;
}

.sheet .cats {
  max-height: none;
  overflow-y: auto;
}

.scrim {
  position: fixed;
  inset: 0;
  background: rgba(5, 15, 12, 0.45);
  z-index: 20;
}

.sheet[hidden],
.scrim[hidden] {
  display: none;
}

.sheet {
  animation: sheet-in 250ms ease-out;
}

.scrim:has(+ .sheet) {
  animation: scrim-in 250ms ease-out;
}

.sheet.closing {
  animation: sheet-out 200ms ease-in forwards;
}

.scrim:has(+ .sheet.closing) {
  animation: scrim-out 200ms ease-in forwards;
}

@keyframes sheet-in {
  from {
    transform: translateY(100%);
  }
}
@keyframes sheet-out {
  to {
    transform: translateY(100%);
  }
}
@keyframes scrim-in {
  from {
    opacity: 0;
  }
}
@keyframes scrim-out {
  to {
    opacity: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sheet,
  .sheet.closing,
  .scrim:has(+ .sheet),
  .scrim:has(+ .sheet.closing) {
    animation: none;
  }
}
.layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding-block: 16px 48px;
}

@media (width >= 900px) {
  .layout:has(> .side) {
    grid-template-columns: 240px 1fr;
    align-items: start;
  }
}
/* toolbar */
.main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.toolbar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.toolbar select,
.toolbar .catopen {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--surface-fg);
  border-radius: 12px;
  padding: 10px 12px;
  flex: 1 1 150px;
  min-width: 0;
  text-align: left;
}

@media (width >= 900px) {
  .toolbar select#order {
    flex: 0 0 220px;
  }
  .toolbar .mcat {
    display: none;
  }
}
.chip-clear {
  border: 0;
  background: transparent;
  color: var(--brand);
  font-weight: 600;
  padding: 10px 6px;
}

a.chip-clear {
  text-decoration: none;
}

/* product list: phone = rows, desktop = grid */
.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.card {
  background: var(--surface);
  color: var(--surface-fg);
  border-radius: 16px;
  display: flex;
  gap: 12px;
  padding: 12px;
  align-items: center;
  border: 1px solid var(--line);
  text-align: left;
  width: 100%;
  position: relative;
}

.thumb {
  width: 76px;
  height: 76px;
  border-radius: 12px;
  flex: none;
  overflow: hidden;
  background: var(--line);
}

.card .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.card .info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.card .name {
  font-weight: 500;
  line-height: 1.3;
  color: inherit;
  text-decoration: none;
}

.card .name::after {
  content: "";
  position: absolute;
  inset: 0;
}

.card .price {
  font-weight: 600;
  color: var(--price);
}

.tag {
  font-size: 12px;
  color: var(--muted);
}

.add {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border: 0;
  background: var(--brand);
  color: var(--brand-fg);
  font-size: 22px;
  font-weight: 600;
  flex: none;
  display: grid;
  place-items: center;
  text-decoration: none;
}

.stepper {
  display: flex;
  align-items: center;
  background: var(--brand);
  color: var(--brand-fg);
  border-radius: 12px;
  flex: none;
}

.stepper button,
.stepper .add {
  border: 0;
  background: none;
  color: inherit;
  width: 36px;
  height: 40px;
  font-size: 20px;
  font-weight: 600;
}

.stepper button[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
}

.stepper span {
  min-width: 22px;
  text-align: center;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* The name link covers the card; the cart controls sit above it. */
.card .add,
.card .stepper {
  position: relative;
  z-index: 1;
}

@media (width >= 900px) {
  .grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .card {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    overflow: hidden;
    gap: 0;
  }
  .card .thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: 0;
  }
  .card .info {
    padding: 12px 14px 4px;
  }
  .card .info:last-child {
    padding-bottom: 14px;
  }
  .card .add {
    width: auto;
    height: 42px;
    border-radius: 0;
    margin-top: auto;
    font-size: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
  }
  .card .add::after {
    content: " Adicionar";
  }
  .card .stepper .add {
    width: 36px;
    height: 100%;
    font-size: 20px;
  }
  .card .stepper .add::after {
    content: none;
  }
  .card .stepper {
    height: 42px;
    border-radius: 0;
    margin-top: auto;
    justify-content: space-between;
    padding-inline: 8px;
  }
  .card .stepper button {
    height: 100%;
  }
  .card .stepper span::after {
    content: " no carrinho";
    font-weight: 500;
  }
}
@media (width >= 1140px) {
  .grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
#catalog-listing {
  display: contents;
}

/* the frame of the next page needs a box for its lazy loading to see it */
turbo-frame.next-page:not([busy], [complete]) {
  display: block;
  grid-column: 1/-1;
  min-height: 1px;
}

turbo-frame.next-page:is([busy], [complete]) {
  display: contents;
}

turbo-frame.next-page:not([busy]) > .skel {
  display: none;
}

turbo-frame.next-page > .more {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 8px auto;
}

turbo-frame.next-page[busy] > .more {
  display: none;
}

.skel .thumb,
.skel .bar1 {
  background: var(--skel);
  animation: pulse 1.2s ease-in-out infinite;
}

.skel .bar1 {
  height: 12px;
  border-radius: 6px;
}

@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@media (prefers-reduced-motion: reduce) {
  .skel .thumb,
  .skel .bar1 {
    animation: none;
  }
}
.empty {
  grid-column: 1/-1;
  text-align: center;
  padding: 48px 16px;
  color: var(--muted);
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}

.empty h2 {
  color: var(--fg);
  font-size: 20px;
}

.product {
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr;
  padding-block: 16px 48px;
}

@media (width >= 820px) {
  .product {
    grid-template-columns: 1fr 1fr;
  }
}
.crumbs {
  font-size: 13px;
  color: var(--muted);
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding-top: 16px;
}

.crumbs a {
  color: var(--price);
  text-decoration: none;
}

.hero-img {
  aspect-ratio: 1;
  max-width: 100%;
  border-radius: 20px;
  overflow: hidden;
  background: var(--line);
}

.hero-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.pinfo {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.pinfo h1 {
  font-size: 28px;
}

.pinfo .price {
  font-size: 26px;
  font-weight: 600;
  font-family: var(--display);
  color: var(--price);
}

.opts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.opt {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--surface-fg);
  border-radius: 999px;
  padding: 8px 14px;
  text-decoration: none;
}

.opt[aria-current=true] {
  border-color: var(--selected-fg);
  background: var(--selected);
  color: var(--selected-fg);
  text-shadow: 0.4px 0 currentcolor;
}

.opt.dim {
  opacity: 0.4;
}

.opt[aria-disabled=true] {
  cursor: not-allowed;
}

.qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.label + .qty {
  margin-top: 8px;
}

.qty button {
  border: 0;
  background: none;
  color: var(--fg);
  width: 40px;
  height: 40px;
  font-size: 18px;
}

.qty button[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

.qty span {
  min-width: 32px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

.incart {
  margin: 0;
  font-size: 12.5px;
  font-weight: 600;
}

/* stylelint-disable length-zero-no-unit -- env() fallbacks feed calc(), where a unitless 0 is invalid */
.cartbtn {
  position: relative;
  border: 0;
  background: var(--brand);
  color: var(--brand-fg);
  border-radius: 12px;
  padding: 10px 40px 10px 14px;
  font-weight: 600;
  white-space: nowrap;
}

.cartbtn-icon {
  display: none;
  width: 22px;
  height: 22px;
}

@media (width <= 599px) {
  .cartbtn {
    display: flex;
    align-items: center;
    padding: 9px 38px 9px 12px;
  }
  .cartbtn-icon {
    display: block;
  }
  .cartbtn-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
.cartbtn .count {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: var(--accent);
  color: var(--accent-fg);
  border-radius: 999px;
  min-width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  font-size: 12px;
}

/* floating bar, drawer */
.floatbar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0 max(16px, env(safe-area-inset-right, 0px)) calc(16px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  z-index: 6;
  pointer-events: none;
}

.floatbar .inner {
  pointer-events: auto;
  max-width: 560px;
  margin: 0 auto;
  background: var(--fg);
  color: var(--bg);
  border-radius: 16px;
  padding: 12px 12px 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  box-shadow: var(--shadow);
}

.floatbar .inner div {
  flex: 1;
  min-width: 0;
}

.floatbar .btn {
  background: var(--accent);
  color: var(--accent-fg);
}

.drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(420px, 100%);
  background: var(--surface);
  color: var(--surface-fg);
  z-index: 21;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow);
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-right: env(safe-area-inset-right, 0px);
  animation: drawer-in 250ms ease-out;
}

.scrim:has(+ .drawer) {
  animation: scrim-in 250ms ease-out;
}

.drawer.closing {
  animation: drawer-out 200ms ease-in forwards;
}

.scrim:has(+ .drawer.closing) {
  animation: scrim-out 200ms ease-in forwards;
}

@keyframes drawer-in {
  from {
    transform: translateX(100%);
  }
}
@keyframes drawer-out {
  to {
    transform: translateX(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .drawer,
  .drawer.closing,
  .scrim:has(+ .drawer),
  .scrim:has(+ .drawer.closing) {
    animation: none;
  }
}
.drawer header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
}

.drawer header h2 {
  font-size: 19px;
}

.drawer .items {
  flex: 1;
  overflow-y: auto;
  padding: 8px 20px;
}

.drawer footer {
  border-top: 1px solid var(--line);
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.drawer .subtotal {
  font-size: 20px;
}

.line {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-block: 12px;
  border-bottom: 1px solid var(--line);
}

.line .thumb {
  width: 52px;
  height: 52px;
}

.line .thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.line .info {
  flex: 1;
  min-width: 0;
}

.line small {
  color: var(--muted);
  display: block;
}

.hint {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
}

.toast {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: calc(16px + env(safe-area-inset-top, 0px));
  background: var(--fg);
  color: var(--bg);
  padding: 10px 16px;
  border-radius: 12px;
  z-index: 40;
  font-size: 14px;
  max-width: calc(100% - 32px);
}

.summary-title {
  font-size: 26px;
  margin-block: 8px 16px;
}

.summary {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
  padding-block: 8px 48px;
}

@media (width >= 860px) {
  .summary {
    grid-template-columns: 1.4fr 1fr;
    align-items: start;
  }
}
.summary-forms {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.panel {
  background: var(--surface);
  color: var(--surface-fg);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-width: 0;
}

.panel h3 {
  font-size: 17px;
}

.panel .warn {
  margin: 0;
  white-space: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--note-fg);
  background: var(--note-bg);
  border-radius: 12px;
  padding: 8px 12px;
}

.panel .total {
  border-top: 1px solid var(--line);
  padding-top: 10px;
  font-weight: 600;
  font-size: 18px;
}

.radio {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px;
  cursor: pointer;
}

.radio:has(input:checked) {
  border-color: var(--selected-fg);
  background: var(--selected);
  color: var(--selected-fg);
}

.radio input {
  margin-top: 4px;
  accent-color: var(--selected-fg);
}

.radio small {
  display: block;
  color: var(--muted);
}

.field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.field input {
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--fg);
  border-radius: 10px;
  padding: 10px 12px;
}

.err {
  margin: 0;
  color: #b4322b;
  font-size: 13px;
  font-weight: 600;
}

.privacy {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.4;
  margin: 0;
}

.summary[hidden],
.empty[hidden],
.btn[hidden] {
  display: none;
}

footer.store {
  border-top: 1px solid var(--line);
  background: var(--footer);
  color: var(--footer-fg);
}

footer.store .wrap {
  padding-block: 24px 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
  font-size: 14px;
}

footer.store strong {
  display: block;
}

body:has(.floatbar:not([hidden])) footer.store .wrap {
  padding-bottom: 96px;
}

footer.store .credit {
  flex-basis: 100%;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 12px;
  text-align: center;
  opacity: 0.8;
}

footer.store .credit a {
  color: inherit;
  font-weight: 600;
}

footer.store .wrap > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

.contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.contacts .btn {
  padding: 8px 14px;
  text-decoration: none;
}

/*# sourceMappingURL=data:application/json;base64,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QkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixTQUFTO0FBQ1g7O0FBRUE7OztFQUdFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGlDQUFpQztFQUNqQyx5QkFBeUI7RUFDekIsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0Usd0JBQXdCO0VBQ3hCLGFBQWE7RUFDYixlQUFlO0VBQ2YsY0FBYztFQUNkLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLFNBQVM7RUFDVCxpQkFBaUI7RUFDakIsaUNBQWlDO0VBQ2pDLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFlBQVk7RUFDWix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLFFBQVE7RUFDUixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLHFCQUFxQjtBQUN2QiIsImZpbGUiOiJjYXRhbG9nLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHN0eWxlbGludC1kaXNhYmxlIGxlbmd0aC16ZXJvLW5vLXVuaXQgLS0gZW52KCkgZmFsbGJhY2tzIGZlZWQgY2FsYygpLCB3aGVyZSBhIHVuaXRsZXNzIDAgaXMgaW52YWxpZCAqL1xuOnJvb3Qge1xuICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCk7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KTtcbiAgLS1oZWFkZXI6ICNmZmY7XG4gIC0taGVhZGVyLWZnOiAjMjEyNTI5O1xuICAtLWJnOiAjZjVmNWY1O1xuICAtLWZnOiAjMjEyNTI5O1xuICAtLXN1cmZhY2U6ICNmZmY7XG4gIC0tc3VyZmFjZS1mZzogIzIxMjUyOTtcbiAgLS1wcmljZTogIzIxMjUyOTtcbiAgLS1icmFuZDogIzIxMjUyOTtcbiAgLS1icmFuZC1mZzogI2ZmZjtcbiAgLS1hY2NlbnQ6ICMyMTI1Mjk7XG4gIC0tYWNjZW50LWZnOiAjZmZmO1xuICAtLXNlbGVjdGVkOiAjZTllY2VmO1xuICAtLXNlbGVjdGVkLWZnOiAjMjEyNTI5O1xuICAtLWZvb3RlcjogI2Y1ZjVmNTtcbiAgLS1mb290ZXItZmc6ICM2Yzc1N2Q7XG4gIC0tbXV0ZWQ6ICM2Yzc1N2Q7XG4gIC0tbGluZTogI2Q0ZDRkNDtcbiAgLS1ub3RlLWJnOiAjZmZmNmU2O1xuICAtLW5vdGUtZmc6ICM2YjQzMTA7XG4gIC0tc2tlbDogI2U2ZWJlOTtcbiAgLS1zaGFkb3c6IDAgOHB4IDMwcHggcmdiKDMzIDM3IDQxIC8gMTUlKTtcbiAgLS1kaXNwbGF5OiAnQnJpY29sYWdlIEdyb3Rlc3F1ZScsICdTZWdvZSBVSScsIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbiAgLS1ib2R5OiAnT25lc3QnLCAnU2Vnb2UgVUknLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWY7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBjb2xvcjogdmFyKC0tZmcpO1xuICBmb250LWZhbWlseTogdmFyKC0tYm9keSk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpIC0gZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMGR2aCAtIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpIC0gZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20sIDBweCkpO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5tYWluLmFwcCB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG5ib2R5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwIDAgYXV0bztcbiAgaGVpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KTtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tYWNjZW50KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLndyYXAge1xuICBtYXgtd2lkdGg6IDExODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogbWF4KDE2cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMHB4KSk7XG4gIHBhZGRpbmctcmlnaHQ6IG1heCgxNnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAwcHgpKTtcbn1cblxuaDEsXG5oMixcbmgzIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWRpc3BsYXkpO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1vbmV5IHtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmJ0biB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMTJweCAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1mZyk7XG59XG5cbmEuYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idG4uYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4ueCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbn1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDEycHg7XG59XG5cbi5yb3cgPiA6bGFzdC1jaGlsZCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIGxlbmd0aC16ZXJvLW5vLXVuaXQgLS0gZW52KCkgZmFsbGJhY2tzIGZlZWQgY2FsYygpLCB3aGVyZSBhIHVuaXRsZXNzIDAgaXMgaW52YWxpZCAqL1xuLyogc3BhY2lvdXMgaGVhZGVyICovXG4uaGVybyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWhlYWRlcik7XG4gIGNvbG9yOiB2YXIoLS1oZWFkZXItZmcpO1xufVxuXG4uaGVybyAud3JhcCB7XG4gIHBhZGRpbmctYmxvY2s6IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMThweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaGVybyAubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDk2cHg7XG4gIG1heC13aWR0aDogMjg4cHg7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi5oZXJvIC5sb2dvIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5oZXJvIC53aG8ge1xuICBmbGV4OiAxIDEgMjAwcHg7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG59XG5cbi5oZXJvIC5zdG9yZS1uYW1lIHtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAxO1xuICBmb250LWZhbWlseTogdmFyKC0tZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLmhlcm8gLnN0b3JlLW5hbWUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAod2lkdGggPD0gNTk5cHgpIHtcbiAgLmhlcm8gLndyYXAge1xuICAgIHBhZGRpbmctYmxvY2s6IDE4cHg7XG4gICAgZ2FwOiAxNHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmhlcm8gLmxvZ28ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDcycHg7XG4gIH1cbiAgLmhlcm8gLndobyB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAuaGVybyAuc3RvcmUtbmFtZSB7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICB9XG59XG4vKiBzdGlja3kgc2xpbSBiYXIgKi9cbi5iYXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpO1xuICB6LWluZGV4OiA1O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLXN1cmZhY2UtZmcpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG59XG5cbi5iYXIgLndyYXAge1xuICBwYWRkaW5nLWJsb2NrOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5iYXIgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG59XG5cbi5iYXItbG9nbyB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6IDEwMCUvMTAwJTtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLmJhci1sb2dvW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYmFyLWxvZ28gaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbGVuZ3RoLXplcm8tbm8tdW5pdCAtLSBlbnYoKSBmYWxsYmFja3MgZmVlZCBjYWxjKCksIHdoZXJlIGEgdW5pdGxlc3MgMCBpcyBpbnZhbGlkICovXG4uc2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAod2lkdGggPj0gOTAwcHgpIHtcbiAgLnNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IGNhbGMoNzZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwcHgpKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTtcbiAgICBjb2xvcjogdmFyKC0tc3VyZmFjZS1mZyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICB9XG59XG4uc2lkZSBoMiB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLmNhdGZpbHRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNhdHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY2F0cyBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDhweCAxMHB4IDhweCBjYWxjKDEwcHggKyB2YXIoLS1kZXB0aCwgMCkgKiAxNHB4KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhdHMgYTpob3Zlcixcbi5jYXRzIGFbYXJpYS1jdXJyZW50PXRydWVdIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2VsZWN0ZWQpO1xuICBjb2xvcjogdmFyKC0tc2VsZWN0ZWQtZmcpO1xufVxuXG4uY2F0cyBhW2FyaWEtY3VycmVudD10cnVlXSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zaGVldCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1zdXJmYWNlLWZnKTtcbiAgei1pbmRleDogMjE7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdyk7XG4gIHBhZGRpbmc6IDE2cHggbWF4KDE2cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQsIDBweCkpIGNhbGMoMTZweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwcHgpKSBtYXgoMTZweCwgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0LCAwcHgpKTtcbiAgZ2FwOiAxMHB4O1xufVxuXG4uc2hlZXQgaDIge1xuICBmb250LXNpemU6IDE5cHg7XG59XG5cbi5zaGVldCAuY2F0cyB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5zY3JpbSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNSwgMTUsIDEyLCAwLjQ1KTtcbiAgei1pbmRleDogMjA7XG59XG5cbi5zaGVldFtoaWRkZW5dLFxuLnNjcmltW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2hlZXQge1xuICBhbmltYXRpb246IHNoZWV0LWluIDI1MG1zIGVhc2Utb3V0O1xufVxuXG4uc2NyaW06aGFzKCsgLnNoZWV0KSB7XG4gIGFuaW1hdGlvbjogc2NyaW0taW4gMjUwbXMgZWFzZS1vdXQ7XG59XG5cbi5zaGVldC5jbG9zaW5nIHtcbiAgYW5pbWF0aW9uOiBzaGVldC1vdXQgMjAwbXMgZWFzZS1pbiBmb3J3YXJkcztcbn1cblxuLnNjcmltOmhhcygrIC5zaGVldC5jbG9zaW5nKSB7XG4gIGFuaW1hdGlvbjogc2NyaW0tb3V0IDIwMG1zIGVhc2UtaW4gZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgc2hlZXQtaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hlZXQtb3V0IHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzY3JpbS1pbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2NyaW0tb3V0IHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zaGVldCxcbiAgLnNoZWV0LmNsb3NpbmcsXG4gIC5zY3JpbTpoYXMoKyAuc2hlZXQpLFxuICAuc2NyaW06aGFzKCsgLnNoZWV0LmNsb3NpbmcpIHtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gIH1cbn1cbi5sYXlvdXQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiAyNHB4O1xuICBwYWRkaW5nLWJsb2NrOiAxNnB4IDQ4cHg7XG59XG5cbkBtZWRpYSAod2lkdGggPj0gOTAwcHgpIHtcbiAgLmxheW91dDpoYXMoPiAuc2lkZSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjQwcHggMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxufVxuLyogdG9vbGJhciAqL1xuLm1haW4ge1xuICBtaW4td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTRweDtcbn1cblxuLnRvb2xiYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udG9vbGJhciBzZWxlY3QsXG4udG9vbGJhciAuY2F0b3BlbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLXN1cmZhY2UtZmcpO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGZsZXg6IDEgMSAxNTBweDtcbiAgbWluLXdpZHRoOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgKHdpZHRoID49IDkwMHB4KSB7XG4gIC50b29sYmFyIHNlbGVjdCNvcmRlciB7XG4gICAgZmxleDogMCAwIDIyMHB4O1xuICB9XG4gIC50b29sYmFyIC5tY2F0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uY2hpcC1jbGVhciB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1icmFuZCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDEwcHggNnB4O1xufVxuXG5hLmNoaXAtY2xlYXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIHByb2R1Y3QgbGlzdDogcGhvbmUgPSByb3dzLCBkZXNrdG9wID0gZ3JpZCAqL1xuLmdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiAxMHB4O1xufVxuXG4uY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tc3VyZmFjZS1mZyk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50aHVtYiB7XG4gIHdpZHRoOiA3NnB4O1xuICBoZWlnaHQ6IDc2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGZsZXg6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpbmUpO1xufVxuXG4uY2FyZCAudGh1bWIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FyZCAuaW5mbyB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG59XG5cbi5jYXJkIC5uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmNhcmQgLm5hbWU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbn1cblxuLmNhcmQgLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLXByaWNlKTtcbn1cblxuLnRhZyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbn1cblxuLmFkZCB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYnJhbmQpO1xuICBjb2xvcjogdmFyKC0tYnJhbmQtZmcpO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZsZXg6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnN0ZXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1icmFuZCk7XG4gIGNvbG9yOiB2YXIoLS1icmFuZC1mZyk7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi5zdGVwcGVyIGJ1dHRvbixcbi5zdGVwcGVyIC5hZGQge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zdGVwcGVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zdGVwcGVyIHNwYW4ge1xuICBtaW4td2lkdGg6IDIycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLyogVGhlIG5hbWUgbGluayBjb3ZlcnMgdGhlIGNhcmQ7IHRoZSBjYXJ0IGNvbnRyb2xzIHNpdCBhYm92ZSBpdC4gKi9cbi5jYXJkIC5hZGQsXG4uY2FyZCAuc3RlcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuQG1lZGlhICh3aWR0aCA+PSA5MDBweCkge1xuICAuZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBnYXA6IDE2cHg7XG4gIH1cbiAgLmNhcmQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGdhcDogMDtcbiAgfVxuICAuY2FyZCAudGh1bWIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICAuY2FyZCAuaW5mbyB7XG4gICAgcGFkZGluZzogMTJweCAxNHB4IDRweDtcbiAgfVxuICAuY2FyZCAuaW5mbzpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgfVxuICAuY2FyZCAuYWRkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gIH1cbiAgLmNhcmQgLmFkZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIEFkaWNpb25hclwiO1xuICB9XG4gIC5jYXJkIC5zdGVwcGVyIC5hZGQge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbiAgLmNhcmQgLnN0ZXBwZXIgLmFkZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbiAgLmNhcmQgLnN0ZXBwZXIge1xuICAgIGhlaWdodDogNDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctaW5saW5lOiA4cHg7XG4gIH1cbiAgLmNhcmQgLnN0ZXBwZXIgYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmNhcmQgLnN0ZXBwZXIgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIG5vIGNhcnJpbmhvXCI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuQG1lZGlhICh3aWR0aCA+PSAxMTQwcHgpIHtcbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cbn1cbiNjYXRhbG9nLWxpc3Rpbmcge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxuLyogdGhlIGZyYW1lIG9mIHRoZSBuZXh0IHBhZ2UgbmVlZHMgYSBib3ggZm9yIGl0cyBsYXp5IGxvYWRpbmcgdG8gc2VlIGl0ICovXG50dXJiby1mcmFtZS5uZXh0LXBhZ2U6bm90KFtidXN5XSwgW2NvbXBsZXRlXSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxudHVyYm8tZnJhbWUubmV4dC1wYWdlOmlzKFtidXN5XSwgW2NvbXBsZXRlXSkge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cblxudHVyYm8tZnJhbWUubmV4dC1wYWdlOm5vdChbYnVzeV0pID4gLnNrZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG50dXJiby1mcmFtZS5uZXh0LXBhZ2UgPiAubW9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogOHB4IGF1dG87XG59XG5cbnR1cmJvLWZyYW1lLm5leHQtcGFnZVtidXN5XSA+IC5tb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNrZWwgLnRodW1iLFxuLnNrZWwgLmJhcjEge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1za2VsKTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uc2tlbCAuYmFyMSB7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5za2VsIC50aHVtYixcbiAgLnNrZWwgLmJhcjEge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuLmVtcHR5IHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNDhweCAxNnB4O1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmVtcHR5IGgyIHtcbiAgY29sb3I6IHZhcigtLWZnKTtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ucHJvZHVjdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMjRweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIHBhZGRpbmctYmxvY2s6IDE2cHggNDhweDtcbn1cblxuQG1lZGlhICh3aWR0aCA+PSA4MjBweCkge1xuICAucHJvZHVjdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG4uY3J1bWJzIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbn1cblxuLmNydW1icyBhIHtcbiAgY29sb3I6IHZhcigtLXByaWNlKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaGVyby1pbWcge1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGluZSk7XG59XG5cbi5oZXJvLWltZyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5waW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucGluZm8gaDEge1xuICBmb250LXNpemU6IDI4cHg7XG59XG5cbi5waW5mbyAucHJpY2Uge1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1kaXNwbGF5KTtcbiAgY29sb3I6IHZhcigtLXByaWNlKTtcbn1cblxuLm9wdHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5vcHQge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1zdXJmYWNlLWZnKTtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5vcHRbYXJpYS1jdXJyZW50PXRydWVdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWxlY3RlZC1mZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlbGVjdGVkKTtcbiAgY29sb3I6IHZhcigtLXNlbGVjdGVkLWZnKTtcbiAgdGV4dC1zaGFkb3c6IDAuNHB4IDAgY3VycmVudGNvbG9yO1xufVxuXG4ub3B0LmRpbSB7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLm9wdFthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnF0eSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3VyZmFjZSk7XG59XG5cbi5sYWJlbCArIC5xdHkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5xdHkgYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogdmFyKC0tZmcpO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5xdHkgYnV0dG9uW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnF0eSBzcGFuIHtcbiAgbWluLXdpZHRoOiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5pbmNhcnQge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMTIuNXB4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSBsZW5ndGgtemVyby1uby11bml0IC0tIGVudigpIGZhbGxiYWNrcyBmZWVkIGNhbGMoKSwgd2hlcmUgYSB1bml0bGVzcyAwIGlzIGludmFsaWQgKi9cbi5jYXJ0YnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJyYW5kKTtcbiAgY29sb3I6IHZhcigtLWJyYW5kLWZnKTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMTBweCA0MHB4IDEwcHggMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNhcnRidG4taWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG59XG5cbkBtZWRpYSAod2lkdGggPD0gNTk5cHgpIHtcbiAgLmNhcnRidG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA5cHggMzhweCA5cHggMTJweDtcbiAgfVxuICAuY2FydGJ0bi1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY2FydGJ0bi1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuLmNhcnRidG4gLmNvdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1mZyk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBtaW4td2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiBmbG9hdGluZyBiYXIsIGRyYXdlciAqL1xuLmZsb2F0YmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwIG1heCgxNnB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0LCAwcHgpKSBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KSkgbWF4KDE2cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCwgMHB4KSk7XG4gIHotaW5kZXg6IDY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmxvYXRiYXIgLmlubmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIG1heC13aWR0aDogNTYwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1mZyk7XG4gIGNvbG9yOiB2YXIoLS1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDEycHggMTJweCAxMnB4IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93KTtcbn1cblxuLmZsb2F0YmFyIC5pbm5lciBkaXYge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5mbG9hdGJhciAuYnRuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1mZyk7XG59XG5cbi5kcmF3ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IG1pbig0MjBweCwgMTAwJSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tc3VyZmFjZS1mZyk7XG4gIHotaW5kZXg6IDIxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3cpO1xuICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDBweCk7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMHB4KTtcbiAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCwgMHB4KTtcbiAgYW5pbWF0aW9uOiBkcmF3ZXItaW4gMjUwbXMgZWFzZS1vdXQ7XG59XG5cbi5zY3JpbTpoYXMoKyAuZHJhd2VyKSB7XG4gIGFuaW1hdGlvbjogc2NyaW0taW4gMjUwbXMgZWFzZS1vdXQ7XG59XG5cbi5kcmF3ZXIuY2xvc2luZyB7XG4gIGFuaW1hdGlvbjogZHJhd2VyLW91dCAyMDBtcyBlYXNlLWluIGZvcndhcmRzO1xufVxuXG4uc2NyaW06aGFzKCsgLmRyYXdlci5jbG9zaW5nKSB7XG4gIGFuaW1hdGlvbjogc2NyaW0tb3V0IDIwMG1zIGVhc2UtaW4gZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgZHJhd2VyLWluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGRyYXdlci1vdXQge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuZHJhd2VyLFxuICAuZHJhd2VyLmNsb3NpbmcsXG4gIC5zY3JpbTpoYXMoKyAuZHJhd2VyKSxcbiAgLnNjcmltOmhhcygrIC5kcmF3ZXIuY2xvc2luZykge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuLmRyYXdlciBoZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xufVxuXG4uZHJhd2VyIGhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLmRyYXdlciAuaXRlbXMge1xuICBmbGV4OiAxO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiA4cHggMjBweDtcbn1cblxuLmRyYXdlciBmb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMnB4O1xufVxuXG4uZHJhd2VyIC5zdWJ0b3RhbCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYmxvY2s6IDEycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbn1cblxuLmxpbmUgLnRodW1iIHtcbiAgd2lkdGg6IDUycHg7XG4gIGhlaWdodDogNTJweDtcbn1cblxuLmxpbmUgLnRodW1iIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmxpbmUgLmluZm8ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5saW5lIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLW11dGVkKTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oaW50IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvYXN0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdG9wOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCwgMHB4KSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZnKTtcbiAgY29sb3I6IHZhcigtLWJnKTtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB6LWluZGV4OiA0MDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xufVxuXG4uc3VtbWFyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbWFyZ2luLWJsb2NrOiA4cHggMTZweDtcbn1cblxuLnN1bW1hcnkge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDIwcHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBwYWRkaW5nLWJsb2NrOiA4cHggNDhweDtcbn1cblxuQG1lZGlhICh3aWR0aCA+PSA4NjBweCkge1xuICAuc3VtbWFyeSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjRmciAxZnI7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG59XG4uc3VtbWFyeS1mb3JtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucGFuZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLXN1cmZhY2UtZmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgcGFkZGluZzogMThweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNHB4O1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5wYW5lbCBoMyB7XG4gIGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLnBhbmVsIC53YXJuIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1ub3RlLWZnKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm90ZS1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xufVxuXG4ucGFuZWwgLnRvdGFsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpbmUpO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ucmFkaW8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmFkaW86aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zZWxlY3RlZC1mZyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNlbGVjdGVkKTtcbiAgY29sb3I6IHZhcigtLXNlbGVjdGVkLWZnKTtcbn1cblxuLnJhZGlvIGlucHV0IHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBhY2NlbnQtY29sb3I6IHZhcigtLXNlbGVjdGVkLWZnKTtcbn1cblxuLnJhZGlvIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1tdXRlZCk7XG59XG5cbi5maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuXG4uZmllbGQgaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcpO1xuICBjb2xvcjogdmFyKC0tZmcpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG59XG5cbi5lcnIge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjYjQzMjJiO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5wcml2YWN5IHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tbXV0ZWQpO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7XG59XG5cbi5zdW1tYXJ5W2hpZGRlbl0sXG4uZW1wdHlbaGlkZGVuXSxcbi5idG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZvb3Rlci5zdG9yZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saW5lKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZm9vdGVyKTtcbiAgY29sb3I6IHZhcigtLWZvb3Rlci1mZyk7XG59XG5cbmZvb3Rlci5zdG9yZSAud3JhcCB7XG4gIHBhZGRpbmctYmxvY2s6IDI0cHggMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDE2cHggNDBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5mb290ZXIuc3RvcmUgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHk6aGFzKC5mbG9hdGJhcjpub3QoW2hpZGRlbl0pKSBmb290ZXIuc3RvcmUgLndyYXAge1xuICBwYWRkaW5nLWJvdHRvbTogOTZweDtcbn1cblxuZm9vdGVyLnN0b3JlIC5jcmVkaXQge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGluZSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbmZvb3Rlci5zdG9yZSAuY3JlZGl0IGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuZm9vdGVyLnN0b3JlIC53cmFwID4gZGl2IHtcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmNvbnRhY3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4uY29udGFjdHMgLmJ0biB7XG4gIHBhZGRpbmc6IDhweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iXX0= */