/* stylelint-disable-line */
@font-face {
  font-weight: 700;
  font-family: Raleway;
  font-style: normal;
  src: url("../fonts/raleway-bold.woff2") format("woff2"), url("../fonts/raleway-bold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-weight: 300;
  font-family: Raleway;
  font-style: normal;
  src: url("../fonts/raleway-light.woff2") format("woff2"), url("../fonts/raleway-light.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-weight: 600;
  font-family: Raleway;
  font-style: normal;
  src: url("../fonts/raleway-semibold.woff2") format("woff2"), url("../fonts/raleway-semibold.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-weight: 100;
  font-family: Raleway;
  font-style: normal;
  src: url("../fonts/raleway-thin.woff2") format("woff2"), url("../fonts/raleway-thin.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-weight: 300;
  font-family: Roboto;
  font-style: normal;
  src: url("../fonts/roboto-light.woff2") format("woff2"), url("../fonts/roboto-light.woff") format("woff");
  font-display: swap;
}
:root {
  --viewport-size-index: calc(1vw + 1vh);
  --shift: 20px;
  --small-size-index: 26;
  --big-size-index: 36;
  --transition: .75s cubic-bezier(.075, .5, 0, 1);
  --clr-bg-dark: #050505;
  --clr-bg-dark-opacity: hsl(0deg 0% 2% / 80%);
  --clr-black: #000;
  --clr-accent: #685842;
  --clr-font-white: #f1f1f1;
  --font-raleway: "Raleway", arial, sans-serif;
  --font-roboto: "Roboto", arial, sans-serif;
}
@media (width <= 768px) {
  :root {
    --shift: 5px;
  }
}

:where(*) {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

*::before,
*::after {
  box-sizing: inherit;
}

a {
  text-decoration: none;
}

img,
picture {
  max-width: 100%;
  height: auto;
}

picture > img {
  margin-inline: auto;
}

input,
button,
textarea,
select {
  font-family: inherit;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
}

.list-reset {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hidden {
  visibility: hidden !important;
}

html {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

html::-webkit-scrollbar {
  display: none;
}

body {
  height: var(--z-depth);
  color: var(--clr-font-white);
  background-color: var(--clr-bg-dark);
}

.main-hidden {
  opacity: 0;
  transition: opacity var(--transition);
}

.container {
  position: fixed;
  inset: 0;
  perspective: 1500px;
}

.main-gallery {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
}
.main-gallery section {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  inset: 0;
  transform-style: preserve-3d;
}

.page-title {
  width: min-content;
  color: var(--clr-font-white);
  font-weight: 100;
  font-size: max(24px, var(--viewport-size-index) * 3.3);
  font-family: var(--font-raleway);
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.page-title > span {
  display: block;
  font-size: calc(var(--viewport-size-index) * 0.7);
  text-align: right;
}

.section-title {
  width: min-content;
  margin-bottom: 3vh;
  color: var(--clr-font-white);
  font-weight: 100;
  font-size: calc(var(--viewport-size-index) * 3);
  font-family: var(--font-raleway);
  line-height: 1.2;
  text-align: left;
  text-transform: uppercase;
}
.section-title_left {
  text-align: right;
}

.text {
  max-width: 30vw;
  margin-bottom: 3vh;
  color: var(--clr-font-white);
  font-weight: 300;
  font-size: max(18px, var(--viewport-size-index) * 0.8);
  font-family: var(--font-raleway);
  line-height: 1.75;
}
@media (orientation: portrait) and (width <= 768px) {
  .text {
    max-width: 60vw;
  }
}
.text_left {
  text-align: right;
}

.loader {
  position: fixed;
  z-index: 10000;
  display: grid;
  inset: 0;
  place-content: center;
}
.loader::before {
  grid-area: 1/-1;
  width: 50px;
  height: 50px;
  background-color: var(--clr-font-white);
  border-radius: 50%;
  animation: loader 1.5s infinite ease-in-out;
  content: "";
}
.loader::after {
  grid-area: 1/-1;
  align-self: center;
  color: var(--clr-font-white);
  font-weight: 300;
  font-size: 10px;
  font-family: var(--font-raleway);
  text-align: center;
  text-transform: uppercase;
  mix-blend-mode: difference;
  content: "loading";
}

@keyframes loader {
  from {
    transform: scale(0);
    opacity: 1;
  }
  to {
    transform: scale(2);
    opacity: 0;
  }
}
.page-header {
  position: fixed;
  z-index: 10000;
  min-width: 100%;
  padding-inline: var(--viewport-size-index);
  padding-top: 0;
  background-color: transparent;
  transform-style: preserve-3d;
}
.page-header__content {
  display: grid;
}
.page-header__logo {
  grid-area: 1/-1;
  align-self: center;
  justify-self: start;
  margin-left: var(--viewport-size-index);
}
.page-header__nav {
  grid-area: 1/-1;
  align-self: center;
}
.page-header__button {
  grid-area: 1/-1;
  align-self: center;
  justify-self: end;
  margin-right: var(--viewport-size-index);
}

.logo {
  z-index: 1;
}
.logo__link {
  color: var(--clr-bg-dark);
  font-weight: 300;
  font-size: 20px;
  font-family: var(--font-raleway);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.logo__span {
  color: var(--clr-font-white);
  font-weight: 600;
  transition: color 0.85s;
}
.logo__span_active {
  color: var(--clr-accent);
  font-weight: 700;
}

.main-nav {
  background-image: linear-gradient(to top, hsla(0, 0%, 95%, 0) 0%, hsla(0, 0%, 95%, 0.187) 0.3%, hsla(0, 0%, 95%, 0.349) 1.3%, hsla(0, 0%, 95%, 0.488) 3%, hsla(0, 0%, 95%, 0.606) 5.5%, hsla(0, 0%, 95%, 0.704) 8.8%, hsla(0, 0%, 95%, 0.784) 13%, hsla(0, 0%, 95%, 0.848) 18.2%, hsla(0, 0%, 95%, 0.898) 24.3%, hsla(0, 0%, 95%, 0.936) 31.5%, hsla(0, 0%, 95%, 0.963) 39.9%, hsla(0, 0%, 95%, 0.981) 49.3%, hsla(0, 0%, 95%, 0.992) 60%, hsla(0, 0%, 95%, 0.998) 72%, hsl(0, 0%, 95%) 85.3%, hsl(0, 0%, 95%) 100%);
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  transform: translateY(var(--_nav-translateY-active, -100%));
  transform-style: preserve-3d;
  transition: transform 0.85s;
  padding-inline: 50px;
}
.main-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 7vw;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 8px 0;
}
@media (width <= 700px) {
  .main-nav__list {
    gap: 2vh 5vw;
  }
}
.main-nav__item {
  width: max-content;
}
@media (any-hover: hover) and (pointer: fine) {
  .main-nav__item:hover a {
    color: var(--clr-accent);
  }
}
.main-nav__item a {
  display: block;
  padding: 5px;
  color: var(--clr-black);
  font-weight: 300;
  font-size: max(12px, var(--viewport-size-index) * 0.63);
  font-family: var(--font-roboto);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: color 0.85s;
}

.menu-button {
  position: relative;
  width: 30px;
  height: 30px;
  background: transparent;
  border: none;
}
.menu-button::before, .menu-button::after {
  position: absolute;
  left: 2px;
  width: 25px;
  height: 2px;
  background: var(--_clr-active, var(--clr-font-white));
  backface-visibility: hidden;
  transition: top 0.85s, transform 0.85s, box-shadow 0.85s;
  content: "";
}
.menu-button::before {
  top: var(--_top-position-active, 7px);
  box-shadow: var(--_clr-active, var(--clr-font-white)) 0 var(--_shadow-offest-active, 7px) 0 0;
  transform: rotate(var(--before-rotate-angle));
}
.menu-button::after {
  top: var(--_top-position-active, calc(100% - 9px));
  transform: rotate(var(--after-rotate-angle));
}

.frame-box {
  position: absolute;
  display: grid;
  transform-style: preserve-3d;
  transition: var(--transition), opacity 0.75s ease;
  will-change: transform;
  inset: 0;
  place-items: center;
}
.frame-box_bg-clr {
  isolation: isolate;
}
.frame-box_bg-clr::after {
  position: absolute;
  z-index: -1;
  display: block;
  background-color: var(--clr-bg-dark);
  opacity: 0.8;
  content: "";
  inset: calc(-10 * var(--viewport-size-index));
}
.frame-box_portrait {
  display: none;
}
@media (orientation: portrait) and (width <= 768px) {
  .frame-box_portrait {
    display: block;
  }
}
.frame-box_mask-active {
  --mask-animation-active: mask-position-animation;
}
.frame-box__masked-screen {
  position: absolute;
  width: calc(var(--viewport-size-index) * 300);
  height: calc(var(--viewport-size-index) * 300);
  background-color: var(--clr-bg-dark);
  background-image: url("../img/screen-bg.svg");
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 16%;
  transform-style: preserve-3d;
  -webkit-mask-image: linear-gradient(#000 0 0), url("../img/screen-mask.svg");
  -webkit-mask-size: 100%, 16%;
  -webkit-mask-position: 50%;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: xor;
  mask-image: linear-gradient(#000 0 0), url("../img/screen-mask.svg");
  mask-size: 100%, 16%;
  mask-position: 50%;
  mask-repeat: no-repeat;
  mask-composite: exclude;
}
.frame-box__content {
  --offset-ratio: 2;
  --offset-ratio-horizontal: 2;
  position: relative;
  width: calc(var(--viewport-size-index) * var(--small-size-index));
  height: calc(var(--viewport-size-index) * var(--big-size-index));
}
@media (orientation: portrait) and (width <= 768px) {
  .frame-box__content {
    --offset-ratio: 3;
    --offset-ratio-horizontal: 7;
  }
}
.frame-box__content_left {
  right: calc(var(--small-size-index) / var(--offset-ratio) * var(--viewport-size-index) + var(--shift));
}
.frame-box__content_right {
  left: calc(var(--small-size-index) / var(--offset-ratio) * var(--viewport-size-index) + var(--shift));
}
.frame-box__content_horizontal {
  width: calc(var(--viewport-size-index) * var(--big-size-index));
  height: calc(var(--viewport-size-index) * var(--small-size-index));
}
.frame-box__content_horizontal_left {
  right: calc(var(--big-size-index) / var(--offset-ratio-horizontal) * var(--viewport-size-index) + var(--shift));
}
.frame-box__content_horizontal_right {
  left: calc(var(--big-size-index) / var(--offset-ratio-horizontal) * var(--viewport-size-index) + var(--shift));
}
.frame-box__content_mask {
  display: grid;
}
.frame-box__content_mask_portfolio {
  --mask-image: url("../img/masks/mask-45.png");
  --animation-steps: steps(44);
}
.frame-box__content_mask_portfolio-2 {
  --mask-image: url("../img/masks/mask-32.png");
  --animation-steps: steps(32);
}
.frame-box__content_mask_portfolio-3 {
  --mask-image: url("../img/masks/mask-47.png");
  --animation-steps: steps(48);
}
.frame-box__content_mask_concept {
  --mask-image: url("../img/masks/mask-concept-45.png");
  --animation-steps: steps(45);
}
.frame-box__content_mask_concept-wide {
  --mask-image: url("../img/masks/mask-concept-45-wide.png");
}
.frame-box__content_mask > picture {
  grid-area: 1/-1;
}
.frame-box__content_mask > picture:nth-of-type(2) {
  animation: var(--mask-animation-active) 2s var(--animation-steps) forwards;
  -webkit-mask-image: var(--mask-image);
  -webkit-mask-size: cover;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0% 0%;
  -webkit-mask-origin: border-box;
  mask-image: var(--mask-image);
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: 0% 0%;
  mask-origin: border-box;
}
.frame-box__content picture {
  display: block;
  width: 100%;
  height: 100%;
}
.frame-box__content picture img {
  width: inherit;
  height: inherit;
  object-fit: cover;
}
.frame-box__text-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}
@media (orientation: portrait) and (width <= 768px) {
  .frame-box__text-content {
    position: relative;
    isolation: isolate;
  }
  .frame-box__text-content::after {
    position: absolute;
    left: -2vw;
    z-index: -1;
    display: block;
    background-color: var(--clr-bg-dark);
    opacity: 0.8;
    content: "";
    inset: 0;
  }
}
.frame-box__text-content_left {
  padding-left: 7vw;
}
@media (orientation: portrait) and (width <= 768px) {
  .frame-box__text-content_left {
    margin-left: 17vw;
  }
}

@keyframes mask-position-animation {
  0% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
  }
  100% {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
}
.portfolio-gallery {
  position: relative;
  isolation: isolate;
}
.portfolio-gallery__text {
  position: absolute;
  inset: 0;
  top: calc(50% - var(--viewport-size-index) * 3);
  z-index: -10;
  color: var(--clr-font-white);
  font-weight: 300;
  font-size: calc(var(--viewport-size-index) * 1);
  font-family: var(--font-raleway);
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  opacity: var(--_text-opacity, 0);
  transition: opacity 1s;
  user-select: none;
  pointer-events: none;
}

.portfolio-list {
  position: absolute;
  display: grid;
  grid-template-columns: repeat(8, 15vw);
  gap: 5vw;
  width: calc(var(--viewport-size-index) * 150);
  height: calc(var(--viewport-size-index) * 150);
  padding: 5vw;
  transition: transform 1s cubic-bezier(0.075, 0.5, 0, 1);
  will-change: transform;
  place-content: center;
}
@media (width <= 600px) {
  .portfolio-list {
    grid-template-columns: repeat(8, 40vw);
  }
}

.images-box {
  display: grid;
  row-gap: 5vw;
}
.images-box__item {
  display: grid;
  overflow: hidden;
  transition: transform 0.5s ease;
}
.images-box__item > div, .images-box__item > picture {
  grid-area: 1/-1;
}
.images-box__item > div {
  align-self: end;
  order: 1;
}
.images-box__item img {
  width: 100%;
  border-radius: 5px;
}
.images-box__item:hover {
  --_translate-active: 0;
  transform: scale(1.05);
}
.images-box__text-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-height: 90%;
  padding: 20px 10px 30px;
  color: var(--clr-font-white);
  font-family: var(--font-roboto);
  line-height: 1.25;
  background-color: var(--clr-bg-dark-opacity);
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  transform: translateY(var(--_translate-active, 100%));
  transition: transform 0.5s ease;
}
.images-box__text-container > h3 {
  font-weight: 300;
  font-size: max(18px, var(--viewport-size-index) * 0.8);
}
.images-box__text-container > a {
  position: relative;
  display: block;
  margin-top: auto;
  padding: 15px 5px;
  padding-left: 0;
  color: inherit;
  font-size: max(14px, var(--viewport-size-index) * 0.7);
  background: linear-gradient(var(--clr-font-white) 0 0) left bottom/50% 1px no-repeat;
  transition: background 0.5s ease;
}
@media (any-hover: hover) and (pointer: fine) {
  .images-box__text-container > a:hover {
    background-size: 100% 1px;
  }
}

.page-footer {
  position: fixed;
  bottom: 0;
  left: var(--viewport-size-index);
  z-index: 10000;
  width: calc(100% - var(--viewport-size-index) * 2);
  padding: calc(var(--viewport-size-index) * 0.28) var(--viewport-size-index);
  background-image: linear-gradient(to bottom, hsla(0, 0%, 95%, 0) 0%, hsla(0, 0%, 95%, 0.187) 0.3%, hsla(0, 0%, 95%, 0.349) 1.3%, hsla(0, 0%, 95%, 0.488) 3%, hsla(0, 0%, 95%, 0.606) 5.5%, hsla(0, 0%, 95%, 0.704) 8.8%, hsla(0, 0%, 95%, 0.784) 13%, hsla(0, 0%, 95%, 0.848) 18.2%, hsla(0, 0%, 95%, 0.898) 24.3%, hsla(0, 0%, 95%, 0.936) 31.5%, hsla(0, 0%, 95%, 0.963) 39.9%, hsla(0, 0%, 95%, 0.981) 49.3%, hsla(0, 0%, 95%, 0.992) 60%, hsla(0, 0%, 95%, 0.998) 72%, hsl(0, 0%, 95%) 85.3%, hsl(0, 0%, 95%) 100%);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  transform: translateY(var(--footer-translateY-active, 100%));
  transform-style: preserve-3d;
  transition: transform 0.85s;
}
.page-footer__content {
  display: grid;
}
.page-footer__socials {
  grid-area: 1/-1;
}
.page-footer__address {
  grid-area: 1/-1;
  align-self: center;
  justify-self: end;
}

.socials {
  display: flex;
  gap: 10vw;
  justify-content: center;
  transform: translateY(2px);
}
.socials__item {
  padding: 2px;
}
.socials__link {
  display: block;
  width: 25px;
  height: 100%;
  aspect-ratio: 1/1;
}
@media (any-hover: hover) and (pointer: fine) {
  .socials__link:hover svg {
    fill: var(--clr-accent);
  }
}
.socials__link svg {
  max-width: 100%;
  max-height: 100%;
  transition: fill var(--transition);
  fill: var(--clr-black);
}

.address {
  color: var(--clr-black);
  font-weight: 300;
  font-size: calc(var(--viewport-size-index) * 0.55);
  font-family: var(--font-roboto);
  font-style: normal;
}

/* stylelint-disable-line */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJfZm9udHMuc2NzcyIsIl92YXJzLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIl9jb21tb24uc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwibWl4aW5zL19ob3Zlci5zY3NzIiwiY29tcG9uZW50cy9fZnJhbWUuc2NzcyIsImNvbXBvbmVudHMvX3BvcnRmb2xpby1nYWxsZXJ5LnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQ0FBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDckNIO0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQU9BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUNBOztBQWRBO0VBUkg7SUFTTTs7OztBQ1ROO0VBQ0c7RUFDQTtFQUNBOzs7QUFHSDtBQUFBO0VBRUc7OztBQUdIO0VBQ0c7OztBQUdIO0FBQUE7RUFFRztFQUNBOzs7QUFHSDtFQUNHOzs7QUFHSDtBQUFBO0FBQUE7QUFBQTtFQUlHOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRzs7O0FDcERIO0VBQ0c7RUFDQTs7O0FBR0g7RUFDRzs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7OztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFUSDtJQVVNOzs7QUFHSDtFQUNHOzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJTjtFQUNHO0lBQ0c7SUFDQTs7RUFHSDtJQUNHO0lBQ0E7OztBQ25JTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7O0FBSU47RUFDRzs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7OztBQU1UO0VBQ0csa0JBRUc7RUFpQkg7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFUSDtJQVVNOzs7QUFJTjtFQUNHOztBQ25HSDtFRHNHTTtJQUNHOzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1Q7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7OztBRXJKTjtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJTjtFQUNHOztBQUVBO0VBSEg7SUFJTTs7O0FBSU47RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQVJIO0lBU007SUFDQTs7O0FBR0g7RUFDRzs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7O0FBSU47RUFDRzs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBRUE7RUFDRzs7QUFJTjtFQUNHOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLVDtFQUNHO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTs7QUFLVDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBTkg7SUFPTTtJQUNBOztFQUVBO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSU47RUFDRzs7QUFFQTtFQUhIO0lBSU07Ozs7QUFNWjtFQUNHO0lBQ0c7SUFDQTs7RUFHSDtJQUNHO0lBQ0E7OztBQzlMTjtFQUNHO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFaSDtJQWFNOzs7O0FBSU47RUFDRztFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBRUc7O0FBR0g7RUFDRztFQUNBOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBRUE7O0FBS047RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FGcEdOO0VFdUdTO0lBQ0c7Ozs7QUN6R2Y7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkFFRztFQWlCSDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FINURIO0VHK0RNO0lBQ0c7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7OztBQUtUO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FUdkVIIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbkBpbXBvcnQgXCJmb250c1wiO1xuQGltcG9ydCBcInZhcnNcIjtcbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuXG5AaW1wb3J0IFwiY29tbW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZyYW1lXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wb3J0Zm9saW8tZ2FsbGVyeVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyXCI7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiIsIkBmb250LWZhY2Uge1xuICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgIGZvbnQtZmFtaWx5OiBSYWxld2F5O1xuICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgc3JjOiB1cmwoXCIuLi9mb250cy9yYWxld2F5LWJvbGQud29mZjJcIilmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvcmFsZXdheS1ib2xkLndvZmZcIilmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICBmb250LWZhbWlseTogUmFsZXdheTtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIHNyYzogdXJsKFwiLi4vZm9udHMvcmFsZXdheS1saWdodC53b2ZmMlwiKWZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9yYWxld2F5LWxpZ2h0LndvZmZcIilmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICBmb250LWZhbWlseTogUmFsZXdheTtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIHNyYzogdXJsKFwiLi4vZm9udHMvcmFsZXdheS1zZW1pYm9sZC53b2ZmMlwiKWZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9yYWxld2F5LXNlbWlib2xkLndvZmZcIilmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICBmb250LWZhbWlseTogUmFsZXdheTtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIHNyYzogdXJsKFwiLi4vZm9udHMvcmFsZXdheS10aGluLndvZmYyXCIpZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3JhbGV3YXktdGhpbi53b2ZmXCIpZm9ybWF0KFwid29mZlwiKTtcbiAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICBmb250LXdlaWdodDogMzAwO1xuICAgZm9udC1mYW1pbHk6IFJvYm90bztcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgIHNyYzogdXJsKFwiLi4vZm9udHMvcm9ib3RvLWxpZ2h0LndvZmYyXCIpZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3JvYm90by1saWdodC53b2ZmXCIpZm9ybWF0KFwid29mZlwiKTtcbiAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn0iLCI6cm9vdCB7XG4gICAvLyBzeXN0ZW1cbiAgIC0tdmlld3BvcnQtc2l6ZS1pbmRleDogY2FsYygxdncgKyAxdmgpO1xuICAgLS1zaGlmdDogMjBweDtcbiAgIC0tc21hbGwtc2l6ZS1pbmRleDogMjY7XG4gICAtLWJpZy1zaXplLWluZGV4OiAzNjtcbiAgIC0tdHJhbnNpdGlvbjogLjc1cyBjdWJpYy1iZXppZXIoLjA3NSwgLjUsIDAsIDEpO1xuXG4gICBAbWVkaWEgKHdpZHRoIDw9NzY4cHgpIHtcbiAgICAgIC0tc2hpZnQ6IDVweDtcbiAgIH1cblxuICAgLy8gY29sb3JzXG4gICAtLWNsci1iZy1kYXJrOiAjMDUwNTA1O1xuICAgLS1jbHItYmctZGFyay1vcGFjaXR5OiBoc2woMGRlZyAwJSAyJSAvIDgwJSk7XG4gICAtLWNsci1ibGFjazogIzAwMDtcbiAgIC0tY2xyLWFjY2VudDogIzY4NTg0MjtcbiAgIC0tY2xyLWZvbnQtd2hpdGU6ICNmMWYxZjE7XG5cblxuICAgLy8gZm9udHNcbiAgIC0tZm9udC1yYWxld2F5OiBcIlJhbGV3YXlcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAtLWZvbnQtcm9ib3RvOiBcIlJvYm90b1wiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cbiIsIjp3aGVyZSgqKSB7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgbWFyZ2luOiAwO1xuICAgcGFkZGluZzogMDtcbn1cblxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYSB7XG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZyxcbnBpY3R1cmUge1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5waWN0dXJlID4gaW1nIHtcbiAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgd2lkdGg6IDFweDtcbiAgIGhlaWdodDogMXB4O1xuICAgbWFyZ2luOiAtMXB4O1xuICAgcGFkZGluZzogMDtcbiAgIG92ZXJmbG93OiBoaWRkZW47XG4gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgYm9yZGVyOiAwO1xuICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG59XG5cbi5saXN0LXJlc2V0IHtcbiAgIG1hcmdpbjogMDtcbiAgIHBhZGRpbmc6IDA7XG4gICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uaGlkZGVuIHtcbiAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4iLCJodG1sIHtcbiAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuaHRtbDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgZGlzcGxheTogbm9uZTtcbn1cblxuYm9keSB7XG4gICBoZWlnaHQ6IHZhcigtLXotZGVwdGgpO1xuICAgY29sb3I6IHZhcigtLWNsci1mb250LXdoaXRlKTtcbiAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZy1kYXJrKTtcbn1cblxuLm1haW4taGlkZGVuIHtcbiAgIG9wYWNpdHk6IDA7XG4gICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uY29udGFpbmVyIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGluc2V0OiAwO1xuICAgcGVyc3BlY3RpdmU6IDE1MDBweDtcbn1cblxuLm1haW4tZ2FsbGVyeSB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICBpbnNldDogMDtcbiAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbiAgICYgc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgfVxufVxuXG4ucGFnZS10aXRsZSB7XG4gICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICBjb2xvcjogdmFyKC0tY2xyLWZvbnQtd2hpdGUpO1xuICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgIGZvbnQtc2l6ZTogbWF4KDI0cHgsIGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAzLjMpKTtcbiAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXJhbGV3YXkpO1xuICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICY+c3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIDAuNyk7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgIH1cbn1cblxuLnNlY3Rpb24tdGl0bGUge1xuICAgd2lkdGg6IG1pbi1jb250ZW50O1xuICAgbWFyZ2luLWJvdHRvbTogM3ZoO1xuICAgY29sb3I6IHZhcigtLWNsci1mb250LXdoaXRlKTtcbiAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICBmb250LXNpemU6IGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAzKTtcbiAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXJhbGV3YXkpO1xuICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAmX2xlZnQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICB9XG59XG5cbi50ZXh0IHtcbiAgIG1heC13aWR0aDogMzB2dztcbiAgIG1hcmdpbi1ib3R0b206IDN2aDtcbiAgIGNvbG9yOiB2YXIoLS1jbHItZm9udC13aGl0ZSk7XG4gICBmb250LXdlaWdodDogMzAwO1xuICAgZm9udC1zaXplOiBtYXgoMThweCwgY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIDAuOCkpO1xuICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcmFsZXdheSk7XG4gICBsaW5lLWhlaWdodDogMS43NTtcblxuICAgQG1lZGlhIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIGFuZCAod2lkdGg8PTc2OHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDYwdnc7XG4gICB9XG5cbiAgICZfbGVmdCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgIH1cbn1cblxuLmxvYWRlciB7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB6LWluZGV4OiAxMDAwMDtcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBpbnNldDogMDtcbiAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgJjo6YmVmb3JlIHtcbiAgICAgIGdyaWQtYXJlYTogMS8tMTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWZvbnQtd2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYW5pbWF0aW9uOiBsb2FkZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICB9XG5cbiAgICY6OmFmdGVyIHtcbiAgICAgIGdyaWQtYXJlYTogMS8tMTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIGNvbG9yOiB2YXIoLS1jbHItZm9udC13aGl0ZSk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcmFsZXdheSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG4gICAgICBjb250ZW50OiBcImxvYWRpbmdcIjtcbiAgIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkZXIge1xuICAgZnJvbSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgIH1cblxuICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICB9XG59XG4iLCIucGFnZS1oZWFkZXIge1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgei1pbmRleDogMTAwMDA7XG4gICBtaW4td2lkdGg6IDEwMCU7XG4gICBwYWRkaW5nLWlubGluZTogdmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCk7XG4gICBwYWRkaW5nLXRvcDogMDtcbiAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblxuICAgJl9fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgfVxuXG4gICAmX19sb2dvIHtcbiAgICAgIGdyaWQtYXJlYTogMS8tMTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCk7XG4gICB9XG5cbiAgICZfX25hdiB7XG4gICAgICBncmlkLWFyZWE6IDEvLTE7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICB9XG5cbiAgICZfX2J1dHRvbiB7XG4gICAgICBncmlkLWFyZWE6IDEvLTE7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCk7XG4gICB9XG59XG5cbi5sb2dvIHtcbiAgIHotaW5kZXg6IDE7XG5cbiAgICZfX2xpbmsge1xuICAgICAgY29sb3I6IHZhcigtLWNsci1iZy1kYXJrKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1yYWxld2F5KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICB9XG5cbiAgICZfX3NwYW4ge1xuICAgICAgY29sb3I6IHZhcigtLWNsci1mb250LXdoaXRlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjg1cztcblxuICAgICAgJl9hY3RpdmUge1xuICAgICAgICAgY29sb3I6IHZhcigtLWNsci1hY2NlbnQpO1xuICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgIH1cbn1cblxuXG4ubWFpbi1uYXYge1xuICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgIC8vIC0tY2xyLWZvbnQtd2hpdGVcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyAwJSkgMCUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyAxOC43JSkgMC4zJSxcbiAgICAgICAgIGhzbCgwZGVnIDAlIDk1JSAvIDM0LjklKSAxLjMlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gNDguOCUpIDMlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gNjAuNiUpIDUuNSUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA3MC40JSkgOC44JSxcbiAgICAgICAgIGhzbCgwZGVnIDAlIDk1JSAvIDc4LjQlKSAxMyUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA4NC44JSkgMTguMiUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA4OS44JSkgMjQuMyUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA5My42JSkgMzEuNSUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA5Ni4zJSkgMzkuOSUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA5OC4xJSkgNDkuMyUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA5OS4yJSkgNjAlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gOTkuOCUpIDcyJSxcbiAgICAgICAgIGhzbCgwZGVnIDAlIDk1JSkgODUuMyUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUpIDEwMCUpO1xuICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyMHB4O1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLV9uYXYtdHJhbnNsYXRlWS1hY3RpdmUsIC0xMDAlKSk7XG4gICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuODVzO1xuICAgcGFkZGluZy1pbmxpbmU6IDUwcHg7XG5cbiAgICZfX2xpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogN3Z3O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogOHB4IDA7XG5cbiAgICAgIEBtZWRpYSAod2lkdGggPD03MDBweCkge1xuICAgICAgICAgZ2FwOiAydmggNXZ3O1xuICAgICAgfVxuICAgfVxuXG4gICAmX19pdGVtIHtcbiAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcblxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgJjpob3ZlciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jbHItYWNjZW50KTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiBhIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgY29sb3I6IHZhcigtLWNsci1ibGFjayk7XG4gICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgZm9udC1zaXplOiBtYXgoMTJweCwgY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIDAuNjMpKTtcbiAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXJvYm90byk7XG4gICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuODVzO1xuICAgICAgfVxuICAgfVxufVxuXG4ubWVudS1idXR0b24ge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgd2lkdGg6IDMwcHg7XG4gICBoZWlnaHQ6IDMwcHg7XG4gICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgIGJvcmRlcjogbm9uZTtcblxuICAgJjo6YmVmb3JlLFxuICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLV9jbHItYWN0aXZlLCB2YXIoLS1jbHItZm9udC13aGl0ZSkpO1xuICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDAuODVzLCB0cmFuc2Zvcm0gMC44NXMsIGJveC1zaGFkb3cgMC44NXM7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgfVxuXG4gICAmOjpiZWZvcmUge1xuICAgICAgdG9wOiB2YXIoLS1fdG9wLXBvc2l0aW9uLWFjdGl2ZSwgN3B4KTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLV9jbHItYWN0aXZlLCB2YXIoLS1jbHItZm9udC13aGl0ZSkpIDAgdmFyKC0tX3NoYWRvdy1vZmZlc3QtYWN0aXZlLCA3cHgpIDAgMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKHZhcigtLWJlZm9yZS1yb3RhdGUtYW5nbGUpKTtcbiAgIH1cblxuICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiB2YXIoLS1fdG9wLXBvc2l0aW9uLWFjdGl2ZSwgY2FsYygxMDAlIC0gOXB4KSk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1hZnRlci1yb3RhdGUtYW5nbGUpKTtcbiAgIH1cblxuICAgLy8gJjpob3ZlciB7XG4gICAvLyAgICAmOjpiZWZvcmUge1xuICAgLy8gICAgICAgdG9wOiA1MCU7XG4gICAvLyAgICAgICBib3gtc2hhZG93OiB0cmFuc3BhcmVudCAwIDAgMCAwO1xuICAgLy8gICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgIC8vICAgIH1cblxuICAgLy8gICAgJjo6YWZ0ZXIge1xuICAgLy8gICAgICAgdG9wOiA1MCU7XG4gICAvLyAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpO1xuICAgLy8gICAgfVxuICAgLy8gfVxuXG59IiwiQG1peGluIGhvdmVyIHtcbiAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICBAY29udGVudDtcbiAgIH1cbn1cbiIsIi5mcmFtZS1ib3gge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKSwgb3BhY2l0eSAuNzVzIGVhc2U7XG4gICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgaW5zZXQ6IDA7XG4gICBwbGFjZS1pdGVtczogY2VudGVyO1xuXG4gICAmX2JnLWNsciB7XG4gICAgICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jbHItYmctZGFyayk7XG4gICAgICAgICBvcGFjaXR5OiAwLjgwO1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIGluc2V0OiBjYWxjKC0xMCAqIHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpKTtcbiAgICAgIH1cbiAgIH1cblxuICAgJl9wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgYW5kICh3aWR0aDw9NzY4cHgpIHtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgfVxuXG4gICAmX21hc2stYWN0aXZlIHtcbiAgICAgIC0tbWFzay1hbmltYXRpb24tYWN0aXZlOiBtYXNrLXBvc2l0aW9uLWFuaW1hdGlvbjtcbiAgIH1cblxuICAgJl9fbWFza2VkLXNjcmVlbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIDMwMCk7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAzMDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2xyLWJnLWRhcmspO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQGltZy9zY3JlZW4tYmcuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTYlO1xuICAgICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMwMDAgMCAwKSwgdXJsKFwiQGltZy9zY3JlZW4tbWFzay5zdmdcIik7XG4gICAgICAtd2Via2l0LW1hc2stc2l6ZTogMTAwJSwgMTYlO1xuICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiA1MCU7XG4gICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAtd2Via2l0LW1hc2stY29tcG9zaXRlOiB4b3I7XG4gICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzAwMCAwIDApLCB1cmwoXCJAaW1nL3NjcmVlbi1tYXNrLnN2Z1wiKTtcbiAgICAgIG1hc2stc2l6ZTogMTAwJSwgMTYlO1xuICAgICAgbWFzay1wb3NpdGlvbjogNTAlO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stY29tcG9zaXRlOiBleGNsdWRlO1xuICAgfVxuXG4gICAmX19jb250ZW50IHtcbiAgICAgIC0tb2Zmc2V0LXJhdGlvOiAyO1xuICAgICAgLS1vZmZzZXQtcmF0aW8taG9yaXpvbnRhbDogMjtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiB2YXIoLS1zbWFsbC1zaXplLWluZGV4KSk7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiB2YXIoLS1iaWctc2l6ZS1pbmRleCkpO1xuXG4gICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgYW5kICh3aWR0aDw9NzY4cHgpIHtcbiAgICAgICAgIC0tb2Zmc2V0LXJhdGlvOiAzO1xuICAgICAgICAgLS1vZmZzZXQtcmF0aW8taG9yaXpvbnRhbDogNztcbiAgICAgIH1cblxuICAgICAgJl9sZWZ0IHtcbiAgICAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLXNtYWxsLXNpemUtaW5kZXgpIC8gdmFyKC0tb2Zmc2V0LXJhdGlvKSAqIHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICsgdmFyKC0tc2hpZnQpKTtcbiAgICAgIH1cblxuICAgICAgJl9yaWdodCB7XG4gICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLXNtYWxsLXNpemUtaW5kZXgpIC8gdmFyKC0tb2Zmc2V0LXJhdGlvKSAqIHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICsgdmFyKC0tc2hpZnQpKTtcbiAgICAgIH1cblxuICAgICAgJl9ob3Jpem9udGFsIHtcbiAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICogdmFyKC0tYmlnLXNpemUtaW5kZXgpKTtcbiAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIHZhcigtLXNtYWxsLXNpemUtaW5kZXgpKTtcblxuICAgICAgICAgJl9sZWZ0IHtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLWJpZy1zaXplLWluZGV4KSAvIHZhcigtLW9mZnNldC1yYXRpby1ob3Jpem9udGFsKSAqIHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICsgdmFyKC0tc2hpZnQpKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJl9yaWdodCB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLWJpZy1zaXplLWluZGV4KSAvIHZhcigtLW9mZnNldC1yYXRpby1ob3Jpem9udGFsKSAqIHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICsgdmFyKC0tc2hpZnQpKTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9tYXNrIHtcbiAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAgICAgICZfcG9ydGZvbGlvIHtcbiAgICAgICAgICAgIC0tbWFzay1pbWFnZTogdXJsKFwiQGltZy9tYXNrcy9tYXNrLTQ1LnBuZ1wiKTtcbiAgICAgICAgICAgIC0tYW5pbWF0aW9uLXN0ZXBzOiBzdGVwcyg0NCk7XG4gICAgICAgICB9XG5cbiAgICAgICAgICZfcG9ydGZvbGlvLTIge1xuICAgICAgICAgICAgLS1tYXNrLWltYWdlOiB1cmwoXCJAaW1nL21hc2tzL21hc2stMzIucG5nXCIpO1xuICAgICAgICAgICAgLS1hbmltYXRpb24tc3RlcHM6IHN0ZXBzKDMyKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJl9wb3J0Zm9saW8tMyB7XG4gICAgICAgICAgICAtLW1hc2staW1hZ2U6IHVybChcIkBpbWcvbWFza3MvbWFzay00Ny5wbmdcIik7XG4gICAgICAgICAgICAtLWFuaW1hdGlvbi1zdGVwczogc3RlcHMoNDgpO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmX2NvbmNlcHQge1xuICAgICAgICAgICAgLS1tYXNrLWltYWdlOiB1cmwoXCJAaW1nL21hc2tzL21hc2stY29uY2VwdC00NS5wbmdcIik7XG4gICAgICAgICAgICAtLWFuaW1hdGlvbi1zdGVwczogc3RlcHMoNDUpO1xuXG4gICAgICAgICAgICAmLXdpZGUge1xuICAgICAgICAgICAgICAgLS1tYXNrLWltYWdlOiB1cmwoXCJAaW1nL21hc2tzL21hc2stY29uY2VwdC00NS13aWRlLnBuZ1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cblxuICAgICAgICAgJj5waWN0dXJlIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogMS8tMTtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgICBhbmltYXRpb246IHZhcigtLW1hc2stYW5pbWF0aW9uLWFjdGl2ZSkgMnMgdmFyKC0tYW5pbWF0aW9uLXN0ZXBzKSBmb3J3YXJkcztcbiAgICAgICAgICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdmFyKC0tbWFzay1pbWFnZSk7XG4gICAgICAgICAgICAgICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IDAlIDAlO1xuICAgICAgICAgICAgICAgLXdlYmtpdC1tYXNrLW9yaWdpbjogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHZhcigtLW1hc2staW1hZ2UpO1xuICAgICAgICAgICAgICAgbWFzay1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICBtYXNrLXBvc2l0aW9uOiAwJSAwJTtcbiAgICAgICAgICAgICAgIG1hc2stb3JpZ2luOiBib3JkZXItYm94O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIHBpY3R1cmUge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgJiBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgJl9fdGV4dC1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIEBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSBhbmQgKHdpZHRoPD03NjhweCkge1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuXG4gICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAtMnZ3O1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZy1kYXJrKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfbGVmdCB7XG4gICAgICAgICBwYWRkaW5nLWxlZnQ6IDd2dztcblxuICAgICAgICAgQG1lZGlhIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIGFuZCAod2lkdGg8PTc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTd2dztcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuQGtleWZyYW1lcyBtYXNrLXBvc2l0aW9uLWFuaW1hdGlvbiB7XG4gICAwJSB7XG4gICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IDAlIDAlO1xuICAgICAgbWFzay1wb3NpdGlvbjogMCUgMCU7XG4gICB9XG5cbiAgIDEwMCUge1xuICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAxMDAlIDAlO1xuICAgICAgbWFzay1wb3NpdGlvbjogMTAwJSAwJTtcbiAgIH1cbn1cbiIsIi5wb3J0Zm9saW8tZ2FsbGVyeSB7XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgICZfX3RleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIDMpKTtcbiAgICAgIHotaW5kZXg6IC0xMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jbHItZm9udC13aGl0ZSk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICogMSk7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1yYWxld2F5KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgb3BhY2l0eTogdmFyKC0tX3RleHQtb3BhY2l0eSwgMCk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgIH1cbn1cblxuLnBvcnRmb2xpby1saXN0IHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIGRpc3BsYXk6IGdyaWQ7XG4gICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCAxNXZ3KTtcbiAgIGdhcDogNXZ3O1xuICAgd2lkdGg6IGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAxNTApO1xuICAgaGVpZ2h0OiBjYWxjKHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICogMTUwKTtcbiAgIHBhZGRpbmc6IDV2dztcbiAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoLjA3NSwgLjUsIDAsIDEpO1xuICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgQG1lZGlhICh3aWR0aCA8PTYwMHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCA0MHZ3KTtcbiAgIH1cbn1cblxuLmltYWdlcy1ib3gge1xuICAgZGlzcGxheTogZ3JpZDtcbiAgIHJvdy1nYXA6IDV2dztcblxuICAgJl9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcblxuICAgICAgJj5kaXYsXG4gICAgICAmPnBpY3R1cmUge1xuICAgICAgICAgZ3JpZC1hcmVhOiAxLy0xO1xuICAgICAgfVxuXG4gICAgICAmPmRpdiB7XG4gICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgJiBpbWcge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgLS1fdHJhbnNsYXRlLWFjdGl2ZTogMDtcblxuICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblxuICAgICAgfVxuICAgfVxuXG4gICAmX190ZXh0LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogMjBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAzMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWNsci1mb250LXdoaXRlKTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXJvYm90byk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNsci1iZy1kYXJrLW9wYWNpdHkpO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTVweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNXB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLV90cmFuc2xhdGUtYWN0aXZlLCAxMDAlKSk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2U7XG5cbiAgICAgICY+aDMge1xuICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgIGZvbnQtc2l6ZTogbWF4KDE4cHgsIGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAwLjgpKTtcbiAgICAgIH1cblxuICAgICAgJj5hIHtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgIHBhZGRpbmc6IDE1cHggNXB4O1xuICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICBmb250LXNpemU6IG1heCgxNHB4LCBjYWxjKHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpICogMC43KSk7XG4gICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tY2xyLWZvbnQtd2hpdGUpIDAgMCkgbGVmdCBib3R0b20vNTAlIDFweCBuby1yZXBlYXQ7XG4gICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTtcblxuICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxufVxuIiwiLnBhZ2UtZm9vdGVyIHtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIGJvdHRvbTogMDtcbiAgIGxlZnQ6IHZhcigtLXZpZXdwb3J0LXNpemUtaW5kZXgpO1xuICAgei1pbmRleDogMTAwMDA7XG4gICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAyKTtcbiAgIHBhZGRpbmc6IGNhbGModmFyKC0tdmlld3BvcnQtc2l6ZS1pbmRleCkgKiAwLjI4KSB2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KTtcbiAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICAvLyAtLWNsci1mb250LXdoaXRlXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gMCUpIDAlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gMTguNyUpIDAuMyUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyAzNC45JSkgMS4zJSxcbiAgICAgICAgIGhzbCgwZGVnIDAlIDk1JSAvIDQ4LjglKSAzJSxcbiAgICAgICAgIGhzbCgwZGVnIDAlIDk1JSAvIDYwLjYlKSA1LjUlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gNzAuNCUpIDguOCUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUgLyA3OC40JSkgMTMlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gODQuOCUpIDE4LjIlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gODkuOCUpIDI0LjMlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gOTMuNiUpIDMxLjUlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gOTYuMyUpIDM5LjklLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gOTguMSUpIDQ5LjMlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlIC8gOTkuMiUpIDYwJSxcbiAgICAgICAgIGhzbCgwZGVnIDAlIDk1JSAvIDk5LjglKSA3MiUsXG4gICAgICAgICBoc2woMGRlZyAwJSA5NSUpIDg1LjMlLFxuICAgICAgICAgaHNsKDBkZWcgMCUgOTUlKSAxMDAlKTtcbiAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIwcHg7XG4gICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1mb290ZXItdHJhbnNsYXRlWS1hY3RpdmUsIDEwMCUpKTtcbiAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC44NXM7XG5cbiAgICZfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgIH1cblxuICAgJl9fc29jaWFscyB7XG4gICAgICBncmlkLWFyZWE6IDEvLTE7XG4gICB9XG5cbiAgICZfX2FkZHJlc3Mge1xuICAgICAgZ3JpZC1hcmVhOiAxLy0xO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICB9XG59XG5cbi5zb2NpYWxzIHtcbiAgIGRpc3BsYXk6IGZsZXg7XG4gICBnYXA6IDEwdnc7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xuXG4gICAmX19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgIH1cblxuICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICY6aG92ZXIgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6IHZhcigtLWNsci1hY2NlbnQpO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIHN2ZyB7XG4gICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgdHJhbnNpdGlvbjogZmlsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICAgICAgIGZpbGw6IHZhcigtLWNsci1ibGFjayk7XG4gICAgICB9XG4gICB9XG59XG5cbi5hZGRyZXNzIHtcbiAgIGNvbG9yOiB2YXIoLS1jbHItYmxhY2spO1xuICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS12aWV3cG9ydC1zaXplLWluZGV4KSAqIDAuNTUpO1xuICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtcm9ib3RvKTtcbiAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iXX0= */
