/* ------------------------------------------------------------------ */
/*        Hello Styles
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/*        CORE IMPORTS
/* ------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

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

canvas {
  padding: 0;
  margin: 0; }

/* ------------------------------------------------------------------ */
/*        COMMON PROJECT VARIABLES
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/*        BREAKPOINTS
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/*        COLORS
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/*        EASE
/* ------------------------------------------------------------------ */
/* ------------------------------------------------------------------ */
/*        MEDIA QUERIES
/* ------------------------------------------------------------------ */
/*
*   Easing Equations ported to CSS by @matthewlein - http://matthewlein.com/ceaser/
*   Converted to SCSS vars by @pettpett
*
*   sample usage:
*   a {
*     color: #ff0000;
*     @include transition(color 0.5s $easeOutQuint);
*     &:hover,
*     &:focus {
*       color: #ff9900;
*     }
*   }
*/
/* Default Equations */
/* Penner Equations (approximated) originally created by @robpenner */
/* ------------------------------------------------------------------ */
/*        HELPERS
/* ------------------------------------------------------------------ */
.flex {
  display: flex; }

.uppercase {
  text-transform: uppercase; }

.center {
  text-align: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

.block {
  display: block !important; }

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

/* ------------------------------------------------------------------ */
/*        FONT FACE DECLARATION
/* ------------------------------------------------------------------ */
@font-face {
  font-family: 'Mago';
  src: url(https://magoarchitecture.com/wp-content/themes/mago/assets/fonts/MAGO-Normal.woff);
  font-weight: 300;
  font-style: normal; }

/* ------------------------------------------------------------------ */
/*        HEADING DECLARATION
/* ------------------------------------------------------------------ */
a {
  text-decoration: none;
  color: black;
  cursor: pointer; }
  a:hover {
    color: #d4d4d4; }
  a:active {
    color: #e9e9e9; }

/* ------------------------------------------------------------------ */
/*        General HTML - BODY
/* ------------------------------------------------------------------ */
html, body {
  font-family: 'Mago', serif; }

html {
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: 0.5px; }

.body {
  margin: 23px 27px;
  height: calc(100vh - 40px); }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .body {
      margin: 20px 20px;
      height: calc(100vh - 40px); } }

@media screen and (max-aspect-ratio: 115 / 94) {
  #content {
    height: initial; } }

.header {
  position: fixed;
  top: 0;
  z-index: 1000;
  text-transform: uppercase; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .header {
      position: relative; } }
  .header__top {
    position: fixed;
    top: 19px;
    display: flex;
    width: calc(100% - 58px); }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .header__top {
        top: 0;
        left: 0;
        margin: 20px;
        width: calc(100% - 40px); } }
  .header__logo, .header__theme {
    width: 50%;
    z-index: 200; }
  .header__logo {
    margin-right: calc(27px / 2); }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .header__logo {
        margin-right: 0; } }
  .header__theme {
    margin-left: calc(27px / 2); }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .header__theme {
        margin-left: 0; } }
  .header .navigation, .header .navigation--back-mobile {
    position: fixed;
    display: flex;
    align-items: flex-end;
    height: calc(100vh - 121px);
    margin-top: 102px; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .header .navigation, .header .navigation--back-mobile {
        position: fixed;
        margin-left: calc(50% - 30px);
        top: 38px;
        border: 10px solid transparent;
        height: 3vh;
        margin-top: 0;
        display: initial;
        transition: height .2s ease-in-out;
        overflow: hidden; } }
  .header .navigation--back-mobile {
    display: none; }
  .header__background {
    position: fixed;
    width: 100%;
    height: 56px;
    background-color: white;
    top: 0;
    left: 0;
    transition: height .2s ease-in-out; }

.header--transition .navigation {
  transition: height .3s ease-in-out .45s; }

.root, .is-home, html, .is-about {
  overflow: hidden; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .root, .is-home, html, .is-about {
      overflow: initial; } }

.page {
  transition: opacity .5s ease-in-out;
  opacity: 0; }

.is-home .navigation--back-mobile {
  display: none; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .is-home .navigation--back-mobile {
      display: none; } }

.is-about .navigation {
  pointer-events: none;
  height: 2vh; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .is-about .navigation {
      display: none; } }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .is-about .navigation--back-mobile {
      display: initial; } }

@media screen and (max-aspect-ratio: 115 / 94) {
  .is-about #content {
    height: 95vh; } }

/* ------------------------------------------------------------------ */
/*        HOME
/* ------------------------------------------------------------------ */
.home {
  width: 100%;
  height: calc(100vh - 40px);
  flex-flow: column nowrap;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: y mandatory;
  overflow-y: scroll;
  flex: none; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .home {
      scroll-snap-type: none;
      overflow-y: initial; } }

.home::-webkit-scrollbar {
  width: 6px; }

.project {
  height: calc(100vh - 152px);
  padding-top: 72px;
  padding-bottom: 71px;
  display: flex;
  position: relative;
  scroll-snap-align: start; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .project {
      display: block;
      height: initial;
      padding-bottom: 40px; } }
  .project .technical-sheet {
    width: 50%;
    z-index: 100; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .project .technical-sheet {
        border-collapse: separate; } }
    .project .technical-sheet__table {
      text-align: left;
      width: 100%; }
      @media screen and (max-aspect-ratio: 115 / 94) {
        .project .technical-sheet__table {
          border-spacing: 10px 0; } }
      .project .technical-sheet__table td {
        vertical-align: top; }
      .project .technical-sheet__table--mobile {
        display: none; }
        @media screen and (max-aspect-ratio: 115 / 94) {
          .project .technical-sheet__table--mobile {
            display: block;
            overflow: hidden;
            transition: max-height .3s ease-in-out, opacity .3s ease-in-out; }
            .project .technical-sheet__table--mobile td {
              vertical-align: top; } }
    .project .technical-sheet__type, .project .technical-sheet__title {
      text-transform: uppercase; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .project .technical-sheet__data {
        width: 50%; } }
    @media screen and (max-width: 768px) {
      .project .technical-sheet__data {
        padding-left: 10px;
        width: calc(100% * 2 / 3); } }
    .project .technical-sheet__button {
      cursor: pointer;
      position: relative; }
    .project .technical-sheet__cross {
      display: inline;
      position: absolute;
      top: 0px;
      transform: rotate(45deg);
      height: 15px;
      width: 15px;
      transform-origin: center;
      transition: transform 0.2s ease-in-out; }
      .project .technical-sheet__cross--open {
        transform: rotate(0deg); }
    .project .technical-sheet__more-info {
      overflow-y: scroll;
      max-height: 0px;
      padding-right: 15px;
      transition: max-height .3s ease-in-out, opacity .3s ease-in-out; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .project .technical-sheet {
        width: 100%; } }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .project .technical-sheet__not-mobile {
        display: none; } }
    .project .technical-sheet__not-mobile td {
      border-top: .5px solid transparent;
      border-bottom: .5px solid transparent; }
  .project .images-part {
    width: 100%;
    overflow: hidden;
    height: calc(100% - 205px);
    position: absolute;
    right: 0;
    bottom: 72px;
    background-color: white; }
    .project .images-part__images {
      height: auto;
      width: 100%; }
    .project .images-part__wrapper {
      width: calc(50% - (27px / 2));
      height: 100%;
      position: absolute;
      display: none;
      background-color: white;
      transition: transform 2s ease-in-out;
      cursor: pointer; }
      .project .images-part__wrapper--right {
        right: 0; }
        .project .images-part__wrapper--right img {
          transition: opacity 2.6s ease-in-out; }
      .project .images-part__wrapper--selected {
        display: block; }
      .project .images-part__wrapper--left {
        left: 0; }
        .project .images-part__wrapper--left img {
          transition: opacity 0s ease-in-out; }
      .project .images-part__wrapper img {
        opacity: 0; }
    .project .images-part__pagination {
      position: absolute;
      bottom: 35px;
      left: calc(50% + (27px /2)); }
      @media screen and (max-aspect-ratio: 115 / 94) {
        .project .images-part__pagination {
          display: none; } }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .project .images-part {
        display: none; } }
    .project .images-part__mobile {
      display: none; }
      @media screen and (max-aspect-ratio: 115 / 94) {
        .project .images-part__mobile {
          display: block; } }
    .project .images-part__mobile-wrapper {
      overflow: hidden;
      margin: 10px 0; }
      .project .images-part__mobile-wrapper img {
        width: 100%;
        height: initial; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .project:first-child {
      height: auto;
      padding-top: 112px; } }
  .project:last-child {
    margin-bottom: 61px; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .project:last-child {
        margin-bottom: 0px; } }
  .project .more-info-mobile {
    width: 100%;
    display: flex;
    margin: 20px 0 10px 0; }
    .project .more-info-mobile__type, .project .more-info-mobile__button {
      width: 50%;
      text-transform: uppercase; }
    .project .more-info-mobile__button {
      cursor: pointer;
      border: 10px solid transparent;
      position: relative; }
    .project .more-info-mobile__cross {
      display: inline;
      position: absolute;
      top: -9.5px;
      transform: rotate(45deg);
      height: 15px;
      width: 15px;
      transform-origin: center;
      transition: transform 0.2s ease-in-out; }
      .project .more-info-mobile__cross--open {
        transform: rotate(0deg); }
    .project .more-info-mobile__content {
      overflow: hidden;
      transition: max-height .4s ease-in-out, opacity .2s ease-in-out; }

.arrow {
  position: absolute;
  right: 27px;
  z-index: 10000;
  cursor: pointer;
  opacity: 1;
  display: flex;
  transition: opacity .4s ease-in-out, transition .4s ease-in-out .4s; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .arrow {
      display: none; } }
  .arrow img {
    width: 13px;
    height: auto;
    padding-left: 7px;
    transform: translateY(1.5px); }
  .arrow__top {
    top: 75px; }
    .arrow__top:hover .arrow__top--legend {
      opacity: 1;
      width: 100px; }
    .arrow__top--from-bottom:hover .arrow__top--legend {
      opacity: 0; }
  .arrow__bottom {
    bottom: 19px; }
    .arrow__bottom:hover .arrow__bottom--legend {
      opacity: 1;
      width: 100px; }
  .arrow__top--legend, .arrow__bottom--legend {
    text-align: right;
    width: 0px;
    overflow: hidden;
    opacity: 0;
    height: 16px;
    transition: opacity .4s ease-in-out, width .4s ease-in-out; }
  .arrow__top--hide, .arrow__bottom--hide {
    opacity: 0;
    pointer-events: none; }

@keyframes arrow {
  20% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(1.5px); } }

/* ------------------------------------------------------------------ */
/*        About
/* ------------------------------------------------------------------ */
.about {
  height: calc(100vh - 109px);
  margin-top: 69px;
  overflow-y: scroll;
  position: relative; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .about {
      overflow-y: initial;
      margin-top: 0;
      padding-top: 89px;
      height: calc(100vh - 40px); } }
  .about__table {
    height: 100%;
    width: 100%; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__table {
        margin-bottom: 20px; } }
  .about__part {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start; }
    .about__part--bottom {
      vertical-align: bottom; }
    .about__part--top {
      vertical-align: top; }
  .about__case {
    width: 50%;
    position: relative; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__case {
        width: 100%;
        margin-top: 15px; } }
  .about__type, .about__inter-case-type, .about__project, .about__button-credit {
    text-transform: uppercase; }
  .about__inter-case--right {
    position: absolute;
    top: 0;
    right: 0;
    text-align: right;
    margin-right: 20px; }
  .about__inter-case-content {
    display: block; }
  .about__navigation, .about__credit {
    margin-top: 25px; }
  .about__button-credit {
    cursor: pointer; }
    .about__button-credit:hover {
      color: whitesmoke; }
  .about__credit {
    width: 0%;
    overflow: hidden;
    opacity: 0;
    height: 2.5vh;
    transition: .5s width ease-in-out, .5s opacity ease-in-out; }
  .about__projects {
    margin-top: 25px; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__projects {
        margin-top: 0px; } }
  .about__project {
    display: inline; }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .about__type {
      margin-top: 35px; } }
  @media screen and (max-aspect-ratio: 115 / 94) {
    .about__contact {
      display: none; } }
  .about__bottom {
    display: flex; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__bottom {
        display: none; } }
  .about__mobile {
    display: none;
    width: 100%;
    position: relative; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__mobile {
        display: flex; } }
    .about__mobile--part.left {
      width: calc(100% * 2 / 3); }
    .about__mobile--part.right {
      transform: translateX(-15px);
      width: calc((100% / 3) + 15px); }
    .about__mobile--back {
      position: absolute;
      margin-left: 50%;
      top: -62px; }
  .about__case--mobile {
    display: none; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__case--mobile {
        display: initial;
        margin-top: 10px; } }
  .about__credit-mobile {
    display: none; }
    @media screen and (max-aspect-ratio: 115 / 94) {
      .about__credit-mobile {
        display: block; } }

/* ------------------------------------------------------------------ */
/*        error
/* ------------------------------------------------------------------ */
.error {
  width: 100%;
  height: 90vh;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative; }
  .error__message, .error__link {
    text-transform: uppercase; }
  .error__link {
    position: absolute;
    bottom: 0;
    left: 0; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QjtFQUV0QjtJQUNJLGNBQWM7RUFHdEI7SUFDSSxnQkFBZ0I7RUFFcEI7SUFDSSxlQUFlO0lBRGxCO01BR08saUJBQWlCO0VBR3pCO0lBQ0ksU0FBUztJQUNULGdCQUFnQjtJQUNoQixVQUFVO0lBQ1YsYUFBYTtJQUNiLDBEQUNtQztFQUV2QztJQUNJLGdCQUFnQjtJUHpEcEI7TU93REE7UUFHUSxlQUFlLElBRXRCO0VBQ0Q7SUFDSSxlQUFlO0VQL0RuQjtJT2lFQTtNQUVRLGdCQUFnQixJQUV2QjtFUHJFRDtJT3NFQTtNQUVRLGFBQWEsSUFFcEI7RUFDRDtJQUNJLGFBQWE7SVA1RWpCO01PMkVBO1FBR1EsYUFBYSxJQUVwQjtFQUNEO0lBQ0ksYUFBYTtJQUNiLFdBQVc7SUFDWCxrQkFBa0I7SVBwRnRCO01PaUZBO1FBS1EsYUFBYSxJQWNwQjtJQVpHO01BQ0kseUJBQXlCO0lBRTdCO01BQ0ksNEJBQTRCO01BQzVCLDhCQUE4QjtJQUVsQztNQUNJLGtCQUFrQjtNQUNsQixnQkFBZ0I7TUFDaEIsVUFBVTtFQUlkO0lBQ0ksYUFBYTtJUHZHckI7TU9zR0k7UUFHUSxnQkFBZ0I7UUFDaEIsZ0JBQWdCLElBRXZCO0VBRUw7SUFDSSxhQUFhO0lQL0dqQjtNTzhHQTtRQUdRLGNBQWMsSUFFckI7O0FDcElMO0FBQ0E7dUVaaWtCdUU7QVk5akJ2RTtFQUNJLFdBQVc7RUFDWCxZQUFZO0VBQ1osYUFBYTtFQUNiLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCO0lBQ0kseUJBQXlCO0VBRTdCO0lBQ0ksa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxPQUFPIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vcGV0aXRfYW1pLy4vc3JjL3N0eWxlL21haW4uc2NzcyIsIndlYnBhY2s6Ly9wZXRpdF9hbWkvLi9zcmMvc3R5bGUvY29yZS9faW1wb3J0LnNjc3MiLCJ3ZWJwYWNrOi8vcGV0aXRfYW1pLy4vc3JjL3N0eWxlL2NvcmUvX3Jlc2V0LnNjc3MiLCJ3ZWJwYWNrOi8vcGV0aXRfYW1pLy4vc3JjL3N0eWxlL2NvcmUvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3BldGl0X2FtaS8uL3NyYy9zdHlsZS9jb3JlL21peGlucy9fbWVkaWEtcXVlcmllcy5zY3NzIiwid2VicGFjazovL3BldGl0X2FtaS8uL3NyYy9zdHlsZS9jb3JlL21peGlucy9fZWFzaW5ncy5zY3NzIiwid2VicGFjazovL3BldGl0X2FtaS8uL3NyYy9zdHlsZS9jb3JlL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vcGV0aXRfYW1pLy4vc3JjL3N0eWxlL3R5cG9ncmFwaHkvX2ZvbnQtZmFjZS5zY3NzIiwid2VicGFjazovL3BldGl0X2FtaS8uL3NyYy9zdHlsZS90eXBvZ3JhcGh5L19oZWFkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vcGV0aXRfYW1pLy4vc3JjL3N0eWxlL2xheW91dHMvX2JvZHkuc2NzcyIsIndlYnBhY2s6Ly9wZXRpdF9hbWkvLi9zcmMvc3R5bGUvdmlld3MvX2hvbWUuc2NzcyIsIndlYnBhY2s6Ly9wZXRpdF9hbWkvLi9zcmMvc3R5bGUvdmlld3MvX2Fib3V0LnNjc3MiLCJ3ZWJwYWNrOi8vcGV0aXRfYW1pLy4vc3JjL3N0eWxlL3ZpZXdzL19lcnJvci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgIEhlbGxvIFN0eWxlc1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8vIENvcmVcbkBpbXBvcnQgXCJjb3JlL2ltcG9ydFwiO1xuXG4vLyBUeXBvZ3JhcGh5XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L2hlYWRpbmdcIjtcblxuLy8gTGF5b3V0c1xuQGltcG9ydCBcImxheW91dHMvYm9keVwiO1xuXG4vLyBWaWV3c1xuQGltcG9ydCBcInZpZXdzL2hvbWVcIjtcbkBpbXBvcnQgXCJ2aWV3cy9hYm91dFwiO1xuQGltcG9ydCBcInZpZXdzL2Vycm9yXCI7XG5cbi8vIENvbXBvbmVudHNcblxuXG4vLyBVSVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgICAgICAgQ09SRSBJTVBPUlRTXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gUmVzZXQgYnJvd3NlciBwcmVkZWZzXG5AaW1wb3J0IFwicmVzZXRcIjtcblxuLy8gR3JpZFxuLy8gQGltcG9ydCBcImdyaWQvcHVyZVwiO1xuXG4vLyBWYXJpYWJsZXNcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcblxuLy8gQ29tbW9uIGZ1bmN0aW9uc1xuLy8gQGltcG9ydCBcImZ1bmN0aW9ucy9yZW1cIjtcblxuLy8gQ29tbW9uIG1peGluc1xuQGltcG9ydCBcIm1peGlucy9tZWRpYS1xdWVyaWVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Vhc2luZ3NcIjtcbi8vIEBpbXBvcnQgXCJtaXhpbnMvZ2xvYmFsc1wiO1xuXG4vLyBDb21tb24gYWJzdHJhY3QgY2xhc3Nlc1xuQGltcG9ydCBcImhlbHBlcnNcIjtcblxuLy8gS2V5ZnJhbWVzXG4vLyBAaW1wb3J0IFwia2V5ZnJhbWVzXCI7XG4iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmNhcHRpb24sIHRoLCB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnEsIGJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5xOmJlZm9yZSwgcTphZnRlciwgYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuXG5hIGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmNhbnZhcyB7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbjogMDtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgIENPTU1PTiBQUk9KRUNUIFZBUklBQkxFU1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRiYXNlLWZvbnQtc2l6ZSAgIDogMC45cmVtO1xuJGJhc2UtbGluZS1oZWlnaHQgOiAyMnB4O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAgICAgICBCUkVBS1BPSU5UU1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRicmVha3BvaW50LW1vYmlsZSAgOiA3NjhweDtcbiRicmVha3BvaW50LXRhYmxldCAgOiA5MDBweDtcbiRicmVha3BvaW50LWRlc2t0b3AgOiAxNDQwcHg7XG4kYnJlYWtwb2ludC1jaW5lbWEgXHQ6IDE0NDFweDtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgICAgICAgQ09MT1JTXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGJsYWNrIFx0XHRcdDogIzAwMDAwMDtcbiR3aGl0ZSAgIFx0XHQ6ICNGRkZGRkY7XG4kbGlnaHR3aGl0ZSAgICAgOiAjRTVFNUU1O1xuJGdyZXkgICAgXHRcdDogIzY2NjY2NTtcbiRib25qb3VyIFx0XHQ6ICNmZmE0MDA7XG4kZ3JlZW4gICBcdFx0OiAjMDA1Qjc3O1xuJHByaW1hcnkgICAgICAgIDogIzlCN0M0NjtcbiR0ZXh0ICAgICAgICAgICA6ICM0OTE2MkU7XG4kYmFja2dyb3VuZCAgICAgOiAjRjRFRUVBO1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgIEVBU0Vcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kZWFzZVRvaW5vdTogY3ViaWMtYmV6aWVyKC4xNiwuMjksMCwxKTtcbiRQb3dlcjBFYXNlTm9uZTogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjI1MCwgMC43NTAsIDAuNzUwKTtcbiRQb3dlcjFFYXNlSW46IGN1YmljLWJlemllcigwLjU1MCwgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kUG93ZXIxRWFzZU91dDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRQb3dlcjFFYXNlSW5PdXQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kUG93ZXIyRWFzZUluOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJFBvd2VyMkVhc2VPdXQ6IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kUG93ZXIyRWFzZUluT3V0OiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuJFBvd2VyM0Vhc2VJbjogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRQb3dlcjNFYXNlT3V0OiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJFBvd2VyM0Vhc2VJbk91dDogY3ViaWMtYmV6aWVyKDAuNzcwLCAwLjAwMCwgMC4xNzUsIDEuMDAwKTtcbiRQb3dlcjRFYXNlSW46IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kUG93ZXI0RWFzZU91dDogY3ViaWMtYmV6aWVyKDAuMjMwLCAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRQb3dlcjRFYXNlSW5PdXQ6IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XG4kQ2lyY0Vhc2VJbjogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRDaXJjRWFzZU91dDogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRDaXJjRWFzZUluT3V0OiBjdWJpYy1iZXppZXIoMC43ODUsIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJEV4cG9FYXNlSW46IGN1YmljLWJlemllciguOTUsLjA1LC43OTUsLjAzNSk7XG4kRXhwb0Vhc2VPdXQ6IGN1YmljLWJlemllciguMTksMSwuMjIsMSk7XG4kRXhwb0Vhc2VJbk91dDogY3ViaWMtYmV6aWVyKDEsMCwwLDEpO1xuJFNpbmVFYXNlSW46IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kU2luZUVhc2VPdXQ6IGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kU2luZUVhc2VJbk91dDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgIE1FRElBIFFVRVJJRVNcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gbW9iaWxlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tb2JpbGUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLXBvcnRyYWl0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIHRhYmxldCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1hc3BlY3QtcmF0aW86IDExNS85NCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWFzcGVjdC1yYXRpbzogMTE1Lzk0KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gQG1peGluIGNpbmVtYSB7XG4vLyAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtY2luZW1hKSB7XG4vLyAgICAgICAgIEBjb250ZW50O1xuLy8gICAgIH1cbi8vIH1cbiIsIi8qXG4qICAgRWFzaW5nIEVxdWF0aW9ucyBwb3J0ZWQgdG8gQ1NTIGJ5IEBtYXR0aGV3bGVpbiAtIGh0dHA6Ly9tYXR0aGV3bGVpbi5jb20vY2Vhc2VyL1xuKiAgIENvbnZlcnRlZCB0byBTQ1NTIHZhcnMgYnkgQHBldHRwZXR0XG4qXG4qICAgc2FtcGxlIHVzYWdlOlxuKiAgIGEge1xuKiAgICAgY29sb3I6ICNmZjAwMDA7XG4qICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIDAuNXMgJGVhc2VPdXRRdWludCk7XG4qICAgICAmOmhvdmVyLFxuKiAgICAgJjpmb2N1cyB7XG4qICAgICAgIGNvbG9yOiAjZmY5OTAwO1xuKiAgICAgfVxuKiAgIH1cbiovXG5cbi8qIERlZmF1bHQgRXF1YXRpb25zICovXG4kbGluZWFyICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuMjUwLCAwLjc1MCwgMC43NTApO1xuJGVhc2UgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjEwMCwgMC4yNTAsIDEuMDAwKTtcbiRlYXNlSW4gICAgICAgICA6IGN1YmljLWJlemllcigwLjQyMCwgMC4wMDAsIDEuMDAwLCAxLjAwMCk7XG4kZWFzZU91dCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wMDAsIDAuMDAwLCAwLjU4MCwgMS4wMDApO1xuJGVhc2VJbk91dCAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDIwLCAwLjAwMCwgMC41ODAsIDEuMDAwKTtcblxuLyogUGVubmVyIEVxdWF0aW9ucyAoYXBwcm94aW1hdGVkKSBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgQHJvYnBlbm5lciAqL1xuJGVhc2VJblF1YWQgICAgIDogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlSW5DdWJpYyAgICA6IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZUluUXVhcnQgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2VJblF1aW50ICAgIDogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlSW5TaW5lICAgICA6IGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZUluRXhwbyAgICAgOiBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2VJbkNpcmMgICAgIDogY3ViaWMtYmV6aWVyKDAuNjAwLCAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlSW5CYWNrICAgICA6IGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4kZWFzZU91dFF1YWQgICAgOiBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApO1xuJGVhc2VPdXRDdWJpYyAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlT3V0UXVhcnQgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XG4kZWFzZU91dFF1aW50ICAgOiBjdWJpYy1iZXppZXIoMC4yMzAsIDEuMDAwLCAwLjMyMCwgMS4wMDApO1xuJGVhc2VPdXRTaW5lICAgIDogY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKTtcbiRlYXNlT3V0RXhwbyAgICA6IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG4kZWFzZU91dENpcmMgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIwLCAwLjE2NSwgMS4wMDApO1xuJGVhc2VPdXRCYWNrICAgIDogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcblxuJGVhc2VJbk91dFF1YWQgIDogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzMCwgMC41MTUsIDAuOTU1KTtcbiRlYXNlSW5PdXRDdWJpYyA6IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZUluT3V0UXVhcnQgOiBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1aW50IDogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTtcbiRlYXNlSW5PdXRTaW5lICA6IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4kZWFzZUluT3V0RXhwbyAgOiBjdWJpYy1iZXppZXIoMS4wMDAsIDAuMDAwLCAwLjAwMCwgMS4wMDApO1xuJGVhc2VJbk91dENpcmMgIDogY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcbiRlYXNlSW5PdXRCYWNrICA6IGN1YmljLWJlemllcigwLjY4MCwgLTAuNTUwLCAwLjI2NSwgMS41NTApO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgICAgICAgSEVMUEVSU1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLmZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4udXBwZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmJsb2NrIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmZ1bGwtd2lkdGgge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgICAgICAgRk9OVCBGQUNFIERFQ0xBUkFUSU9OXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGJhc2UtZm9udHMtcGF0aCA6ICdodHRwczovL21hZ29hcmNoaXRlY3R1cmUuY29tL3dwLWNvbnRlbnQvdGhlbWVzL21hZ28vYXNzZXRzL2ZvbnRzJztcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYWdvJztcbiAgICBzcmM6IHVybCgjeyRiYXNlLWZvbnRzLXBhdGh9L01BR08tTm9ybWFsLndvZmYpO1xuICAgIC8vIHNyYzogdXJsKCN7JGJhc2UtZm9udHMtcGF0aH0vQmVuZ3VpYXRHb3RoaWNCb2xkLmVvdD8jaWVmaXgpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAvLyAgICAgdXJsKCN7JGJhc2UtZm9udHMtcGF0aH0vTUFHTzE5MTExNy1Ob3JtYWwud29mZikgZm9ybWF0KCd3b2ZmJyksXG4gICAgLy8gICAgIHVybCgjeyRiYXNlLWZvbnRzLXBhdGh9L0Jlbmd1aWF0R290aGljQm9sZC50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAvLyAgICAgdXJsKCN7JGJhc2UtZm9udHMtcGF0aH0vQmVuZ3VpYXRHb3RoaWNCb2xkLnN2ZyNCZW5ndWlhdEdvdGhpY0JvbGQpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgICAgICAgSEVBRElORyBERUNMQVJBVElPTlxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmEge1xuICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHJnYigyMTIsIDIxMiwgMjEyKVxuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiByZ2IoMjMzLCAyMzMsIDIzMylcbiAgICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAgICAgICBHZW5lcmFsIEhUTUwgLSBCT0RZXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaHRtbCwgYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdNYWdvJywgc2VyaWY7XG59XG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG4uYm9keSB7XG4gICAgbWFyZ2luOiAyM3B4IDI3cHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDIwcHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpXG4gICAgfVxufVxuXG4jY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIH1cbn1cblxuLmhlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAmX190b3Age1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMTlweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU4cHgpO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgdG9wIDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fbG9nbywgJl9fdGhlbWUge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAyMDA7XG4gICAgfVxuICAgICZfX2xvZ28ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMjdweCAvIDIpO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RoZW1lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjdweCAvIDIpO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdmlnYXRpb24sIC5uYXZpZ2F0aW9uLS1iYWNrLW1vYmlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjFweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMnB4O1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgICAgICAgICB0b3A6IDM4cHg7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDN2aDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdmlnYXRpb24tLWJhY2stbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJl9fYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG59XG4uaGVhZGVyLS10cmFuc2l0aW9uIC5uYXZpZ2F0aW9uIHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjNzIGVhc2UtaW4tb3V0IC40NXM7XG59XG5cbi5yb290LCAuaXMtaG9tZSwgaHRtbCwgLmlzLWFib3V0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICAgIH1cbn1cbi5wYWdlIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uaXMtaG9tZSB7XG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgICAmLS1iYWNrLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXMtYWJvdXQge1xuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMnZoO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLS1iYWNrLW1vYmlsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgI2NvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NXZoO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgIEhPTUVcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhvbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpO1xuICAgIGZsZXgtZmxvdyA6IGNvbHVtbiBub3dyYXA7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBmbGV4OiBub25lO1xuICAgIC8vIG1hcmdpbi10b3A6IDQ2cHg7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3cteTogaW5pdGlhbDtcbiAgICB9XG59XG4uaG9tZTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA2cHg7XG59XG4ucHJvamVjdCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTUycHgpO1xuICAgIC8vIHNjcm9sbC1wYWRkaW5nLXRvcDogNzJweDtcbiAgICBwYWRkaW5nLXRvcDogNzJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzFweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgfVxuICAgIC50ZWNobmljYWwtc2hlZXQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGFibGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBib3JkZXItc3BhY2luZzogMTBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjNzIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190eXBlLCAmX190aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICAgICZfX2RhdGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY3Jvc3Mge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgJi0tb3BlbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fbW9yZS1pbmZvIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zcyBlYXNlLWluLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmX19ub3QtbW9iaWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19ub3QtbW9iaWxlIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IC41cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZXMtcGFydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwNXB4KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiA3MnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgJl9faW1hZ2VzIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICZfX3dyYXBwZXIge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gKDI3cHggLyAyKSk7O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMi42cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAzNXB4O1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgKyAoMjdweCAvMikpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICZfX21vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19tb2JpbGUtd3JhcHBlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMTJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MXB4O1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tb3JlLWluZm8tbW9iaWxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXkgOiBmbGV4O1xuICAgICAgICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XG4gICAgXG4gICAgICAgICZfX3R5cGUsICZfX2J1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgICZfX2Nyb3NzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTkuNXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICYtLW9wZW4ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjRzIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjdweDtcbiAgICB6LWluZGV4OiAxMDAwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0LFxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24gLjRzIGVhc2UtaW4tb3V0IC40cztcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXB4KVxuICAgIH1cbiAgICAmX190b3Age1xuICAgICAgICB0b3A6IDc1cHg7XG4gICAgICAgICY6aG92ZXIgJi0tbGVnZW5kIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0tZnJvbS1ib3R0b206aG92ZXIgJi0tbGVnZW5kIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiAxOXB4O1xuICAgICAgICAmOmhvdmVyICYtLWxlZ2VuZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RvcCwgJl9fYm90dG9tIHtcbiAgICAgICAgJi0tbGVnZW5kIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlLWluLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIC40cyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgICAmLS1oaWRlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBhcnJvd3tcbiAgICAyMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXB4KTtcbiAgICB9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgICAgICAgQWJvdXRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWJvdXQge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEwOXB4KTtcbiAgICBtYXJnaW4tdG9wOiA2OXB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgb3ZlcmZsb3cteTogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDg5cHg7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpO1xuICAgIH1cbiAgICAmX190YWJsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3BhcnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAmLS1ib3R0b20ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgICAgICAmLS10b3Age1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jYXNlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wIDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190eXBlLCAmX19pbnRlci1jYXNlLXR5cGUsICZfX3Byb2plY3QsICZfX2J1dHRvbi1jcmVkaXR7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgICZfX2ludGVyLWNhc2Uge1xuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19uYXZpZ2F0aW9uLCAmX19jcmVkaXQgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICB9XG4gICAgJl9fYnV0dG9uLWNyZWRpdCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGVzbW9rZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jcmVkaXQge1xuICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGhlaWdodDogMi41dmg7XG4gICAgICAgIHRyYW5zaXRpb246IC41cyB3aWR0aCBlYXNlLWluLW91dCxcbiAgICAgICAgICAgICAgICAgICAgLjVzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICZfX3Byb2plY3RzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19wcm9qZWN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgICAmX190eXBlIHtcbiAgICAgICAgQGluY2x1ZGUgdGFibGV0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGFjdCB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgICYtLXBhcnQubGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICogMiAvIDMpO1xuICAgICAgICB9XG4gICAgICAgICYtLXBhcnQucmlnaHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNXB4KTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMykgKyAxNXB4KTtcbiAgICAgICAgfVxuICAgICAgICAmLS1iYWNrIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IC02MnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Nhc2Uge1xuICAgICAgICAmLS1tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NyZWRpdC1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAgICAgICBlcnJvclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5lcnJvciB7XG4gICAgd2lkdGg6IDEwMCU7IFxuICAgIGhlaWdodDogOTB2aDtcbiAgICBkaXNwbGF5OiBmbGV4OyBcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJl9fbWVzc2FnZSwgJl9fbGluayB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDsgXG4gICAgICAgIGxlZnQ6IDA7IFxuICAgIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/