@import 'https://fonts.googleapis.com/css?family=Josefin+Sans:400,700';
@import 'https://fonts.googleapis.com/css?family=Varela+Round';
body {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.6.3");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.6.3") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.6.3") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.6.3") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal; }

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear; }

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8); }

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

.fa-spinner:before {
  content: "\f110"; }

.section-content ul, .section-content ol {
  list-style: none;
  padding-left: 0;
  margin-left: 0; }

@font-face {
  font-family: "boinas-negras";
  src: url("../fonts/boinas-negras.eot");
  src: url("../fonts/boinas-negras.eot?#iefix") format("embedded-opentype"), url("../fonts/boinas-negras.woff") format("woff"), url("../fonts/boinas-negras.ttf") format("truetype"), url("../fonts/boinas-negras.svg#boinas-negras") format("svg");
  font-weight: normal;
  font-style: normal; }

[data-icon]:before {
  font-family: "boinas-negras" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "boinas-negras" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-chevron-left:before {
  content: "\61"; }

.icon-chevron-right:before {
  content: "\62"; }

.icon-chevron-up:before {
  content: "\63"; }

.icon-chevron-down:before {
  content: "\64"; }

.icon-down:before {
  content: "\65"; }

.icon-left:before {
  content: "\66"; }

.icon-right:before {
  content: "\67"; }

.icon-up:before {
  content: "\68"; }

.icon-facebook:before {
  content: "\69"; }

.icon-twitter:before {
  content: "\6a"; }

.icon-youtube:before {
  content: "\6b"; }

.icon-menu:before {
  content: "\6c"; }

.icon-close:before {
  content: "\6d"; }

.icon-times-circle-o:before {
  content: "\6e"; }

.icon-zoom:before {
  content: "\6f"; }

.icon-pic:before {
  content: "\70"; }

.icon-map:before {
  content: "\71"; }

.icon-resize:before {
  content: "\72"; }

.icon-arrows-alt:before {
  content: "\73"; }

.icon-pic1:before {
  content: "\74"; }

.icon-phone:before {
  content: "\75"; }

.icon-user:before {
  content: "\76"; }

.icon-email:before {
  content: "\77"; }

.icon-message:before {
  content: "\79"; }

.icon-users:before {
  content: "\78"; }

.icon-building:before {
  content: "\7a"; }

.icon-calendar:before {
  content: "\41"; }

.icon-skill:before {
  content: "\42"; }

.icon-school:before {
  content: "\43"; }

.icon-load:before {
  content: "\44"; }

.icon-loop:before {
  content: "\45"; }

.icon-load-c:before {
  content: "\46"; }

.icon-load-d:before {
  content: "\47"; }

.icon-load-b:before {
  content: "\48"; }

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

body {
  margin: 0;
  font-family: sans-serif; }

img {
  display: block;
  width: 100%;
  height: auto; }

a {
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

.ed-container, .main-footer__container, .contacto__container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  width: 100%; }

.ed-item, .main-footer__container p, .contacto__datos, .contacto__form {
  margin: 0;
  padding-left: 0.9375em;
  padding-right: 0.9375em; }

.ed-item {
  width: auto; }
  .ed-item.ed-container {
    padding-left: 0;
    padding-right: 0; }

.button, .form-footer .btn {
  display: inline-block;
  line-height: 2.5em;
  padding: 0 1.5em;
  cursor: pointer;
  margin-bottom: 1em;
  border: none; }

.s-5 {
  width: 5%; }

.s-10 {
  width: 10%; }

.s-15 {
  width: 15%; }

.s-20 {
  width: 20%; }

.s-25 {
  width: 25%; }

.s-30 {
  width: 30%; }

.s-35 {
  width: 35%; }

.s-40 {
  width: 40%; }

.s-45 {
  width: 45%; }

.s-50 {
  width: 50%; }

.s-55 {
  width: 55%; }

.s-60 {
  width: 60%; }

.s-65 {
  width: 65%; }

.s-70 {
  width: 70%; }

.s-75 {
  width: 75%; }

.s-80 {
  width: 80%; }

.s-85 {
  width: 85%; }

.s-90 {
  width: 90%; }

.s-95 {
  width: 95%; }

.s-100 {
  width: 100%; }

.s-1-3 {
  width: 33.33333%; }

.s-2-3 {
  width: 66.66667%; }

.s-3-3 {
  width: 100%; }

.s-1-6 {
  width: 16.66667%; }

.s-2-6 {
  width: 33.33333%; }

.s-3-6 {
  width: 50%; }

.s-4-6 {
  width: 66.66667%; }

.s-5-6 {
  width: 83.33333%; }

.s-6-6 {
  width: 100%; }

@media all and (min-width: 40em) {
  .m-5 {
    width: 5%; }
  .m-10 {
    width: 10%; }
  .m-15 {
    width: 15%; }
  .m-20 {
    width: 20%; }
  .m-25 {
    width: 25%; }
  .m-30 {
    width: 30%; }
  .m-35 {
    width: 35%; }
  .m-40 {
    width: 40%; }
  .m-45 {
    width: 45%; }
  .m-50 {
    width: 50%; }
  .m-55 {
    width: 55%; }
  .m-60 {
    width: 60%; }
  .m-65 {
    width: 65%; }
  .m-70 {
    width: 70%; }
  .m-75 {
    width: 75%; }
  .m-80 {
    width: 80%; }
  .m-85 {
    width: 85%; }
  .m-90 {
    width: 90%; }
  .m-95 {
    width: 95%; }
  .m-100 {
    width: 100%; }
  .m-1-3 {
    width: 33.33333%; }
  .m-2-3 {
    width: 66.66667%; }
  .m-3-3 {
    width: 100%; }
  .m-1-6 {
    width: 16.66667%; }
  .m-2-6 {
    width: 33.33333%; }
  .m-3-6 {
    width: 50%; }
  .m-4-6 {
    width: 66.66667%; }
  .m-5-6 {
    width: 83.33333%; }
  .m-6-6 {
    width: 100%; } }

@media all and (min-width: 64.0625em) {
  .l-5 {
    width: 5%; }
  .l-10 {
    width: 10%; }
  .l-15 {
    width: 15%; }
  .l-20 {
    width: 20%; }
  .l-25 {
    width: 25%; }
  .l-30 {
    width: 30%; }
  .l-35 {
    width: 35%; }
  .l-40 {
    width: 40%; }
  .l-45 {
    width: 45%; }
  .l-50 {
    width: 50%; }
  .l-55 {
    width: 55%; }
  .l-60 {
    width: 60%; }
  .l-65 {
    width: 65%; }
  .l-70 {
    width: 70%; }
  .l-75 {
    width: 75%; }
  .l-80 {
    width: 80%; }
  .l-85 {
    width: 85%; }
  .l-90 {
    width: 90%; }
  .l-95 {
    width: 95%; }
  .l-100 {
    width: 100%; }
  .l-1-3 {
    width: 33.33333%; }
  .l-2-3 {
    width: 66.66667%; }
  .l-3-3 {
    width: 100%; }
  .l-1-6 {
    width: 16.66667%; }
  .l-2-6 {
    width: 33.33333%; }
  .l-3-6 {
    width: 50%; }
  .l-4-6 {
    width: 66.66667%; }
  .l-5-6 {
    width: 83.33333%; }
  .l-6-6 {
    width: 100%; } }

@media all and (min-width: 90em) {
  .xl-5 {
    width: 5%; }
  .xl-10 {
    width: 10%; }
  .xl-15 {
    width: 15%; }
  .xl-20 {
    width: 20%; }
  .xl-25 {
    width: 25%; }
  .xl-30 {
    width: 30%; }
  .xl-35 {
    width: 35%; }
  .xl-40 {
    width: 40%; }
  .xl-45 {
    width: 45%; }
  .xl-50 {
    width: 50%; }
  .xl-55 {
    width: 55%; }
  .xl-60 {
    width: 60%; }
  .xl-65 {
    width: 65%; }
  .xl-70 {
    width: 70%; }
  .xl-75 {
    width: 75%; }
  .xl-80 {
    width: 80%; }
  .xl-85 {
    width: 85%; }
  .xl-90 {
    width: 90%; }
  .xl-95 {
    width: 95%; }
  .xl-100 {
    width: 100%; }
  .xl-1-3 {
    width: 33.33333%; }
  .xl-2-3 {
    width: 66.66667%; }
  .xl-3-3 {
    width: 100%; }
  .xl-1-6 {
    width: 16.66667%; }
  .xl-2-6 {
    width: 33.33333%; }
  .xl-3-6 {
    width: 50%; }
  .xl-4-6 {
    width: 66.66667%; }
  .xl-5-6 {
    width: 83.33333%; }
  .xl-6-6 {
    width: 100%; } }

.to-center {
  display: table;
  width: auto;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }

.to-left {
  float: left;
  width: auto;
  margin-right: 1em; }

.to-right {
  float: right;
  width: auto;
  margin-left: 1em; }

.full {
  max-width: 100%; }

.circle {
  border-radius: 50%; }

.clearfix:before, .clearfix:after {
  content: "";
  display: table;
  width: 100%;
  clear: both; }

.no-padding.ed-container > .ed-item {
  padding-left: 0em;
  padding-right: 0em; }

.no-padding.ed-item {
  padding-left: 0em;
  padding-right: 0em; }

.padding {
  padding-left: 0.9375em;
  padding-right: 0.9375em; }

.padding-2 {
  padding-left: 1.875em;
  padding-right: 1.875em; }

.padding-3 {
  padding-left: 2.8125em;
  padding-right: 2.8125em; }

body.sticky-footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh; }
  body.sticky-footer > footer {
    margin-top: auto; }

.main-justify {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.main-distribute {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }

.main-center {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center; }

.main-start {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

.main-end {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end; }

.cross-start {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start; }

.cross-center {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
  align-content: center; }

.cross-end {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
  align-content: flex-end; }

.flex-reverse {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.flex-column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.flex-column-reverse {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse; }

.abcenter {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.from-s {
  display: none; }

.to-s {
  display: none; }

@media screen and (max-width: 40em) {
  .from-m {
    display: none; } }

@media screen and (min-width: 40em) {
  .to-m {
    display: none; } }

@media screen and (max-width: 64.0625em) {
  .from-l {
    display: none; } }

@media screen and (min-width: 64.0625em) {
  .to-l {
    display: none; } }

@media screen and (max-width: 90em) {
  .from-xl {
    display: none; } }

@media screen and (min-width: 90em) {
  .to-xl {
    display: none; } }

.ed-video {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative; }
  .ed-video > iframe,
  .ed-video > video > .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.button {
  background: #ddd;
  color: #333; }
  .button:hover {
    background: #d0d0d0;
    text-decoration: none; }
  .button:active {
    -webkit-transform: scale(0.97);
    -ms-transform: scale(0.97);
    transform: scale(0.97); }

.vmodal {
  position: fixed;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.85);
  z-index: 100000;
  top: 0;
  left: 0;
  display: none; }
  .vmodal__container {
    border: 3px solid #000;
    width: 90%;
    max-width: 780px;
    margin: 0 auto;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 0.3125rem;
    padding-bottom: 0;
    background: #fff;
    max-height: 90%; }
    .vmodal__container > img {
      display: inline-block;
      width: 100%;
      margin: 0 auto; }
  .vmodal__close {
    display: block;
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: translateY(-50%) translateX(50%);
    -ms-transform: translateY(-50%) translateX(50%);
    transform: translateY(-50%) translateX(50%);
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
    font-size: 1.3em;
    background: #fff;
    color: #000;
    text-align: center;
    border-radius: 50%;
    border: 2px solid #000; }
    .vmodal__close:before {
      top: 0; }
  .vmodal iframe {
    width: 100%;
    height: 400px;
    border: none;
    overflow: hidden; }

body {
  background: url("../img/bg.jpg") center center/cover fixed;
  font-family: "Varela Round", sans-serif;
  color: #4d4d4d;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  min-height: 100vh; }

a {
  color: initial;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

p, blockquote, li {
  font-size: 1em;
  line-height: 1.5; }

p {
  margin: 0 0 0 0; }
  p:last-child, p:only-child {
    margin: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
  text-transform: normal;
  color: #4d4d4d;
  margin: 0;
  display: block; }

h1 {
  font-size: 2em;
  line-height: 1.2; }

h2 {
  font-size: 1.6em;
  width: 100%; }

h3 {
  font-size: 1.3em;
  width: 100%; }

h4 {
  font-size: 1em; }

h5 {
  font-size: 0.9em; }

h6 {
  font-size: 0.8em; }

nav {
  margin: 0;
  padding: 0; }

section {
  padding-top: 7em; }

.main-menu {
  width: 100%; }
  .main-menu, .main-menu ul {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none; }
  .main-menu li {
    position: relative;
    list-style: none;
    -webkit-flex: auto;
    -ms-flex: auto;
    flex: auto; }
    .main-menu li.parent-submenu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      .main-menu li.parent-submenu a {
        -webkit-flex: auto;
        -ms-flex: auto;
        flex: auto; }
  .main-menu ul {
    display: none; }
    .main-menu ul.show-submenu {
      display: block;
      width: 100%;
      -webkit-order: 3;
      -ms-flex-order: 3;
      order: 3;
      margin-left: 1em;
      margin-bottom: .5em; }
  .main-menu a {
    display: block;
    line-height: 3em;
    padding: 0 1em; }
    .main-menu a:hover {
      text-decoration: none; }
  @media screen and (min-width: 64.0625em) {
    .main-menu {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      .main-menu a {
        text-align: center; }
      .main-menu .expand {
        display: none; }
      .main-menu ul {
        position: absolute;
        top: 100%;
        min-width: 100%;
        white-space: nowrap; }
        .main-menu ul a {
          text-align: left; }
        .main-menu ul ul {
          top: 0;
          left: 100%; }
      .main-menu li:hover > ul {
        display: block; } }
  .main-menu .expand-submenu {
    position: relative;
    right: 0;
    width: 3em;
    height: 3em;
    cursor: pointer;
    transition: all .3s; }
    @media screen and (min-width: 64.0625em) {
      .main-menu .expand-submenu {
        display: none; } }
    .main-menu .expand-submenu::after {
      content: "";
      position: absolute;
      width: 40%;
      height: 40%;
      top: 20%;
      left: 30%;
      border-left: 0.45em solid #666;
      border-bottom: 0.45em solid #666;
      border-radius: 0.24em;
      -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
      transition: all .3s; }
    .main-menu .expand-submenu.active {
      -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      transform: rotate(180deg); }
  @media screen and (min-width: 1025px) and (max-width: 1080px) {
    .main-menu {
      -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
      transform: scale(0.8);
      float: right; } }
  @media screen and (min-width: 1081px) and (max-width: 1161px) {
    .main-menu {
      -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
      transform: scale(0.9);
      float: right; } }
  @media screen and (max-width: 64.0625em) {
    .main-menu {
      position: relative;
      top: 4rem;
      background: rgba(0, 0, 0, 0.75);
      border: 1px solid rgba(255, 255, 255, 0.1);
      height: auto;
      overflow-y: auto; } }
  .main-menu li {
    background: transparent;
    transition: all 0.3s; }
    @media screen and (max-width: 64.0625em) {
      .main-menu li:hover {
        background: #732626; } }
    @media screen and (max-width: 64.0625em) {
      .main-menu li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
        .main-menu li:last-child {
          border-bottom: none; } }
  .main-menu a {
    line-height: 4rem;
    color: #FDFDFD;
    text-transform: uppercase;
    font-size: .9em; }
    @media screen and (max-width: 64.0625em) {
      .main-menu a {
        line-height: 3rem; } }

@media screen and (max-width: 64.0625em) {
  .main-nav {
    position: fixed;
    transition: all .3s;
    height: 100vh;
    z-index: 200;
    width: 85%;
    right: -85%; }
    .main-nav.show-menu {
      right: 0; } }

.toggle-menu {
  position: relative;
  z-index: 300;
  width: 1.95em;
  height: 1.5em;
  box-shadow: 0 0.375em rgba(253, 253, 253, 0.75) inset;
  cursor: pointer;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-right: 0.9375em; }
  .toggle-menu::after, .toggle-menu::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.375em;
    background-color: rgba(253, 253, 253, 0.75);
    bottom: 0; }
  .toggle-menu::after {
    bottom: 0.5625em; }
  @media screen and (min-width: 64.0625em) {
    .toggle-menu {
      display: none; } }

.main-header {
  position: fixed;
  width: 100%;
  background: rgba(34, 34, 34, 0.9);
  z-index: 10000;
  border-bottom: 1px solid rgba(253, 253, 253, 0.3);
  transition: all 0.3s;
  max-height: 4rem; }
  .main-header__container {
    height: 4rem; }
  @media screen and (max-width: 64.0625em) {
    .main-header__logo {
      padding-left: 0.9375em; } }
  .main-header__logo h1 {
    color: #ccac00;
    text-transform: uppercase;
    text-shadow: 2px 2px rgba(102, 86, 0, 0.4), 1px 1px rgba(102, 86, 0, 0.4), 2px 2px rgba(102, 86, 0, 0.4), 3px 3px rgba(102, 86, 0, 0.4); }
    .main-header__logo h1 span {
      font-size: .9em;
      font-weight: bolder; }
    @media screen and (min-width: 1025px) and (max-width: 1161px) {
      .main-header__logo h1 {
        -webkit-transform: scale(0.7);
        -ms-transform: scale(0.7);
        transform: scale(0.7); } }

.black {
  background: #222 !important; }

.main-footer {
  margin-top: auto;
  margin-top: 2em;
  background: #993333;
  height: 3em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  body {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh; }
  .main-footer__container p {
    width: 100%;
    text-align: center;
    color: #FDFDFD; }
  .main-footer__container span, .main-footer__container a {
    margin: 0 5px; }
  .main-footer__container a {
    color: inherit; }
    .main-footer__container a:hover {
      text-decoration: underline; }
    .main-footer__container a.dev {
      font-weight: bold; }

.inicio {
  position: relative;
  height: 100vh;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background: url(../img/banner.jpg) center center/cover fixed no-repeat; }
  .inicio__logo {
    width: 60%;
    max-width: 250px;
    background: #FDFDFD;
    padding: 0.9375em;
    border-radius: 50%; }
    @media all and (max-width: 640px) and (orientation: landscape) {
      .inicio__logo {
        max-width: 180px; } }

.nosotros {
  min-height: 100vh; }

.nosotros > .section-content {
  position: relative; }
  .nosotros > .section-content > h3 {
    margin-top: 1em; }

.cedulas-contaner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -1em;
  margin-right: -1em; }
  .cedulas-contaner > .cedulas-item {
    width: calc(100% - 2em);
    margin: 1em; }
  @media screen and (min-width: 40em) {
    .cedulas-contaner > .cedulas-item {
      width: calc(50% - 2em); } }
  @media screen and (min-width: 64.0625em) {
    .cedulas-contaner {
      max-width: 80%;
      margin: 0 auto; } }

.avisopriv {
  position: absolute;
  top: .5em;
  right: .5em;
  line-height: 2em;
  padding: 0 1em;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 1em;
  transition: all .3s;
  color: rgba(255, 255, 255, 0.8); }
  .avisopriv:hover {
    background: rgba(255, 255, 255, 0.4);
    color: rgba(68, 68, 68, 0.8); }

.modal-iframe .vmodal__container {
  max-width: 90% !important;
  height: 90% !important; }

.modal-iframe iframe {
  height: 98% !important; }

.galery-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -0.75em;
  margin-right: -0.75em; }
  .galery-container > .galery-item {
    width: calc(50% - 1.5em);
    margin: 0.75em; }
  @media screen and (min-width: 40em) {
    .galery-container > .galery-item {
      width: calc(33.33333% - 1.5em); } }
  @media screen and (min-width: 64.0625em) {
    .galery-container > .galery-item {
      width: calc(25% - 1.5em); } }

.galery-item {
  box-shadow: 0 0 0 1px #000, 0 0 0 3px #FDFDFD, 0 0 0 5px #000;
  overflow: hidden; }
  .galery-item a {
    display: block;
    position: relative; }
    .galery-item a::after {
      content: "\74";
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      background: rgba(0, 0, 0, 0.5);
      color: #FDFDFD;
      font-family: "boinas-negras";
      font-size: 1.5em;
      transition: all 0.3s;
      opacity: 0;
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      transform: scale(0); }
    .galery-item a img {
      transition: all 0.3s; }
    .galery-item a:hover::after {
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
      opacity: 1; }
    .galery-item a:hover img {
      -webkit-transform: scale(1.3) rotate(-10deg);
      -ms-transform: scale(1.3) rotate(-10deg);
      transform: scale(1.3) rotate(-10deg); }

.contacto__datos {
  width: 100%; }
  @media screen and (min-width: 40em) {
    .contacto__datos {
      width: 50%; } }
  .contacto__datos h3, .contacto__datos h4, .contacto__datos p {
    text-align: right; }
  .contacto__datos h3 {
    font-size: 3em; }
  .contacto__datos h4 {
    font-size: 1.5em; }
  .contacto__datos .p-group {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-bottom: 0.46875em; }
    .contacto__datos .p-group:first-of-type {
      margin-top: 0.9375em; }
  .contacto__datos span {
    padding-left: 8px; }
  .contacto__datos [class^="icon-"]:before {
    position: relative;
    top: 2px; }
  .contacto__datos .icon-map::before {
    top: 5px; }
  .contacto__datos a {
    color: inherit; }
    .contacto__datos a:hover {
      text-decoration: underline; }

.contacto .mapa a {
  display: block;
  box-shadow: 0 0 0 2px rgba(153, 51, 51, 0.5);
  transition: all 0.3s;
  position: relative; }
  .contacto .mapa a::after {
    content: '\72';
    font-family: "boinas-negras" !important;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.75);
    opacity: 0;
    transition: all 0.3s;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.5em;
    color: #fff; }
  .contacto .mapa a:hover {
    box-shadow: 0 0 0 2px #993333; }
    .contacto .mapa a:hover:after {
      opacity: 1; }

.contacto__form {
  width: 100%;
  margin-top: 2em; }
  @media screen and (min-width: 40em) {
    .contacto__form {
      width: 50%; } }
  @media screen and (min-width: 40em) {
    .contacto__form {
      margin-top: 0.9375em;
      padding-left: 0.9375em;
      padding-right: 0.9375em; } }
  .contacto__form .select-group {
    position: relative;
    background: #FDFDFD; }
    .contacto__form .select-group label {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 100;
      width: 1.875rem;
      height: 100%;
      font-size: 1.5em;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
    .contacto__form .select-group select {
      display: block;
      height: 2.125rem;
      width: 100%;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      border: 1px solid #993333;
      padding-left: 0.4375em;
      margin-bottom: 1.875em;
      position: relative;
      background: transparent;
      z-index: 500; }
      .contacto__form .select-group select:focus {
        outline: none;
        border: 1px solid #993333; }

.form {
  margin-top: 0.9375em;
  padding: 0.9375em;
  padding-top: 1.875em;
  background: rgba(253, 253, 253, 0.25);
  border: 1px solid #993333; }
  .form .input-group, .form .input-group-textarea {
    position: relative;
    margin-bottom: 2.34375em; }
    .form .input-group span, .form .input-group-textarea span {
      display: none; }
    .form .input-group label, .form .input-group input, .form .input-group-textarea label, .form .input-group-textarea input {
      height: 2rem; }
    .form .input-group label, .form .input-group-textarea label {
      position: absolute;
      left: 5px;
      top: 5px;
      transition: all 0.3s;
      color: #993333; }
    .form .input-group input, .form .input-group textarea, .form .input-group-textarea input, .form .input-group-textarea textarea {
      background: transparent;
      width: 100%;
      border: none;
      outline: none;
      resize: none;
      border-bottom: 1px solid #993333;
      font-family: "Varela Round", sans-serif;
      font-size: 1em; }
      .form .input-group input:focus, .form .input-group textarea:focus, .form .input-group-textarea input:focus, .form .input-group-textarea textarea:focus {
        outline: none; }
        .form .input-group input:focus + label, .form .input-group textarea:focus + label, .form .input-group-textarea input:focus + label, .form .input-group-textarea textarea:focus + label {
          top: -1.5em;
          font-size: .85em;
          left: 0; }
    .form .input-group textarea, .form .input-group-textarea textarea {
      transition: all 0.3s;
      min-height: 2rem; }
      .form .input-group textarea + label, .form .input-group-textarea textarea + label {
        top: 7px; }
      .form .input-group textarea:focus, .form .input-group-textarea textarea:focus {
        min-height: 4rem; }
  .form .input-group-textarea {
    margin-bottom: 0.9375em; }
  .form .input-group.lleno label {
    top: -1.5em;
    font-size: .85em;
    left: 0; }
  .form .input-group-textarea.lleno label {
    top: -1.5em;
    font-size: .85em;
    left: 0; }
  .form .input-group-textarea.lleno textarea {
    min-height: 4rem; }

.form-footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .form-footer .boton {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 25%; }
  .form-footer .messages {
    width: 75%; }
  .form-footer .btn {
    background: #993333;
    color: #333;
    color: #FDFDFD;
    text-transform: uppercase; }
    .form-footer .btn:hover {
      background: #862d2d;
      text-decoration: none; }
    .form-footer .btn:active {
      -webkit-transform: scale(0.97);
      -ms-transform: scale(0.97);
      transform: scale(0.97); }
    @media screen and (max-width: 40em) {
      .form-footer .btn {
        padding: 0 10px; } }

.success, .error {
  padding: 0.3125rem;
  color: rgba(253, 253, 253, 0.5);
  display: none;
  text-align: center; }

.success {
  background: darkgreen; }

.error {
  background: darkred; }

.radio-group {
  margin-top: 0.9375em;
  margin-bottom: 1.875em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  .radio-group .radios {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    width: 60%;
    margin: 0 auto;
    padding-top: 1px; }
    .radio-group .radios input {
      outline: none; }
      .radio-group .radios input:focus {
        outline: none; }
  .radio-group p {
    color: #993333; }

#form-reclutamiento, #form-cotizacion {
  display: none; }

.network {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 0.9375em; }
  .network a {
    width: 3.125rem;
    background: transparent;
    color: #4d4d4d;
    margin-right: 0.9375em;
    font-size: 1.7em;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50%;
    padding: 5px;
    transition: all 0.3s; }
    .network a:nth-child(3) {
      margin-right: 0; }
    .network a:hover {
      background: rgba(153, 51, 51, 0.95);
      text-decoration: none;
      color: #FDFDFD; }

.icon-load-b {
  -webkit-animation: girar 3s linear infinite;
  animation: girar 3s linear infinite;
  display: inline-block;
  position: relative;
  color: yellow;
  font-size: .5em; }

@-webkit-keyframes girar {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-transform-origin: top;
    transform-origin: top; } }

@keyframes girar {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    -webkit-transform-origin: top;
    transform-origin: top; } }

.fa-spinner:before {
  padding: 0 1.5em; }

.accestomail {
  margin-top: 0.9375em;
  float: right; }

.section-title {
  height: 15.625rem;
  text-align: right;
  font-size: 3em;
  padding-right: 4rem;
  padding-top: 1rem;
  background: #222;
  color: #FDFDFD; }
  @media screen and (max-width: 40em) {
    .section-title {
      padding-right: 1rem; } }

.section-content {
  background: #993333;
  padding: 2rem;
  position: relative;
  top: -7.8125rem; }
  @media screen and (max-width: 40em) {
    .section-content {
      max-width: 90%;
      margin: 0 auto; } }
  .section-content h3 {
    text-align: center;
    text-transform: uppercase;
    color: #FDFDFD;
    margin-bottom: 0.9375em; }
  .section-content ul, .section-content ol {
    color: #FDFDFD;
    max-width: 90%;
    margin: 0 auto; }
    @media screen and (min-width: 64.0625em) {
      .section-content ul, .section-content ol {
        max-width: 70%; } }
    .section-content ul li, .section-content ol li {
      margin-bottom: 0.46875em;
      position: relative;
      text-align: center;
      padding: 5px; }
  .section-content p {
    color: #FDFDFD;
    text-align: center;
    margin-bottom: 0.9375em; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbmZpZy9fZm9udHMuc2NzcyIsImNvbmZpZy9fY29sb3JzLnNjc3MiLCJmdW5jdGlvbnMvX3BsYWNlaG9sZGVycy5zY3NzIiwiY29uZmlnL19pY29uLWZvbnRzLnNjc3MiLCJzdHlsZXMuY3NzIiwiZWQtZ3JpZC9jb21wb25lbnRzL19iYXNlLnNjc3MiLCJlZC1ncmlkL2NvbXBvbmVudHMvX2NvcmUuc2NzcyIsImVkLWdyaWQvY29tcG9uZW50cy9fZnVuY3Rpb25zLnNjc3MiLCJlZC1ncmlkL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImVkLWdyaWQvY29tcG9uZW50cy9faGVscGVycy5zY3NzIiwiZWQtZ3JpZC9jb21wb25lbnRzL19mbGV4Ym94LnNjc3MiLCJlZC1ncmlkL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsImVkLWdyaWQvY29tcG9uZW50cy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiZWQtZ3JpZC9jb21wb25lbnRzL19jc3Muc2NzcyIsImVkLWdyaWQvY29tcG9uZW50cy9fdmlkZW8uc2NzcyIsInVpL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJ0aGVtZS9fYmFzZS5zY3NzIiwiY29uZmlnL192YXJpYWJsZXMuc2NzcyIsInRoZW1lL19tZW51LnNjc3MiLCJlZC1ncmlkL2NvbXBvbmVudHMvX2VkLW1lbnUuc2NzcyIsInRoZW1lL19oZWFkZXIuc2NzcyIsInRoZW1lL19mb290ZXIuc2NzcyIsInRoZW1lL3NlY3Rpb25zL19pbmljaW8uc2NzcyIsInRoZW1lL3NlY3Rpb25zL19ub3NvdHJvcy5zY3NzIiwiZWQtZ3JpZC9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJ0aGVtZS9zZWN0aW9ucy9fZ2FsZXJpYS5zY3NzIiwidGhlbWUvc2VjdGlvbnMvX2NvbnRhY3RvLnNjc3MiLCJmdW5jdGlvbnMvX2Z1bmN0aW9ucy5zY3NzIiwibW9kdWxlcy9fbW9kdWxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSx1RUFBTztB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LEVBQUEsRUFBQTtFeEJtekNsQjtJd0JqekNFLG1CckJ4QlM7SXFCV2IsMEJBQUE7SUFnQkksZTNCM0J5QjtJMkI2QnpCLHdCQUFlLEVBQUE7RXhCaXpDakI7SVF0eUNJLGVBQU07SVJ3eUNSLGV3QnIwQ0o7SXhCczBDSSxld0JqekNhLEVBQUE7SUFyQmpCO01Bd0JNO1FBQ0EsZUFBVSxFQUFTLEVBQUE7SXhCaXpDckI7TXdCL3lDRSx5QkFFRDtNQTdCTCxtQkErQkc7TUFDQyxtQjNCM0N5QjtNMkI0Q3pCLGFBQVksRUFBQTtFeEI4eUNkO0lBQ0UsZUFBZTtJQUNmLG1CQUFtQjtJQUNuQix3QkFBd0IsRUFBRSIsImZpbGUiOiJzdHlsZXMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy9AaW1wb3J0ICdodHRwczovL2ZpbGUubXlmb250YXN0aWMuY29tL2FvMkZ5RFNENGFIcnFwZ0pyeWt4ekIvaWNvbnMuY3NzJztcbi8vVGlwbyBkZSBmdWVudGVzIGdlbmVyYWxlcyAqKiBkZXNhY3RpdmUgbGFzIHF1ZSBubyAgbmVjZXNpdGUgcGFyYSBtYXlvciBkZW5kaW1pZW50b1xuLy9AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNzAwJztcbi8vJG9wZW4tc2FuczonT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuLy9AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3N3YWxkOjMwMCw0MDAsNzAwJztcbi8vJG9zd2FsZCA6ICdPc3dhbGQnLCBzYW5zLXNlcmlmO1xuLy9cbi8vQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQ6NDAwLDcwMCc7XG4vLyRtb250c2VycmF0IDogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuLy9cbi8vQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bytDb25kZW5zZWQ6MzAwLDQwMCw3MDAnO1xuLy8kcm9ib3RvLWNvbmRlbnNlZCA6ICdSb2JvdG8gQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcbi8vXG4vL0BpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1VYnVudHU6MzAwLDQwMCw3MDAnO1xuLy8kdWJ1bnR1IDogJ1VidW50dScsIHNhbnMtc2VyaWY7XG4vL1xuLy9AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Tm90bytTYW5zOjQwMCw3MDAnO1xuLy8kbm90byA6ICdOb3RvIFNhbnMnLCBzYW5zLXNlcmlmO1xuXG4vL0BpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1VYnVudHUrQ29uZGVuc2VkJztcbi8vJHVidW50dS1jb25kZW5zZWQ6ICdVYnVudHUgQ29uZGVuc2VkJywgc2Fucy1zZXJpZjtcblxuQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUpvc2VmaW4rU2Fuczo0MDAsNzAwJztcbiRqb3NlZmluLXNhbnM6ICdKb3NlZmluIFNhbnMnLCBzYW5zLXNlcmlmO1xuXG5AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9VmFyZWxhK1JvdW5kJztcbiR2YXJlbGE6ICdWYXJlbGEgUm91bmQnLCBzYW5zLXNlcmlmO1xuXG4kbWFpbi1mb250IDogJHZhcmVsYTtcbi8vJHNlY29uZC1mb250OiAkdWJ1bnR1LWNvbmRlbnNlZDtcbiRoZWFkZXItZm9udDogJGpvc2VmaW4tc2FucztcblxuJGxpZ2h0ICAgICAgOiAzMDA7XG4kbm9ybWFsICAgICA6IDQwMDtcbiRib2xkICAgICAgIDogNzAwO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuNi4zJyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD8jaWVmaXgmdj00LjYuMycpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9NC42LjMnKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9NC42LjMnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnR0Zj92PTQuNi4zJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC42LjMjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLmZhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLmZhLXNwaW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG4uZmEtcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbi5mYS1zcGlubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEwXCI7XG59XG4iLCIkY29sb3JzOihcclxuICAgICAgICBibGFjayAgICAgICA6ICMwNzBEMTIsXHJcbiAgICAgICAgd2hpdGUgICAgICAgOiAjRkRGREZELFxyXG4gICAgICAgIGJsdWUgICAgICAgIDogIzBGNzBCNyxcclxuICAgICAgICBibHVlLWRhcmsgICA6IGhzbCgyMjAsNTAsNDApLFxyXG4gICAgICAgIGJsdWUtbGlnaHQgIDogaHNsKDIyMCw1MCw2MCksXHJcbiAgICAgICAgZ3JleSAgICAgICAgOiBoc2woMCwwLDUwKSxcclxuICAgICAgICBncmV5LWRhcmsgICA6IGhzbCgwLDAsMzApLFxyXG4gICAgICAgIGdyZXktbGlnaHQgIDogaHNsKDAsMCw4MCksXHJcbiAgICAgICAgcmVkICAgICAgICAgOiBoc2woMCw1MCw1MCksXHJcbiAgICAgICAgcmVkLWRhcmsgICAgOiBoc2woMCw1MCw0MCksXHJcbiAgICAgICAgcmVkLWxpZ2h0ICAgOiBoc2woMCw1MCw2MCksXHJcbiAgICAgICAgeWVsbG93ICAgICAgOiBoc2woNjAsNzUsNTApLFxyXG4gICAgICAgIHllbGxvdy1kYXJrIDogaHNsKDYwLDc1LDUwKSxcclxuICAgICAgICB5ZWxsb3ctbGlnaHQ6IGhzbCg2MCw3NSw1MCksXHJcbiAgICAgICAgZ3JlZW4gICAgICAgOiBoc2woMTIzLDQ2LDM0KSxcclxuICAgICAgICBncmVlbi1kYXJrICA6IGhzbCgxMjMsNDYsMjApLFxyXG4gICAgICAgIGdyZWVuLWxpZ3RoIDogaHNsKDEyMyw0Niw2MCksXHJcbiAgICAgICAgZmFjZWJvb2sgICAgOiAjM2I1OTk4LFxyXG4gICAgICAgIHR3aXR0ZXIgICAgIDogIzU1YWNlZSxcclxuICAgICAgICBnb29nbGVwbHVzICA6ICNkZDRiMzksXHJcbiAgICAgICAgeW91dHViZSAgICAgOiAjYmIwMDAwLFxyXG4gICAgICAgIGxpbmtlZGluICAgIDogIzAwN2JiNSxcclxuICAgICAgICBpbnN0YWdyYW0gICA6ICNlOTU5NTAsXHJcbiAgICAgICAgd2hhdHNhcHAgICAgOiAjNGRjMjQ3LFxyXG4gICAgICAgIHBpbnRlcmVzdCAgIDogI2NiMjAyNyxcclxuICAgICAgICB2aW5lICAgICAgICA6ICMwMGJmOGYsXHJcbiAgICAgICAgc25hcGNoYXQgICAgOiAjZmZmYzAwXHJcbik7XHJcblxyXG4kZ29sZDogI0ZGRDcwMDtcclxuXHJcbkBmdW5jdGlvbiBjb2xvcigkbmFtZSl7XHJcbiAgJGNvbG9yOiBtYXAtZ2V0KCRjb2xvcnMsJG5hbWUpO1xyXG4gIEByZXR1cm4gJGNvbG9yO1xyXG59XHJcbiRtYWluLWNvbG9yOiBjb2xvcihyZWQtZGFyayApO1xyXG4kc2Vjb25kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiRmb250cy1jb2xvcjogY29sb3IoZ3JleS1kYXJrKTtcclxuJGhlYWRlcnMtY29sb3I6IGNvbG9yKGdyZXktZGFyayk7XHJcbiRzaWdtYS1jb2xvcjogc3RlZWxibHVlO1xyXG4kaGVhZGVyLWJnOiByZ2JhKGNvbG9yKHdoaXRlKSwuOTUpO1xyXG5ib2R5e1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufSIsIiVsaXN0LXN0eWxle1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9pbmFzLW5lZ3Jhc1wiO1xuICBzcmM6dXJsKFwiLi4vZm9udHMvYm9pbmFzLW5lZ3Jhcy5lb3RcIik7XG4gIHNyYzp1cmwoXCIuLi9mb250cy9ib2luYXMtbmVncmFzLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gIHVybChcIi4uL2ZvbnRzL2JvaW5hcy1uZWdyYXMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICB1cmwoXCIuLi9mb250cy9ib2luYXMtbmVncmFzLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgdXJsKFwiLi4vZm9udHMvYm9pbmFzLW5lZ3Jhcy5zdmcjYm9pbmFzLW5lZ3Jhc1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2luYXMtbmVncmFzXCIgIWltcG9ydGFudDtcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLFxuW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJib2luYXMtbmVncmFzXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiO1xufVxuLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjtcbn1cbi5pY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYzXCI7XG59XG4uaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7XG59XG4uaWNvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NVwiO1xufVxuLmljb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjtcbn1cbi5pY29uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiO1xufVxuLmljb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7XG59XG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjlcIjtcbn1cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZhXCI7XG59XG4uaWNvbi15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YlwiO1xufVxuLmljb24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjtcbn1cbi5pY29uLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZFwiO1xufVxuLmljb24tdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7XG59XG4uaWNvbi16b29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZlwiO1xufVxuLmljb24tcGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MFwiO1xufVxuLmljb24tbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MVwiO1xufVxuLmljb24tcmVzaXplOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MlwiO1xufVxuLmljb24tYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjtcbn1cbi5pY29uLXBpYzE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7XG59XG4uaWNvbi1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzVcIjtcbn1cbi5pY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc2XCI7XG59XG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzdcIjtcbn1cbi5pY29uLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc5XCI7XG59XG4uaWNvbi11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjtcbn1cbi5pY29uLWJ1aWxkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3YVwiO1xufVxuLmljb24tY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7XG59XG4uaWNvbi1za2lsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDJcIjtcbn1cbi5pY29uLXNjaG9vbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDNcIjtcbn1cbi5pY29uLWxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ0XCI7XG59XG4uaWNvbi1sb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NVwiO1xufVxuLmljb24tbG9hZC1jOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NlwiO1xufVxuLmljb24tbG9hZC1kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0N1wiO1xufVxuLmljb24tbG9hZC1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiO1xufVxuIiwiQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUpvc2VmaW4rU2Fuczo0MDAsNzAwJztcbkBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1WYXJlbGErUm91bmQnO1xuYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuZW90P3Y9NC42LjNcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC42LjNcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZjI/dj00LjYuM1wiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmP3Y9NC42LjNcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjYuM1wiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5zdmc/dj00LjYuMyNmb250YXdlc29tZXJlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLmZhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgRm9udEF3ZXNvbWU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5mYS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyOyB9XG5cbi5mYS1wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjsgfVxuXG4uc2VjdGlvbi1jb250ZW50IHVsLCAuc2VjdGlvbi1jb250ZW50IG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9pbmFzLW5lZ3Jhc1wiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2JvaW5hcy1uZWdyYXMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2JvaW5hcy1uZWdyYXMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvYm9pbmFzLW5lZ3Jhcy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2JvaW5hcy1uZWdyYXMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9ib2luYXMtbmVncmFzLnN2ZyNib2luYXMtbmVncmFzXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcImJvaW5hcy1uZWdyYXNcIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiYm9pbmFzLW5lZ3Jhc1wiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5pY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDYyXCI7IH1cblxuLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjsgfVxuXG4uaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY0XCI7IH1cblxuLmljb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uaWNvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NlwiOyB9XG5cbi5pY29uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2N1wiOyB9XG5cbi5pY29uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OFwiOyB9XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OVwiOyB9XG5cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZhXCI7IH1cblxuLmljb24teW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmJcIjsgfVxuXG4uaWNvbi1tZW51OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2Y1wiOyB9XG5cbi5pY29uLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZFwiOyB9XG5cbi5pY29uLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZVwiOyB9XG5cbi5pY29uLXpvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZmXCI7IH1cblxuLmljb24tcGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3MFwiOyB9XG5cbi5pY29uLW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzFcIjsgfVxuXG4uaWNvbi1yZXNpemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDcyXCI7IH1cblxuLmljb24tYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzNcIjsgfVxuXG4uaWNvbi1waWMxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NFwiOyB9XG5cbi5pY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NVwiOyB9XG5cbi5pY29uLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc2XCI7IH1cblxuLmljb24tZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc3XCI7IH1cblxuLmljb24tbWVzc2FnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjsgfVxuXG4uaWNvbi11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzhcIjsgfVxuXG4uaWNvbi1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjsgfVxuXG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDFcIjsgfVxuXG4uaWNvbi1za2lsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDJcIjsgfVxuXG4uaWNvbi1zY2hvb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQzXCI7IH1cblxuLmljb24tbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDRcIjsgfVxuXG4uaWNvbi1sb29wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0NVwiOyB9XG5cbi5pY29uLWxvYWQtYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDZcIjsgfVxuXG4uaWNvbi1sb2FkLWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQ3XCI7IH1cblxuLmljb24tbG9hZC1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw0OFwiOyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmVkLWNvbnRhaW5lciwgLm1haW4tZm9vdGVyX19jb250YWluZXIsIC5jb250YWN0b19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZWQtaXRlbSwgLm1haW4tZm9vdGVyX19jb250YWluZXIgcCwgLmNvbnRhY3RvX19kYXRvcywgLmNvbnRhY3RvX19mb3JtIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVlbTsgfVxuXG4uZWQtaXRlbSB7XG4gIHdpZHRoOiBhdXRvOyB9XG4gIC5lZC1pdGVtLmVkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmJ1dHRvbiwgLmZvcm0tZm9vdGVyIC5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgcGFkZGluZzogMCAxLjVlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4ucy01IHtcbiAgd2lkdGg6IDUlOyB9XG5cbi5zLTEwIHtcbiAgd2lkdGg6IDEwJTsgfVxuXG4ucy0xNSB7XG4gIHdpZHRoOiAxNSU7IH1cblxuLnMtMjAge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zLTI1IHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4ucy0zMCB7XG4gIHdpZHRoOiAzMCU7IH1cblxuLnMtMzUge1xuICB3aWR0aDogMzUlOyB9XG5cbi5zLTQwIHtcbiAgd2lkdGg6IDQwJTsgfVxuXG4ucy00NSB7XG4gIHdpZHRoOiA0NSU7IH1cblxuLnMtNTAge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zLTU1IHtcbiAgd2lkdGg6IDU1JTsgfVxuXG4ucy02MCB7XG4gIHdpZHRoOiA2MCU7IH1cblxuLnMtNjUge1xuICB3aWR0aDogNjUlOyB9XG5cbi5zLTcwIHtcbiAgd2lkdGg6IDcwJTsgfVxuXG4ucy03NSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnMtODAge1xuICB3aWR0aDogODAlOyB9XG5cbi5zLTg1IHtcbiAgd2lkdGg6IDg1JTsgfVxuXG4ucy05MCB7XG4gIHdpZHRoOiA5MCU7IH1cblxuLnMtOTUge1xuICB3aWR0aDogOTUlOyB9XG5cbi5zLTEwMCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zLTEtMyB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnMtMi0zIHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4ucy0zLTMge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucy0xLTYge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zLTItNiB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnMtMy02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4ucy00LTYge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zLTUtNiB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnMtNi02IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubS01IHtcbiAgICB3aWR0aDogNSU7IH1cbiAgLm0tMTAge1xuICAgIHdpZHRoOiAxMCU7IH1cbiAgLm0tMTUge1xuICAgIHdpZHRoOiAxNSU7IH1cbiAgLm0tMjAge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm0tMjUge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm0tMzAge1xuICAgIHdpZHRoOiAzMCU7IH1cbiAgLm0tMzUge1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLm0tNDAge1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLm0tNDUge1xuICAgIHdpZHRoOiA0NSU7IH1cbiAgLm0tNTAge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm0tNTUge1xuICAgIHdpZHRoOiA1NSU7IH1cbiAgLm0tNjAge1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLm0tNjUge1xuICAgIHdpZHRoOiA2NSU7IH1cbiAgLm0tNzAge1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgLm0tNzUge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm0tODAge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLm0tODUge1xuICAgIHdpZHRoOiA4NSU7IH1cbiAgLm0tOTAge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgLm0tOTUge1xuICAgIHdpZHRoOiA5NSU7IH1cbiAgLm0tMTAwIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubS0xLTMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm0tMi0zIHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tLTMtMyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm0tMS02IHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tLTItNiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubS0zLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm0tNC02IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tLTUtNiB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubS02LTYge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5sLTUge1xuICAgIHdpZHRoOiA1JTsgfVxuICAubC0xMCB7XG4gICAgd2lkdGg6IDEwJTsgfVxuICAubC0xNSB7XG4gICAgd2lkdGg6IDE1JTsgfVxuICAubC0yMCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubC0yNSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubC0zMCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAubC0zNSB7XG4gICAgd2lkdGg6IDM1JTsgfVxuICAubC00MCB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAubC00NSB7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAubC01MCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubC01NSB7XG4gICAgd2lkdGg6IDU1JTsgfVxuICAubC02MCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAubC02NSB7XG4gICAgd2lkdGg6IDY1JTsgfVxuICAubC03MCB7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAubC03NSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubC04MCB7XG4gICAgd2lkdGg6IDgwJTsgfVxuICAubC04NSB7XG4gICAgd2lkdGg6IDg1JTsgfVxuICAubC05MCB7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAubC05NSB7XG4gICAgd2lkdGg6IDk1JTsgfVxuICAubC0xMDAge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubC0yLTMge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmwtMy0zIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubC0xLTYge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmwtMi02IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sLTMtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubC00LTYge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmwtNS02IHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sLTYtNiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54bC01IHtcbiAgICB3aWR0aDogNSU7IH1cbiAgLnhsLTEwIHtcbiAgICB3aWR0aDogMTAlOyB9XG4gIC54bC0xNSB7XG4gICAgd2lkdGg6IDE1JTsgfVxuICAueGwtMjAge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsLTI1IHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bC0zMCB7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAueGwtMzUge1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLnhsLTQwIHtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC54bC00NSB7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAueGwtNTAge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsLTU1IHtcbiAgICB3aWR0aDogNTUlOyB9XG4gIC54bC02MCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAueGwtNjUge1xuICAgIHdpZHRoOiA2NSU7IH1cbiAgLnhsLTcwIHtcbiAgICB3aWR0aDogNzAlOyB9XG4gIC54bC03NSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGwtODAge1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLnhsLTg1IHtcbiAgICB3aWR0aDogODUlOyB9XG4gIC54bC05MCB7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAueGwtOTUge1xuICAgIHdpZHRoOiA5NSU7IH1cbiAgLnhsLTEwMCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsLTEtMyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGwtMi0zIHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bC0zLTMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bC0xLTYge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsLTItNiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGwtMy02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bC00LTYge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsLTUtNiB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGwtNi02IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50by1jZW50ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udG8tbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cblxuLnRvLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuXG4uZnVsbCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm5vLXBhZGRpbmcuZWQtY29udGFpbmVyID4gLmVkLWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1yaWdodDogMGVtOyB9XG5cbi5uby1wYWRkaW5nLmVkLWl0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1yaWdodDogMGVtOyB9XG5cbi5wYWRkaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVlbTtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1ZW07IH1cblxuLnBhZGRpbmctMiB7XG4gIHBhZGRpbmctbGVmdDogMS44NzVlbTtcbiAgcGFkZGluZy1yaWdodDogMS44NzVlbTsgfVxuXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjgxMjVlbTtcbiAgcGFkZGluZy1yaWdodDogMi44MTI1ZW07IH1cblxuYm9keS5zdGlja3ktZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cbiAgYm9keS5zdGlja3ktZm9vdGVyID4gZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9XG5cbi5tYWluLWp1c3RpZnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ubWFpbi1kaXN0cmlidXRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4ubWFpbi1jZW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5tYWluLXN0YXJ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLm1haW4tZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5jcm9zcy1zdGFydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmNyb3NzLWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5jcm9zcy1lbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cblxuLmZsZXgtcmV2ZXJzZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbi5hYmNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZyb20tcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRvLXMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgLmZyb20tbSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRvLW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmZyb20tbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAudG8tbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgLmZyb20teGwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC50by14bCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5lZC12aWRlbyB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5lZC12aWRlbyA+IGlmcmFtZSxcbiAgLmVkLXZpZGVvID4gdmlkZW8gPiAudmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIGNvbG9yOiAjMzMzOyB9XG4gIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkMGQwZDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5idXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpOyB9XG5cbi52bW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAudm1vZGFsX19jb250YWluZXIge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMwMDA7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDc4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LWhlaWdodDogOTAlOyB9XG4gICAgLnZtb2RhbF9fY29udGFpbmVyID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnZtb2RhbF9fY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7IH1cbiAgICAudm1vZGFsX19jbG9zZTpiZWZvcmUge1xuICAgICAgdG9wOiAwOyB9XG4gIC52bW9kYWwgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmcuanBnXCIpIGNlbnRlciBjZW50ZXIvY292ZXIgZml4ZWQ7XG4gIGZvbnQtZmFtaWx5OiBcIlZhcmVsYSBSb3VuZFwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzRkNGQ0ZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG5cbmEge1xuICBjb2xvcjogaW5pdGlhbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5wLCBibG9ja3F1b3RlLCBsaSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAwIDA7IH1cbiAgcDpsYXN0LWNoaWxkLCBwOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSm9zZWZpbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub3JtYWw7XG4gIGNvbG9yOiAjNGQ0ZDRkO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuNmVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDAuOWVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAwLjhlbTsgfVxuXG5uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiA3ZW07IH1cblxuLm1haW4tbWVudSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tYWluLW1lbnUsIC5tYWluLW1lbnUgdWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWFpbi1tZW51IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmbGV4OiBhdXRvOyB9XG4gICAgLm1haW4tbWVudSBsaS5wYXJlbnQtc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWFpbi1tZW51IGxpLnBhcmVudC1zdWJtZW51IGEge1xuICAgICAgICBmbGV4OiBhdXRvOyB9XG4gIC5tYWluLW1lbnUgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWFpbi1tZW51IHVsLnNob3ctc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDM7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAubWFpbi1tZW51IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAzZW07XG4gICAgcGFkZGluZzogMCAxZW07IH1cbiAgICAubWFpbi1tZW51IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5tYWluLW1lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5tYWluLW1lbnUgYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm1haW4tbWVudSAuZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLm1haW4tbWVudSB1bCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLm1haW4tbWVudSB1bCBhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIC5tYWluLW1lbnUgdWwgdWwge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAxMDAlOyB9XG4gICAgICAubWFpbi1tZW51IGxpOmhvdmVyID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tYWluLW1lbnUgLmV4cGFuZC1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDNlbTtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLm1haW4tbWVudSAuZXhwYW5kLXN1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAubWFpbi1tZW51IC5leHBhbmQtc3VibWVudTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBoZWlnaHQ6IDQwJTtcbiAgICAgIHRvcDogMjAlO1xuICAgICAgbGVmdDogMzAlO1xuICAgICAgYm9yZGVyLWxlZnQ6IDAuNDVlbSBzb2xpZCAjNjY2O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC40NWVtIHNvbGlkICM2NjY7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjI0ZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zczsgfVxuICAgIC5tYWluLW1lbnUgLmV4cGFuZC1zdWJtZW51LmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAgIC5tYWluLW1lbnUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA4MXB4KSBhbmQgKG1heC13aWR0aDogMTE2MXB4KSB7XG4gICAgLm1haW4tbWVudSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAubWFpbi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogNHJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLm1haW4tbWVudSBsaSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5tYWluLW1lbnUgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNzMyNjI2OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5tYWluLW1lbnUgbGkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpOyB9XG4gICAgICAgIC5tYWluLW1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfSB9XG4gIC5tYWluLW1lbnUgYSB7XG4gICAgbGluZS1oZWlnaHQ6IDRyZW07XG4gICAgY29sb3I6ICNGREZERkQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IC45ZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAgIC5tYWluLW1lbnUgYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tYWluLW5hdiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgd2lkdGg6IDg1JTtcbiAgICByaWdodDogLTg1JTsgfVxuICAgIC5tYWluLW5hdi5zaG93LW1lbnUge1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuXG4udG9nZ2xlLW1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDMwMDtcbiAgd2lkdGg6IDEuOTVlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgYm94LXNoYWRvdzogMCAwLjM3NWVtIHJnYmEoMjUzLCAyNTMsIDI1MywgMC43NSkgaW5zZXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NWVtOyB9XG4gIC50b2dnbGUtbWVudTo6YWZ0ZXIsIC50b2dnbGUtbWVudTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDAuMzc1ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTMsIDI1MywgMjUzLCAwLjc1KTtcbiAgICBib3R0b206IDA7IH1cbiAgLnRvZ2dsZS1tZW51OjphZnRlciB7XG4gICAgYm90dG9tOiAwLjU2MjVlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAudG9nZ2xlLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tYWluLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM0LCAzNCwgMC45KTtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1MywgMjUzLCAyNTMsIDAuMyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBtYXgtaGVpZ2h0OiA0cmVtOyB9XG4gIC5tYWluLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDRyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgLm1haW4taGVhZGVyX19sb2dvIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1ZW07IH0gfVxuICAubWFpbi1oZWFkZXJfX2xvZ28gaDEge1xuICAgIGNvbG9yOiAjY2NhYzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1zaGFkb3c6IDJweCAycHggcmdiYSgxMDIsIDg2LCAwLCAwLjQpLFxyIDFweCAxcHggcmdiYSgxMDIsIDg2LCAwLCAwLjQpLFxyIDJweCAycHggcmdiYSgxMDIsIDg2LCAwLCAwLjQpLFxyIDNweCAzcHggcmdiYSgxMDIsIDg2LCAwLCAwLjQpOyB9XG4gICAgLm1haW4taGVhZGVyX19sb2dvIGgxIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDExNjFweCkge1xuICAgICAgLm1haW4taGVhZGVyX19sb2dvIGgxIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9IH1cblxuLmJsYWNrIHtcbiAgYmFja2dyb3VuZDogIzIyMiAhaW1wb3J0YW50OyB9XG5cbi5tYWluLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgYmFja2dyb3VuZDogIzk5MzMzMztcbiAgaGVpZ2h0OiAzZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG4gIC5tYWluLWZvb3Rlcl9fY29udGFpbmVyIHAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI0ZERkRGRDsgfVxuICAubWFpbi1mb290ZXJfX2NvbnRhaW5lciBzcGFuLCAubWFpbi1mb290ZXJfX2NvbnRhaW5lciBhIHtcbiAgICBtYXJnaW46IDAgNXB4OyB9XG4gIC5tYWluLWZvb3Rlcl9fY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLm1haW4tZm9vdGVyX19jb250YWluZXIgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5tYWluLWZvb3Rlcl9fY29udGFpbmVyIGEuZGV2IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5pbmljaW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2Jhbm5lci5qcGcpIGNlbnRlciBjZW50ZXIvY292ZXIgZml4ZWQgbm8tcmVwZWF0OyB9XG4gIC5pbmljaW9fX2xvZ28ge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkRGREZEO1xuICAgIHBhZGRpbmc6IDAuOTM3NWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDY0MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAgIC5pbmljaW9fX2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4OyB9IH1cblxuLm5vc290cm9zIHtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLm5vc290cm9zID4gLnNlY3Rpb24tY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubm9zb3Ryb3MgPiAuc2VjdGlvbi1jb250ZW50ID4gaDMge1xuICAgIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4uY2VkdWxhcy1jb250YW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIG1hcmdpbi1yaWdodDogLTFlbTsgfVxuICAuY2VkdWxhcy1jb250YW5lciA+IC5jZWR1bGFzLWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyZW0pO1xuICAgIG1hcmdpbjogMWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY2VkdWxhcy1jb250YW5lciA+IC5jZWR1bGFzLWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5jZWR1bGFzLWNvbnRhbmVyIHtcbiAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4uYXZpc29wcml2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC41ZW07XG4gIHJpZ2h0OiAuNWVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgLmF2aXNvcHJpdjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIGNvbG9yOiByZ2JhKDY4LCA2OCwgNjgsIDAuOCk7IH1cblxuLm1vZGFsLWlmcmFtZSAudm1vZGFsX19jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDkwJSAhaW1wb3J0YW50OyB9XG5cbi5tb2RhbC1pZnJhbWUgaWZyYW1lIHtcbiAgaGVpZ2h0OiA5OCUgIWltcG9ydGFudDsgfVxuXG4uZ2FsZXJ5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTsgfVxuICAuZ2FsZXJ5LWNvbnRhaW5lciA+IC5nYWxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS41ZW0pO1xuICAgIG1hcmdpbjogMC43NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsZXJ5LWNvbnRhaW5lciA+IC5nYWxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjVlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuZ2FsZXJ5LWNvbnRhaW5lciA+IC5nYWxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjVlbSk7IH0gfVxuXG4uZ2FsZXJ5LWl0ZW0ge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggIzAwMCwgMCAwIDAgM3B4ICNGREZERkQsIDAgMCAwIDVweCAjMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5nYWxlcnktaXRlbSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZ2FsZXJ5LWl0ZW0gYTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXDc0XCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgY29sb3I6ICNGREZERkQ7XG4gICAgICBmb250LWZhbWlseTogXCJib2luYXMtbmVncmFzXCI7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxuICAgIC5nYWxlcnktaXRlbSBhIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgIC5nYWxlcnktaXRlbSBhOmhvdmVyOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5nYWxlcnktaXRlbSBhOmhvdmVyIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0xMGRlZyk7IH1cblxuLmNvbnRhY3RvX19kYXRvcyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdG9fX2RhdG9zIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuY29udGFjdG9fX2RhdG9zIGgzLCAuY29udGFjdG9fX2RhdG9zIGg0LCAuY29udGFjdG9fX2RhdG9zIHAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jb250YWN0b19fZGF0b3MgaDMge1xuICAgIGZvbnQtc2l6ZTogM2VtOyB9XG4gIC5jb250YWN0b19fZGF0b3MgaDQge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgLmNvbnRhY3RvX19kYXRvcyAucC1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNDY4NzVlbTsgfVxuICAgIC5jb250YWN0b19fZGF0b3MgLnAtZ3JvdXA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVlbTsgfVxuICAuY29udGFjdG9fX2RhdG9zIHNwYW4ge1xuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XG4gIC5jb250YWN0b19fZGF0b3MgW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4OyB9XG4gIC5jb250YWN0b19fZGF0b3MgLmljb24tbWFwOjpiZWZvcmUge1xuICAgIHRvcDogNXB4OyB9XG4gIC5jb250YWN0b19fZGF0b3MgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuY29udGFjdG9fX2RhdG9zIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNvbnRhY3RvIC5tYXBhIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMTUzLCA1MSwgNTEsIDAuNSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbnRhY3RvIC5tYXBhIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFw3Mic7XG4gICAgZm9udC1mYW1pbHk6IFwiYm9pbmFzLW5lZ3Jhc1wiICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNvbnRhY3RvIC5tYXBhIGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjOTkzMzMzOyB9XG4gICAgLmNvbnRhY3RvIC5tYXBhIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uY29udGFjdG9fX2Zvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdG9fX2Zvcm0ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdG9fX2Zvcm0ge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1ZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1ZW07IH0gfVxuICAuY29udGFjdG9fX2Zvcm0gLnNlbGVjdC1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNGREZERkQ7IH1cbiAgICAuY29udGFjdG9fX2Zvcm0gLnNlbGVjdC1ncm91cCBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNvbnRhY3RvX19mb3JtIC5zZWxlY3QtZ3JvdXAgc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTMzMzM7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNDM3NWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgei1pbmRleDogNTAwOyB9XG4gICAgICAuY29udGFjdG9fX2Zvcm0gLnNlbGVjdC1ncm91cCBzZWxlY3Q6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTkzMzMzOyB9XG5cbi5mb3JtIHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1ZW07XG4gIHBhZGRpbmc6IDAuOTM3NWVtO1xuICBwYWRkaW5nLXRvcDogMS44NzVlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTMsIDI1MywgMjUzLCAwLjI1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5MzMzMzsgfVxuICAuZm9ybSAuaW5wdXQtZ3JvdXAsIC5mb3JtIC5pbnB1dC1ncm91cC10ZXh0YXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzQzNzVlbTsgfVxuICAgIC5mb3JtIC5pbnB1dC1ncm91cCBzcGFuLCAuZm9ybSAuaW5wdXQtZ3JvdXAtdGV4dGFyZWEgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvcm0gLmlucHV0LWdyb3VwIGxhYmVsLCAuZm9ybSAuaW5wdXQtZ3JvdXAgaW5wdXQsIC5mb3JtIC5pbnB1dC1ncm91cC10ZXh0YXJlYSBsYWJlbCwgLmZvcm0gLmlucHV0LWdyb3VwLXRleHRhcmVhIGlucHV0IHtcbiAgICAgIGhlaWdodDogMnJlbTsgfVxuICAgIC5mb3JtIC5pbnB1dC1ncm91cCBsYWJlbCwgLmZvcm0gLmlucHV0LWdyb3VwLXRleHRhcmVhIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBjb2xvcjogIzk5MzMzMzsgfVxuICAgIC5mb3JtIC5pbnB1dC1ncm91cCBpbnB1dCwgLmZvcm0gLmlucHV0LWdyb3VwIHRleHRhcmVhLCAuZm9ybSAuaW5wdXQtZ3JvdXAtdGV4dGFyZWEgaW5wdXQsIC5mb3JtIC5pbnB1dC1ncm91cC10ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTkzMzMzO1xuICAgICAgZm9udC1mYW1pbHk6IFwiVmFyZWxhIFJvdW5kXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgICAgLmZvcm0gLmlucHV0LWdyb3VwIGlucHV0OmZvY3VzLCAuZm9ybSAuaW5wdXQtZ3JvdXAgdGV4dGFyZWE6Zm9jdXMsIC5mb3JtIC5pbnB1dC1ncm91cC10ZXh0YXJlYSBpbnB1dDpmb2N1cywgLmZvcm0gLmlucHV0LWdyb3VwLXRleHRhcmVhIHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuZm9ybSAuaW5wdXQtZ3JvdXAgaW5wdXQ6Zm9jdXMgKyBsYWJlbCwgLmZvcm0gLmlucHV0LWdyb3VwIHRleHRhcmVhOmZvY3VzICsgbGFiZWwsIC5mb3JtIC5pbnB1dC1ncm91cC10ZXh0YXJlYSBpbnB1dDpmb2N1cyArIGxhYmVsLCAuZm9ybSAuaW5wdXQtZ3JvdXAtdGV4dGFyZWEgdGV4dGFyZWE6Zm9jdXMgKyBsYWJlbCB7XG4gICAgICAgICAgdG9wOiAtMS41ZW07XG4gICAgICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgICAgICBsZWZ0OiAwOyB9XG4gICAgLmZvcm0gLmlucHV0LWdyb3VwIHRleHRhcmVhLCAuZm9ybSAuaW5wdXQtZ3JvdXAtdGV4dGFyZWEgdGV4dGFyZWEge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBtaW4taGVpZ2h0OiAycmVtOyB9XG4gICAgICAuZm9ybSAuaW5wdXQtZ3JvdXAgdGV4dGFyZWEgKyBsYWJlbCwgLmZvcm0gLmlucHV0LWdyb3VwLXRleHRhcmVhIHRleHRhcmVhICsgbGFiZWwge1xuICAgICAgICB0b3A6IDdweDsgfVxuICAgICAgLmZvcm0gLmlucHV0LWdyb3VwIHRleHRhcmVhOmZvY3VzLCAuZm9ybSAuaW5wdXQtZ3JvdXAtdGV4dGFyZWEgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICBtaW4taGVpZ2h0OiA0cmVtOyB9XG4gIC5mb3JtIC5pbnB1dC1ncm91cC10ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1ZW07IH1cbiAgLmZvcm0gLmlucHV0LWdyb3VwLmxsZW5vIGxhYmVsIHtcbiAgICB0b3A6IC0xLjVlbTtcbiAgICBmb250LXNpemU6IC44NWVtO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmZvcm0gLmlucHV0LWdyb3VwLXRleHRhcmVhLmxsZW5vIGxhYmVsIHtcbiAgICB0b3A6IC0xLjVlbTtcbiAgICBmb250LXNpemU6IC44NWVtO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmZvcm0gLmlucHV0LWdyb3VwLXRleHRhcmVhLmxsZW5vIHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiA0cmVtOyB9XG5cbi5mb3JtLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZvcm0tZm9vdGVyIC5ib3RvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZm9ybS1mb290ZXIgLm1lc3NhZ2VzIHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5mb3JtLWZvb3RlciAuYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTkzMzMzO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGNvbG9yOiAjRkRGREZEO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZm9ybS1mb290ZXIgLmJ0bjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjODYyZDJkO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmZvcm0tZm9vdGVyIC5idG46YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZm9ybS1mb290ZXIgLmJ0biB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG5cbi5zdWNjZXNzLCAuZXJyb3Ige1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIGNvbG9yOiByZ2JhKDI1MywgMjUzLCAyNTMsIDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IGRhcmtncmVlbjsgfVxuXG4uZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkOyB9XG5cbi5yYWRpby1ncm91cCB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NWVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAucmFkaW8tZ3JvdXAgLnJhZGlvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxcHg7IH1cbiAgICAucmFkaW8tZ3JvdXAgLnJhZGlvcyBpbnB1dCB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAucmFkaW8tZ3JvdXAgLnJhZGlvcyBpbnB1dDpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnJhZGlvLWdyb3VwIHAge1xuICAgIGNvbG9yOiAjOTkzMzMzOyB9XG5cbiNmb3JtLXJlY2x1dGFtaWVudG8sICNmb3JtLWNvdGl6YWNpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uZXR3b3JrIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1ZW07IH1cbiAgLm5ldHdvcmsgYSB7XG4gICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjNGQ0ZDRkO1xuICAgIG1hcmdpbi1yaWdodDogMC45Mzc1ZW07XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgIC5uZXR3b3JrIGE6bnRoLWNoaWxkKDMpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5uZXR3b3JrIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTMsIDUxLCA1MSwgMC45NSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogI0ZERkRGRDsgfVxuXG4uaWNvbi1sb2FkLWIge1xuICBhbmltYXRpb246IGdpcmFyIDNzIGxpbmVhciBpbmZpbml0ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB5ZWxsb3c7XG4gIGZvbnQtc2l6ZTogLjVlbTsgfVxuXG5Aa2V5ZnJhbWVzIGdpcmFyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wOyB9IH1cblxuLmZhLXNwaW5uZXI6YmVmb3JlIHtcbiAgcGFkZGluZzogMCAxLjVlbTsgfVxuXG4uYWNjZXN0b21haWwge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVlbTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgaGVpZ2h0OiAxNS42MjVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDNlbTtcbiAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGNvbG9yOiAjRkRGREZEOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuLnNlY3Rpb24tY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICM5OTMzMzM7XG4gIHBhZGRpbmc6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtNy44MTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuc2VjdGlvbi1jb250ZW50IGgzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI0ZERkRGRDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVlbTsgfVxuICAuc2VjdGlvbi1jb250ZW50IHVsLCAuc2VjdGlvbi1jb250ZW50IG9sIHtcbiAgICBjb2xvcjogI0ZERkRGRDtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgICAgLnNlY3Rpb24tY29udGVudCB1bCwgLnNlY3Rpb24tY29udGVudCBvbCB7XG4gICAgICAgIG1heC13aWR0aDogNzAlOyB9IH1cbiAgICAuc2VjdGlvbi1jb250ZW50IHVsIGxpLCAuc2VjdGlvbi1jb250ZW50IG9sIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNDY4NzVlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAuc2VjdGlvbi1jb250ZW50IHAge1xuICAgIGNvbG9yOiAjRkRGREZEO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVlbTsgfVxuIiwiLy8gUldEIEJhc2VzXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbiAgICAgIDogMDtcbiAgZm9udC1mYW1pbHkgOiBzYW5zLXNlcmlmO1xufVxuXG4vLyBJbcOhZ2VuZXMgcmVzcG9uc2l2ZVxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoIDogMTAwJTtcbiAgaGVpZ2h0ICAgIDogYXV0bztcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG5cbiAgJjpob3ZlciB7IHRleHQtZGVjb3JhdGlvbiA6IHVuZGVybGluZSB9XG59XG4iLCIlZWQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5ICAgICAgOiBmbGV4O1xyXG4gIGZsZXgtd3JhcCAgICA6IHdyYXA7XHJcbiAgbWF4LXdpZHRoICAgIDogJG1heC13aWR0aDtcclxuICBtYXJnaW4tbGVmdCAgOiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodCA6IGF1dG87XHJcbiAgd2lkdGggICAgICAgIDogMTAwJTtcclxufVxyXG5cclxuJWVkLWl0ZW0ge1xyXG4gIG1hcmdpbiAgICAgICAgOiAwO1xyXG4gIHBhZGRpbmctbGVmdCAgOiAkZ3V0dGVyO1xyXG4gIHBhZGRpbmctcmlnaHQgOiAkZ3V0dGVyO1xyXG59XHJcblxyXG5AbWl4aW4gZWRDb250YWluZXIge1xyXG4gIEBleHRlbmQgJWVkLWNvbnRhaW5lcjtcclxuXHJcbiAgQGlmICRkZXZNb2RlID09IHRydWUge1xyXG4gICAgQGluY2x1ZGUgZGV2TW9kZUNvbnRhaW5lcigpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZ1bGwge1xyXG4gIG1heC13aWR0aCA6IDEwMCU7XHJcbn1cclxuXHJcbkBtaXhpbiBlZEl0ZW1XaWR0aCgkY3VycmVudEJwLCAkcHJldkJwLCAkY29yZUJwKXtcclxuICBAaWYgJGN1cnJlbnRCcCAhPSAkcHJldkJwe1xyXG4gICAgQGlmICRjdXJyZW50QnAgPCAxIHtcclxuICAgICAgQGluY2x1ZGUgZnJvbSgkY29yZUJwKXtcclxuICAgICAgICB3aWR0aCA6ICRjdXJyZW50QnAgKiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIEBpbmNsdWRlIGZyb20oJGNvcmVCcCl7XHJcbiAgICAgICAgd2lkdGggOiAkY3VycmVudEJwICogMSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBlZEl0ZW0oJHM6YXV0bywkbTokcywkbDokbSwkeGw6JGwpIHtcclxuICBAZXh0ZW5kICVlZC1pdGVtO1xyXG5cclxuICBAaWYgJGRldk1vZGUgPT0gdHJ1ZSB7XHJcbiAgICBAaW5jbHVkZSBkZXZNb2RlSXRlbSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZnJhY3Rpb25zIGRldGVjdGlvbiAoPjEpXHJcbiAgLy8gZGV0ZWN0YXIgc2kgc2UgcGFzw7MgdW5hIGZyYWNjaW9uICg+MSlcclxuICBAaWYgJHMgPT0gYXV0byB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICB9IEBlbHNlIGlmICRzIDwgMSB7XHJcbiAgICB3aWR0aCA6ICRzICogMTAwJTtcclxuICB9IEBlbHNlIHtcclxuICAgIHdpZHRoIDogJHMgKiAxJTtcclxuICB9XHJcblxyXG4gIC8vIHdpZHRocyBmb3IgZWFjaCBicmVha3BvaW50XHJcbiAgLy8gYW5jaG9zIHBhcmEgY2FkYSBicmVha3BvaW50XHJcbiAgQGluY2x1ZGUgZWRJdGVtV2lkdGgoJG0sJHMsbSk7IC8vbWVkaXVtXHJcbiAgQGluY2x1ZGUgZWRJdGVtV2lkdGgoJGwsJG0sbCk7IC8vbGFyZ2VcclxuICBAaW5jbHVkZSBlZEl0ZW1XaWR0aCgkeGwsJGwseGwpOyAvL3hsYXJnZVxyXG59XHJcblxyXG4uI3skY29udGFpbmVyfSB7IEBpbmNsdWRlIGVkQ29udGFpbmVyKCkgfVxyXG5cclxuLiN7JGl0ZW19IHtcclxuICBAaW5jbHVkZSBlZEl0ZW0oKTtcclxuXHJcbiAgJi4jeyRjb250YWluZXJ9e1xyXG4gICAgcGFkZGluZy1sZWZ0IDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQgOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnJlYWtwb2ludHNcclxuQG1peGluIGNvcmVHcmlkKCl7XHJcbiAgQGVhY2ggJHNpemUsICRzY3JlZW4tc2l6ZSBpbiAkYnJlYWtwb2ludHN7XHJcbiAgICBAaWYgJHNpemUgPT0gcyB7XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMjAge1xyXG4gICAgICAgIC5zLSN7JGkqNX0geyB3aWR0aDogdW5xdW90ZSgkaSo1ICsgXCIlXCIpIH1cclxuICAgICAgfVxyXG4gICAgICBAZWFjaCAkZnJhY3Rpb24gaW4gJGZyYWN0aW9uc3tcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmcmFjdGlvbntcclxuICAgICAgICAgIC5zLSN7JGl9LSN7JGZyYWN0aW9ufSB7IHdpZHRoOiAoMTAwJSAvICRmcmFjdGlvbikgKiAkaSB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplKXtcclxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDIwIHtcclxuICAgICAgICAgIC4jeyRzaXplfS0jeyRpKjV9IHsgd2lkdGg6IHVucXVvdGUoJGkqNSArIFwiJVwiKSB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlYWNoICRmcmFjdGlvbiBpbiAkZnJhY3Rpb25zIHtcclxuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZyYWN0aW9ue1xyXG4gICAgICAgICAgICAuI3skc2l6ZX0tI3skaX0tI3skZnJhY3Rpb259IHsgd2lkdGg6ICgxMDAlIC8gJGZyYWN0aW9uKSAqICRpIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQGZ1bmN0aW9uIGVtKCRlbCwkY29udGV4dDoxNnB4KSB7XHJcbiAgQGlmIHR5cGVfb2YoJGVsKSA9PSBudW1iZXIgYW5kIHVuaXQoJGVsKSA9PSAncHgnIHtcclxuICAgIEByZXR1cm4gKCRlbCAvICRjb250ZXh0KSAqIDFlbTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnRnVuY3Rpb24gZW0oKSByZXF1aXJlcyBhIHB4IHVuaXQgYXMgZmlyc3QgYXJndW1lbnQgLyBMYSBmdW5jacOzbiBlbSgpIHJlcXVpZXJlIHVuYSB1bmlkYWQgZGUgcGl4ZWxlcyBjb21vIHByaW1lciBhcmd1bWVudG8gKGVsIHNlZ3VuZG8gZXMgb3BjaW9uYWwpJ1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkZWwpIHtcclxuICBAaWYgdHlwZV9vZigkZWwpID09IG51bWJlciBhbmQgdW5pdCgkZWwpID09ICdweCcge1xyXG4gICAgQHJldHVybiAoJGVsIC8gMTZweCkgKiAxcmVtO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdGdW5jdGlvbiByZW0oKSByZXF1aXJlcyBhIHB4IHVuaXQgYXMgYXJndW1lbnQgLyBMYSBmdW5jaW9uIHJlbSgpIHJlcXVpZXJlIHVuYSB1bmlkYWQgZGUgcGl4ZWxlcyBjb21vIGFyZ3VtZW50byc7XHJcbiAgfVxyXG59XHJcbiIsIiVidXR0b24ge1xyXG4gIGRpc3BsYXkgICAgICAgOiBpbmxpbmUtYmxvY2s7XHJcbiAgbGluZS1oZWlnaHQgICA6IDIuNWVtO1xyXG4gIHBhZGRpbmcgICAgICAgOiAwIDEuNWVtO1xyXG4gIGN1cnNvciAgICAgICAgOiBwb2ludGVyO1xyXG4gIG1hcmdpbi1ib3R0b20gOiAxZW07XHJcbiAgYm9yZGVyICAgICAgICA6IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24oJGJnLWNvbG9yOiAjZGRkLCRmcm9udC1jb2xvcjogIzMzMywkc3R5bGU6IGRlZmF1bHQpIHtcclxuICBAZXh0ZW5kICAgICVidXR0b247XHJcbiAgYmFja2dyb3VuZCA6ICRiZy1jb2xvcjtcclxuICBjb2xvciAgICAgIDogJGZyb250LWNvbG9yO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQgICAgICA6IGRhcmtlbigkYmctY29sb3IsIDUpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybSA6IHNjYWxlKC45Nyk7XHJcbiAgfVxyXG5cclxuICAvLyBlc3RpbG9zIGRlbCBib3RvbiAocmFkaXVzIG8gcm91bmQpXHJcbiAgQGlmICRzdHlsZSA9PSByYWRpdXMge1xyXG4gICAgYm9yZGVyLXJhZGl1cyA6IC4yNWVtO1xyXG4gIH0gQGVsc2UgaWYgJHN0eWxlID09IHJvdW5kIHtcclxuICAgIGJvcmRlci1yYWRpdXMgOiAxLjI1ZW07XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBwYWRkaW5nKCRudW1lcm86MSl7XHJcbiAgcGFkZGluZy1sZWZ0ICA6ICRndXR0ZXIgKiAkbnVtZXJvO1xyXG4gIHBhZGRpbmctcmlnaHQgOiAkZ3V0dGVyICogJG51bWVybztcclxufVxyXG5cclxuQG1peGluIG5vUGFkZGluZ0NvbnRhaW5lcigpe1xyXG4gID4gLiN7JGl0ZW19IHsgQGluY2x1ZGUgcGFkZGluZygwKSB9XHJcbn1cclxuXHJcbkBtaXhpbiByYXRpbygkaCwkdikge1xyXG4gICR3aWR0aCAgICAgICAgIDogMTAwJTtcclxuICB3aWR0aCAgICAgICAgICA6ICR3aWR0aDtcclxuICBoZWlnaHQgICAgICAgICA6IDA7XHJcbiAgb3ZlcmZsb3cgICAgICAgOiBoaWRkZW47XHJcbiAgcGFkZGluZy1ib3R0b20gOiAkd2lkdGggKiAoJHYvJGgpO1xyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudCA6IFwiXCI7XHJcbiAgICB3aWR0aCAgIDogMTAwJTtcclxuICAgIGRpc3BsYXkgOiB0YWJsZTtcclxuICAgIGNsZWFyICAgOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHRvUmlnaHQoJHdpZHRoOmF1dG8sJG1hcmdpbi1sZWZ0OjFlbSl7XHJcbiAgZmxvYXQgICAgICAgOiByaWdodDtcclxuICB3aWR0aCAgICAgICA6ICR3aWR0aDtcclxuICBtYXJnaW4tbGVmdCA6ICRtYXJnaW4tbGVmdDtcclxufVxyXG5cclxuQG1peGluIHRvTGVmdCgkd2lkdGg6YXV0bywkbWFyZ2luLXJpZ2h0OjFlbSl7XHJcbiAgZmxvYXQgICAgICAgIDogbGVmdDtcclxuICB3aWR0aCAgICAgICAgOiAkd2lkdGg7XHJcbiAgbWFyZ2luLXJpZ2h0IDogJG1hcmdpbi1yaWdodDtcclxufVxyXG5cclxuQG1peGluIHRvQ2VudGVyKCR3aWR0aDphdXRvKXtcclxuICBkaXNwbGF5ICAgICAgOiB0YWJsZTtcclxuICB3aWR0aCAgICAgICAgOiAkd2lkdGg7XHJcbiAgbWFyZ2luLWxlZnQgIDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQgOiBhdXRvO1xyXG4gIHRleHQtYWxpZ24gICA6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGNpcmNsZSB7IGJvcmRlci1yYWRpdXMgOiA1MCUgfVxyXG5cclxuQG1peGluIGNsZWFyZml4KCl7XHJcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgY29udGVudCA6IFwiXCI7XHJcbiAgICBkaXNwbGF5IDogdGFibGU7XHJcbiAgICB3aWR0aCAgIDogMTAwJTtcclxuICAgIGNsZWFyICAgOiBib3RoO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGZ1bGwoKXtcclxuICB3aWR0aCAgICAgOiAxMDAlO1xyXG4gIG1heC13aWR0aCA6IDEwMCU7XHJcbiAgY2xlYXIgICAgIDogYm90aDtcclxufVxyXG5cclxuQG1peGluIHN0aWNreUZvb3RlciB7XHJcbiAgQGF0LXJvb3Qge1xyXG4gICAgYm9keSB7XHJcbiAgICAgIGRpc3BsYXkgICAgICAgIDogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb24gOiBjb2x1bW47XHJcbiAgICAgIG1pbi1oZWlnaHQgICAgIDogMTAwdmg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wIDogYXV0bztcclxufVxyXG5cclxuQG1peGluIGNzc1N0eWNreUZvb3RlciB7XHJcbiAgZGlzcGxheSAgICAgICAgOiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uIDogY29sdW1uO1xyXG4gIG1pbi1oZWlnaHQgICAgIDogMTAwdmg7XHJcblxyXG4gID4gZm9vdGVyIHsgbWFyZ2luLXRvcCA6IGF1dG8gfVxyXG59XHJcblxyXG4vLyBWZXJzaW9uZXMgQ1NTXHJcbkBtaXhpbiBoZWxwZXJzIHtcclxuICAudG8tY2VudGVyICAgICAgICAgICAgICAgIHsgQGluY2x1ZGUgdG9DZW50ZXIoKSAgICAgICAgICAgfVxyXG4gIC50by1sZWZ0ICAgICAgICAgICAgICAgICAgeyBAaW5jbHVkZSB0b0xlZnQoKSAgICAgICAgICAgICB9XHJcbiAgLnRvLXJpZ2h0ICAgICAgICAgICAgICAgICB7IEBpbmNsdWRlIHRvUmlnaHQoKSAgICAgICAgICAgIH1cclxuICAuZnVsbCAgICAgICAgICAgICAgICAgICAgIHsgQGluY2x1ZGUgZnVsbCgpICAgICAgICAgICAgICAgfVxyXG4gIC5jaXJjbGUgICAgICAgICAgICAgICAgICAgeyBAaW5jbHVkZSBjaXJjbGUoKSAgICAgICAgICAgICB9XHJcbiAgLmNsZWFyZml4ICAgICAgICAgICAgICAgICB7IEBpbmNsdWRlIGNsZWFyZml4KCkgICAgICAgICAgIH1cclxuICAubm8tcGFkZGluZy4jeyRjb250YWluZXJ9IHsgQGluY2x1ZGUgbm9QYWRkaW5nQ29udGFpbmVyKCkgfVxyXG4gIC5uby1wYWRkaW5nLiN7JGl0ZW19ICAgICAgeyBAaW5jbHVkZSBwYWRkaW5nKDApICAgICAgICAgICB9XHJcbiAgLnBhZGRpbmcgICAgICAgICAgICAgICAgICB7IEBpbmNsdWRlIHBhZGRpbmcoMSkgICAgICAgICAgIH1cclxuICAucGFkZGluZy0yICAgICAgICAgICAgICAgIHsgQGluY2x1ZGUgcGFkZGluZygyKSAgICAgICAgICAgfVxyXG4gIC5wYWRkaW5nLTMgICAgICAgICAgICAgICAgeyBAaW5jbHVkZSBwYWRkaW5nKDMpICAgICAgICAgICB9XHJcbiAgYm9keS5zdGlja3ktZm9vdGVyICAgICAgICB7IEBpbmNsdWRlIGNzc1N0eWNreUZvb3RlcigpICAgIH1cclxufVxyXG5cclxuIiwiQG1peGluIGZsZXhPcmRlciB7XHJcbiAgLy8gU29sbyBleGlzdGUgcGFyYSBjc3MsIGVzIGlubmVjZXNhcmlvIGVuIFNhc3MgKHVuYSBzb2xhIGzDrW5lYSlcclxuICBAZWFjaCAkc2l6ZSwgJHNjcmVlbi1zaXplIGluICRicmVha3BvaW50c3tcclxuICAgIEBpZiAkc2l6ZSA9PSBzIHtcclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMCB7XHJcbiAgICAgICAgLiN7JHNpemV9LW9yZGVyLSN7JGl9IHtcclxuICAgICAgICAgIG9yZGVyOiAkaTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xyXG4gICAgICAgICAgLiN7JHNpemV9LW9yZGVyLSN7JGl9IHtcclxuICAgICAgICAgICAgb3JkZXI6ICRpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQWxpbmVhY2lvbiBlbiBlbCBtYWluIGF4aXNcclxuLy8gQXBsaWNhbiBhbCBmbGV4LWNvbnRhaW5lclxyXG5AbWl4aW4gZmxleCB7XHJcbiAgZGlzcGxheSAgIDogZmxleDtcclxuICBmbGV4LXdyYXAgOiB3cmFwO1xyXG59XHJcblxyXG5AbWl4aW4gbWFpbkp1c3RpZnkge1xyXG4gIEBpbmNsdWRlIGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50IDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuQG1peGluIGNzc01haW5KdXN0aWZ5IHtcclxuICBAZWFjaCAkc2l6ZSwgJHNjcmVlbi1zaXplIGluICRicmVha3BvaW50cyB7XHJcbiAgICBAaWYgJHNpemUgPT0gcyB7XHJcbiAgICAgIC4jeyRzaXplfS1qdXN0aWZ5IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudCA6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIC4jeyRzaXplfS1qdXN0aWZ5IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1haW5EaXN0cmlidXRlIHtcclxuICBAaW5jbHVkZSBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudCA6IHNwYWNlLWFyb3VuZDtcclxufVxyXG5cclxuQG1peGluIGNzc01haW5EaXN0cmlidXRlIHtcclxuICBAZWFjaCAkc2l6ZSwgJHNjcmVlbi1zaXplIGluICRicmVha3BvaW50cyB7XHJcbiAgICBAaWYgJHNpemUgPT0gcyB7XHJcbiAgICAgIC4jeyRzaXplfS1kaXN0cmlidXRlIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudCA6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc2l6ZSl7XHJcbiAgICAgICAgLiN7JHNpemV9LWRpc3RyaWJ1dGUge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudCA6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYWluQ2VudGVyIHtcclxuICBAaW5jbHVkZSBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcclxufVxyXG5cclxuQG1peGluIGNzc01haW5DZW50ZXIge1xyXG4gIEBlYWNoICRzaXplLCAkc2NyZWVuLXNpemUgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkc2l6ZSA9PSBzIHtcclxuICAgICAgLiN7JHNpemV9LW1haW4tY2VudGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc2l6ZSl7XHJcbiAgICAgICAgLiN7JHNpemV9LW1haW4tY2VudGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFpblN0YXJ0e1xyXG4gIEBpbmNsdWRlIGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50IDogZmxleC1zdGFydDtcclxufVxyXG5cclxuQG1peGluIGNzc01haW5TdGFydHtcclxuICBAZWFjaCAkc2l6ZSwgJHNjcmVlbi1zaXplIGluICRicmVha3BvaW50cyB7XHJcbiAgICBAaWYgJHNpemUgPT0gcyB7XHJcbiAgICAgIC4jeyRzaXplfS1tYWluLXN0YXJ0IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudCA6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIC4jeyRzaXplfS1tYWluLXN0YXJ0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQgOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1haW5FbmR7XHJcbiAgQGluY2x1ZGUgZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQgOiBmbGV4LWVuZDtcclxufVxyXG5cclxuQG1peGluIGNzc01haW5FbmR7XHJcbiAgQGVhY2ggJHNpemUsICRzY3JlZW4tc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRzaXplID09IHMge1xyXG4gICAgICAuI3skc2l6ZX0tbWFpbi1lbmQge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50IDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIC4jeyRzaXplfS1tYWluLWVuZCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50IDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbGluZWFjacOzbiBlbiBlbCBjcm9zcyBheGlzLiBBcGxpY2FuIGFsIGZsZXgtY29udGFpbmVyXHJcbkBtaXhpbiBjcm9zc1N0YXJ0e1xyXG4gIEBpbmNsdWRlIGZsZXg7XHJcbiAgYWxpZ24taXRlbXMgICA6IGZsZXgtc3RhcnQ7XHJcbiAgYWxpZ24tY29udGVudCA6IGZsZXgtc3RhcnQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjc3NDcm9zc1N0YXJ0e1xyXG4gIEBlYWNoICRzaXplLCAkc2NyZWVuLXNpemUgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkc2l6ZSA9PSBzIHtcclxuICAgICAgLiN7JHNpemV9LWNyb3NzLXN0YXJ0IHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zICAgOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQgOiBmbGV4LXN0YXJ0O1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplKXtcclxuICAgICAgICAuI3skc2l6ZX0tY3Jvc3Mtc3RhcnQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zICAgOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgYWxpZ24tY29udGVudCA6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gY3Jvc3NDZW50ZXIge1xyXG4gIEBpbmNsdWRlIGZsZXg7XHJcbiAgYWxpZ24taXRlbXMgICA6IGNlbnRlcjtcclxuICBhbGlnbi1jb250ZW50IDogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gY3NzQ3Jvc3NDZW50ZXIge1xyXG4gIEBlYWNoICRzaXplLCAkc2NyZWVuLXNpemUgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkc2l6ZSA9PSAwIHtcclxuICAgICAgLiN7JHNpemV9LWNyb3NzLWNlbnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtcyAgIDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQgOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIC4jeyRzaXplfS1jcm9zcy1jZW50ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zICAgOiBjZW50ZXI7XHJcbiAgICAgICAgICBhbGlnbi1jb250ZW50IDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGNyb3NzRW5kIHtcclxuICBAaW5jbHVkZSBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zICAgOiBmbGV4LWVuZDtcclxuICBhbGlnbi1jb250ZW50IDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbkBtaXhpbiBjc3NDcm9zc0VuZCB7XHJcbiAgQGVhY2ggJHNpemUsICRzY3JlZW4tc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRzaXplID09IHMge1xyXG4gICAgICAuI3skc2l6ZX0tY3Jvc3MtZW5kIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zICAgOiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1jb250ZW50IDogZmxleC1lbmQ7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIC4jeyRzaXplfS1jcm9zcy1lbmQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zICAgOiBmbGV4LWVuZDtcclxuICAgICAgICAgIGFsaWduLWNvbnRlbnQgOiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIE9yaWVudGFjacOzbiBkZWwgY29udGFpbmVyXHJcbkBtaXhpbiBmbGV4UmV2ZXJzZSB7XHJcbiAgQGluY2x1ZGUgZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbiA6IHJvdy1yZXZlcnNlO1xyXG59XHJcblxyXG5AbWl4aW4gY3NzRmxleFJldmVyc2V7XHJcbiAgQGVhY2ggJHNpemUsICRzY3JlZW4tc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRzaXplID09IHMge1xyXG4gICAgICAuI3skc2l6ZX0tcmV2ZXJzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbiA6IHJvdy1yZXZlcnNlO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplKXtcclxuICAgICAgICAuI3skc2l6ZX0tcmV2ZXJzZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb24gOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4Q29sdW1uIHtcclxuICBAaW5jbHVkZSBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uIDogY29sdW1uO1xyXG59XHJcblxyXG5AbWl4aW4gY3NzRmxleENvbHVtbiB7XHJcbiAgQGVhY2ggJHNpemUsICRzY3JlZW4tc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgQGlmICRzaXplID09IHMge1xyXG4gICAgICAuI3skc2l6ZX0tY29sdW1uIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uIDogY29sdW1uO1xyXG4gICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJHNjcmVlbi1zaXplKXtcclxuICAgICAgICAuI3skc2l6ZX0tY29sdW1uIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbiA6IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4Q29sdW1uUmV2ZXJzZSB7XHJcbiAgQGluY2x1ZGUgZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbiA6IGNvbHVtbi1yZXZlcnNlO1xyXG59XHJcblxyXG5AbWl4aW4gY3NzRmxleENvbHVtblJldmVyc2Uge1xyXG4gIEBlYWNoICRzaXplLCAkc2NyZWVuLXNpemUgaW4gJGJyZWFrcG9pbnRzIHtcclxuICAgIEBpZiAkc2l6ZSA9PSBzIHtcclxuICAgICAgLiN7JHNpemV9LWNvbHVtbi1yZXZlcnNlIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uIDogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNpemUpe1xyXG4gICAgICAgIC4jeyRzaXplfS1jb2x1bW4tcmV2ZXJzZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb24gOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIENlbnRyYWRvIGFic29sdXRvICh2ZXJ0aWNhbCB5IGhvcml6b250YWwpXHJcbkBtaXhpbiBmbGV4Q2VudGVyKCRjaGlsZDogbnVsbCkge1xyXG4gIGRpc3BsYXkgICAgICAgICA6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50IDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zICAgICA6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduICAgICAgOiBjZW50ZXI7XHJcblxyXG4gIEBpZiAkY2hpbGQgIT0gbnVsbCB7XHJcbiAgICAjeyRjaGlsZH17XHJcbiAgICAgIG1hcmdpbiA6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBWZXJzaW9uZXMgQ1NTXHJcbkBtaXhpbiBmbGV4Q3NzSGVscGVycyB7XHJcbiAgLm1haW4tanVzdGlmeSAgICAgICAgeyBAaW5jbHVkZSBtYWluSnVzdGlmeSAgICAgICB9XHJcbiAgLm1haW4tZGlzdHJpYnV0ZSAgICAgeyBAaW5jbHVkZSBtYWluRGlzdHJpYnV0ZSAgICB9XHJcbiAgLm1haW4tY2VudGVyICAgICAgICAgeyBAaW5jbHVkZSBtYWluQ2VudGVyICAgICAgICB9XHJcbiAgLm1haW4tc3RhcnQgICAgICAgICAgeyBAaW5jbHVkZSBtYWluU3RhcnQgICAgICAgICB9XHJcbiAgLm1haW4tZW5kICAgICAgICAgICAgeyBAaW5jbHVkZSBtYWluRW5kICAgICAgICAgICB9XHJcbiAgLmNyb3NzLXN0YXJ0ICAgICAgICAgeyBAaW5jbHVkZSBjcm9zc1N0YXJ0ICAgICAgICB9XHJcbiAgLmNyb3NzLWNlbnRlciAgICAgICAgeyBAaW5jbHVkZSBjcm9zc0NlbnRlciAgICAgICB9XHJcbiAgLmNyb3NzLWVuZCAgICAgICAgICAgeyBAaW5jbHVkZSBjcm9zc0VuZCAgICAgICAgICB9XHJcbiAgLmZsZXgtcmV2ZXJzZSAgICAgICAgeyAgQGluY2x1ZGUgZmxleFJldmVyc2UgICAgICB9XHJcbiAgLmZsZXgtY29sdW1uICAgICAgICAgeyBAaW5jbHVkZSBmbGV4Q29sdW1uICAgICAgICB9XHJcbiAgLmZsZXgtY29sdW1uLXJldmVyc2UgeyBAaW5jbHVkZSBmbGV4Q29sdW1uUmV2ZXJzZSB9XHJcbiAgLmFiY2VudGVyICAgICAgICAgICAgeyBAaW5jbHVkZSBmbGV4Q2VudGVyICAgICAgICB9XHJcbn1cclxuIiwiQG1peGluIHNob3dGcm9tKCRicCl7XHJcbiAgQGluY2x1ZGUgdG8oJGJwKXtcclxuICAgIGRpc3BsYXkgOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNob3dUbygkYnApe1xyXG4gIEBpbmNsdWRlIGZyb20oJGJwKXtcclxuICAgIGRpc3BsYXkgOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGhpZGVGcm9tKCRicCl7XHJcbiAgQGluY2x1ZGUgZnJvbSgkYnApe1xyXG4gICAgZGlzcGxheSA6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaGlkZVRvKCRicCl7XHJcbiAgQGluY2x1ZGUgdG8oJGJwKXtcclxuICAgIGRpc3BsYXkgOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVmVyc2lvbiBjc3NcclxuQG1peGluIHZpc2liaWxpdHkge1xyXG4gIEBlYWNoICRzaXplLCAkc2NyZWVuU2l6ZSBpbiAkYnJlYWtwb2ludHMge1xyXG4gICAgLmZyb20tI3skc2l6ZX0geyBAaW5jbHVkZSBzaG93RnJvbSgkc2l6ZSkgfVxyXG4gICAgLnRvLSN7JHNpemV9IHsgQGluY2x1ZGUgc2hvd1RvKCRzaXplKSB9XHJcbiAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBpc0NvcmVCcmVha3BvaW50KCRicCl7XG4gIEBpZiBtYXAtZ2V0KCRicmVha3BvaW50cywkYnApIHtcbiAgICBAcmV0dXJuIHRydWVcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZVxuICB9XG59XG5cbkBmdW5jdGlvbiBpc1ZhbGlkQnJlYWtwb2ludCgkYnApe1xuICBAaWYgdHlwZS1vZigkYnApID09IG51bWJlciBhbmQgKHVuaXQoJGJwKSA9PSAncHgnIG9yIHVuaXQoJGJwKSA9PSAnZW0nIG9yIHVuaXQoJGJwKSA9PSAncmVtJykge1xuICAgIEByZXR1cm4gdHJ1ZVxuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIGZhbHNlXG4gIH1cbn1cblxuQGZ1bmN0aW9uIGdldEJyZWFrcG9pbnQoJGJwKXtcbiAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywkYnApXG59XG5cbkBmdW5jdGlvbiB0b1B4KCR2YWx1ZSl7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbSd7XG4gICAgICBAcmV0dXJuICgkdmFsdWUgLyAxZW0pICogMTZweDtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJ3tcbiAgICAgIEByZXR1cm4gKCR2YWx1ZSAvIDFyZW0pICogMTZweFxuICAgIH0gQGVsc2UgaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJMYSBmdW5jaW9uIHRvUHgoKSBzb2xvIGFjZXB0YSBudW1lcm9zIGVuIGVtIG8gcmVtIG8gcHhcIlxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiTGEgZnVuY2lvbiB0b1B4KCkgc29sbyBhY2VwdGEgbnVtZXJvcyBlbiBlbSBvIHJlbVwiXG4gIH1cbn1cblxuQG1peGluIGZyb20oJGZyb20pe1xuICBAaWYgaXNDb3JlQnJlYWtwb2ludCgkZnJvbSl7XG4gICAgQGlmICRmcm9tID09IHMge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogZ2V0QnJlYWtwb2ludCgkZnJvbSkpeyBAY29udGVudCB9XG4gICAgfVxuICB9IEBlbHNlIGlmIGlzVmFsaWRCcmVha3BvaW50KCRmcm9tKXtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZnJvbSl7IEBjb250ZW50IH1cbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdFbCBtaXhpbiBmcm9tKCkgc29sbyBwdWVkZSByZWNpYmlyIHVuIGJyZWFrcG9pbnQgZGVsIENvcmUgKCN7bWFwLWtleXMoJGJyZWFrcG9pbnRzKX0pIG8gdW4gbsO6bWVybyBlbiBweCwgZW0gbyByZW0nXG4gIH1cbn1cblxuQG1peGluIHRvKCR0byl7XG4gIEBpZiBpc0NvcmVCcmVha3BvaW50KCR0byl7XG4gICAgQGlmICR0byA9PSBzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IGdldEJyZWFrcG9pbnQoJHRvKSkgeyBAY29udGVudCB9XG4gICAgfVxuICB9IEBlbHNlIGlmIGlzVmFsaWRCcmVha3BvaW50KCR0byl7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRvKXsgQGNvbnRlbnQgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ0VsIG1peGluIHRvKCkgc29sbyBwdWVkZSByZWNpYmlyIHVuIGJyZWFrcG9pbnQgZGVsIENvcmUgKCN7bWFwLWtleXMoJGJyZWFrcG9pbnRzKX0pIG8gdW4gbsO6bWVybyBlbiBweCwgZW0gbyByZW0nXG4gIH1cbn1cblxuQG1peGluIGZyb21UbygkZnJvbSwkdG8pe1xuICBAaWYgaXNDb3JlQnJlYWtwb2ludCgkZnJvbSkgYW5kIGlzQ29yZUJyZWFrcG9pbnQoJHRvKXtcbiAgICBAaWYgZ2V0QnJlYWtwb2ludCgkdG8pID4gZ2V0QnJlYWtwb2ludCgkZnJvbSkge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IGdldEJyZWFrcG9pbnQoJGZyb20pKSBhbmQgKG1heC13aWR0aCA6IGdldEJyZWFrcG9pbnQoJHRvKSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiRWwgc2VndW5kbyBhcmd1bWVudG8gZGVsIG1peGluIGZyb21UbyBkZWJlIHNlciBtYXlvciBxdWUgZWwgcHJpbWVyb1wiXG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgaXNDb3JlQnJlYWtwb2ludCgkZnJvbSkgYW5kIG5vdCBpc0NvcmVCcmVha3BvaW50KCR0byl7XG4gICAgQGlmIGlzVmFsaWRCcmVha3BvaW50KCR0bykge1xuICAgICAgQGlmIHRvUHgoJHRvKSA+IHRvUHgoZ2V0QnJlYWtwb2ludCgkZnJvbSkpIHtcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IGdldEJyZWFrcG9pbnQoJGZyb20pKSBhbmQgKG1heC13aWR0aCA6ICR0bykge1xuICAgICAgICAgIEBjb250ZW50XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJFbCBzZWd1bmRvIGFyZ3VtZW50byBkZWwgbWl4aW4gZnJvbVRvIGRlYmUgc2VyIG1heW9yIHF1ZSBlbCBwcmltZXJvXCJcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkVsIHNlZ3VuZG8gYXJndW1lbnRvIGRlbCBtaXhpbiBmcm9tVG8oKSBkZWJlIHNlciB1biBicmVha3BvaW50IGRlbCBDb3JlICgje21hcC1rZXlzKCRicmVha3BvaW50cyl9KSBvIHVuIG7Dum1lcm8gZW4gcHgsIGVtIG8gcmVtXCJcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiBub3QgaXNDb3JlQnJlYWtwb2ludCgkZnJvbSkgYW5kIGlzQ29yZUJyZWFrcG9pbnQoJHRvKSB7XG4gICAgQGlmIGlzVmFsaWRCcmVha3BvaW50KCRmcm9tKSB7XG4gICAgICBAaWYgdG9QeChnZXRCcmVha3BvaW50KCR0bykpID4gdG9QeCgkZnJvbSl7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkZnJvbSkgYW5kIChtYXgtd2lkdGggOiBnZXRCcmVha3BvaW50KCR0bykpIHtcbiAgICAgICAgICBAY29udGVudFxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiRWwgc2VndW5kbyBhcmd1bWVudG8gZGVsIG1peGluIGZyb21UbyBkZWJlIHNlciBtYXlvciBxdWUgZWwgcHJpbWVyb1wiXG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciBcIkVsIHByaW1lciBhcmd1bWVudG8gZGVsIG1peGluIGZyb21UbygpIGRlYmUgc2VyIHVuIGJyZWFrcG9pbnQgZGVsIENvcmUgKCN7bWFwLWtleXMoJGJyZWFrcG9pbnRzKX0pIG8gdW4gbsO6bWVybyBlbiBweCwgZW0gbyByZW1cIlxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIGlzVmFsaWRCcmVha3BvaW50KCRmcm9tKSBhbmQgaXNWYWxpZEJyZWFrcG9pbnQoJHRvKXtcbiAgICBAaWYgdG9QeCgkdG8pID4gdG9QeCgkZnJvbSkge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICRmcm9tKSBhbmQgKG1heC13aWR0aCA6ICR0bykge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwiRWwgc2VndW5kbyBhcmd1bWVudG8gZGVsIG1peGluIGZyb21UbyBkZWJlIHNlciBtYXlvciBxdWUgZWwgcHJpbWVyb1wiXG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnTG9zIGFyZ3VtZW50b3MgZGVsIG1peGluIGZyb21UbygpIGRlYmVuIHNlciBicmVha3BvaW50cyBkZWwgQ29yZSAoI3ttYXAta2V5cygkYnJlYWtwb2ludHMpfSkgbyBuw7ptZXJvcyBlbiBweCwgZW0gbyByZW0nO1xuICB9XG59XG5AbWl4aW4gb3JpZW50YXRpb25Ubygkc2ljZSwkb3JpZW50YXRpb24pe1xuICBAaWYgJG9yaWVudGF0aW9uPT1cImxhbmRzY2FwZVwiIG9yICRvcmllbnRhdGlvbj09XCJwb3J0cmFpdFwie1xuICAgIEBtZWRpYSBhbGwgYW5kKG1heC13aWR0aDogJHNpY2UpIGFuZCAob3JpZW50YXRpb246ICRvcmllbnRhdGlvbikge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1AZWxzZSB7XG4gICAgQGVycm9yIFwibGEgb3JpZW50YWNpb24gZGViZSBkZSBzZXIgJ2xhbmRzY2FwZScgbyAncG9ydHJhaXQnXCJcbiAgfVxufVxuQG1peGluIG9yaWVudGF0aW9uRnJvbSgkc2ljZSwkb3JpZW50YXRpb24pe1xuICBAaWYgJG9yaWVudGF0aW9uPT1cImxhbmRzY2FwZVwiIG9yICRvcmllbnRhdGlvbj09XCJwb3J0cmFpdFwie1xuICAgIEBtZWRpYSBhbGwgYW5kKG1heC13aWR0aDogJHNpY2UpIGFuZCAob3JpZW50YXRpb246ICRvcmllbnRhdGlvbikge1xuICAgICAgQGNvbnRlbnRcbiAgICB9XG4gIH1AZWxzZSB7XG4gICAgQGVycm9yIFwibGEgb3JpZW50YWNpb24gZGViZSBkZSBzZXIgJ2xhbmRzY2FwZScgbyAncG9ydHJhaXQnXCJcbiAgfVxufVxuIiwiQGlmICRjc3NDb3JlID09IHRydWUge1xyXG4gIC8vIG9mZnNldFxyXG4gIEBpbmNsdWRlIGNzc09mZnNldCgpO1xyXG5cclxuICAvLyBmbGV4Ym94XHJcbiAgQGluY2x1ZGUgZmxleE9yZGVyKCk7XHJcblxyXG4gIEBpbmNsdWRlIGNzc01haW5KdXN0aWZ5KCk7XHJcbiAgQGluY2x1ZGUgY3NzTWFpbkRpc3RyaWJ1dGUoKTtcclxuICBAaW5jbHVkZSBjc3NNYWluU3RhcnQoKTtcclxuICBAaW5jbHVkZSBjc3NNYWluQ2VudGVyKCk7XHJcbiAgQGluY2x1ZGUgY3NzTWFpbkVuZCgpO1xyXG5cclxuICBAaW5jbHVkZSBjc3NDcm9zc1N0YXJ0KCk7XHJcbiAgQGluY2x1ZGUgY3NzQ3Jvc3NDZW50ZXIoKTtcclxuICBAaW5jbHVkZSBjc3NDcm9zc0VuZCgpO1xyXG5cclxuICBAaW5jbHVkZSBjc3NGbGV4UmV2ZXJzZSgpO1xyXG4gIEBpbmNsdWRlIGNzc0ZsZXhDb2x1bW4oKTtcclxuICBAaW5jbHVkZSBjc3NGbGV4Q29sdW1uUmV2ZXJzZSgpO1xyXG5cclxuICAvL2dyaWRzXHJcbiAgLmdyaWQtY29udGFpbmVyLmdyaWQtMTIzNCB7IEBpbmNsdWRlIGdyaWQoJy5ncmlkLWl0ZW0nLCAxLCAyLCAzLCA0LCAxZW0pIH1cclxuICAuZ3JpZC1jb250YWluZXIuZ3JpZC0yMzQ1IHsgQGluY2x1ZGUgZ3JpZCgnLmdyaWQtaXRlbScsIDIsIDMsIDQsIDUsIDFlbSkgfVxyXG5cclxuICAvLyBkZXZNb2RlXHJcbiAgYm9keS5kZXYsXHJcbiAgYm9keS5kZXNhcnJvbGxvIHtcclxuICAgIEBpbmNsdWRlIGRldk1vZGUoKTtcclxuICAgIC5lZC1jb250YWluZXIgeyBAaW5jbHVkZSBkZXZNb2RlQ29udGFpbmVyOyB9XHJcbiAgICAuZWQtaXRlbSAgICAgIHsgQGluY2x1ZGUgZGV2TW9kZUl0ZW07IH1cclxuICB9XHJcblxyXG4gIC8vIEJvdG9uZXNcclxuICAuYnV0dG9uLFxyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidXR0b24oKTtcclxuICAgICYucm91bmQgIHsgQGluY2x1ZGUgYnV0dG9uKCNEREQsICMzMzMsIHJvdW5kKSB9XHJcbiAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGJ1dHRvbigjRERELCAzMzMsIHJhZGl1cykgfVxyXG4gIH1cclxuXHJcbiAgLy8gTWVudXNcclxuICAvLyBzZSByZXF1aWVyZSBsYSBjbGFzZSAuZWQtbWVudVxyXG4gIC8vIHkgbGEgY2xhc2UgcGFyYSBjYW1iaW8gYSBob3Jpem9udGFsXHJcbiAgLmVkLW1lbnUge1xyXG4gICAgJi5zLWhvcml6b250YWwgIHsgQGluY2x1ZGUgZWRNZW51KHMpICB9XHJcbiAgICAmLm0taG9yaXpvbnRhbCAgeyBAaW5jbHVkZSBlZE1lbnUobSkgIH1cclxuICAgICYubC1ob3Jpem9udGFsICB7IEBpbmNsdWRlIGVkTWVudShsKSAgfVxyXG4gICAgJi54bC1ob3Jpem9udGFsIHsgQGluY2x1ZGUgZWRNZW51KHhsKSB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyB0b2RvOiB2ZXIgcXVlIGNvbXBvbmVudGVzIG1vdmVyIGEgY3NzQ29yZSAocXVpemFzIGZsZXhib3gpXHJcbi8vIHRvZG86IG8gcXVpemFzIHNlcGFyYXJsb3MgcGFyYSBhY3RpdmFyIHVub3MgdSBvdHJvc1xyXG5AaWYgJGNzc0hlbHBlcnMgPT0gdHJ1ZSB7XHJcbiAgQGluY2x1ZGUgY29yZUdyaWQoKTtcclxuICBAaW5jbHVkZSBoZWxwZXJzKCk7XHJcbiAgQGluY2x1ZGUgZmxleENzc0hlbHBlcnMoKTtcclxuICBAaW5jbHVkZSB2aXNpYmlsaXR5KCk7XHJcblxyXG4gIC5lZC12aWRlbyB7IEBpbmNsdWRlIGVkVmlkZW8gfVxyXG4gIC5idXR0b24gICB7IEBpbmNsdWRlIGJ1dHRvbiAgfVxyXG59XHJcbiIsIi8vIFZpZGVvcyByZXNwb25zaXZlXHJcbkBtaXhpbiBlZFZpZGVvICgkdmlkZW86IG51bGwpIHtcclxuICBoZWlnaHQgICAgICAgICA6IDA7XHJcbiAgb3ZlcmZsb3cgICAgICAgOiBoaWRkZW47XHJcbiAgcGFkZGluZy1ib3R0b20gOiA1Ni4yNSU7XHJcbiAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcclxuXHJcbiAgQGlmICR2aWRlbyAhPSBudWxsIHtcclxuICAgICN7JHZpZGVvfSB7XHJcbiAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XHJcbiAgICAgIHRvcCAgICAgIDogMDtcclxuICAgICAgbGVmdCAgICAgOiAwO1xyXG4gICAgICB3aWR0aCAgICA6IDEwMCU7XHJcbiAgICAgIGhlaWdodCAgIDogMTAwJTtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgID4gaWZyYW1lLFxyXG4gICAgPiB2aWRlb1xyXG4gICAgPiAudmlkZW8ge1xyXG4gICAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gICAgICB0b3AgICAgICA6IDA7XHJcbiAgICAgIGxlZnQgICAgIDogMDtcclxuICAgICAgd2lkdGggICAgOiAxMDAlO1xyXG4gICAgICBoZWlnaHQgICA6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi52bW9kYWx7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwuODUpO1xuICB6LWluZGV4OiAxMDAwMDA7XG4gIHRvcDowO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICAmX19jb250YWluZXJ7XG4gICAgYm9yZGVyOiAzcHggc29saWQgIzAwMDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNzgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwYWRkaW5nOiByZW0oNXB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICAmID4gaW1ne1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbiAgJl9fY2xvc2V7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgJHNpY2U6IDEuNWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgd2lkdGg6ICRzaWNlO1xuICAgIGhlaWdodDogJHNpY2U7XG4gICAgbGluZS1oZWlnaHQ6ICRzaWNlO1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgJjpiZWZvcmV7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG4gIGlmcmFtZXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCJib2R5IHtcbiAgLy9iYWNrZ3JvdW5kICA6ICRib2R5LS1iYWNrZ3JvdW5kO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvYmcuanBnXCIpIGNlbnRlciBjZW50ZXIgLyBjb3ZlciBmaXhlZDtcbiAgZm9udC1mYW1pbHkgOiAkYm9keS0tZm9udC1mYW1pbHk7XG4gIGNvbG9yICAgICAgIDogJGJvZHktLWNvbG9yO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbmEge1xuICBjb2xvciAgICAgICAgICAgOiAkbGluay0tY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICY6aG92ZXJ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbnAsIGJsb2NrcXVvdGUsIGxpIHtcbiAgZm9udC1zaXplICAgOiAkcC0tZm9udC1zaXplO1xuICBsaW5lLWhlaWdodCA6ICRwLS1saW5lLWhlaWdodDtcbn1cblxucCB7XG4gIG1hcmdpbiA6IDAgMCAwIDA7XG4gICY6bGFzdC1jaGlsZCxcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuYmxvY2txdW90ZSB7XG5cbn1cblxuLy8gRXN0aWxvcyBiw6FzaWNvcyBkZSBsb3MgZW5jYWJlemFkb3NcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseSAgICA6ICRoZWFkZXItLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodCAgICA6ICRoZWFkZXItLWZvbnQtd2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybSA6ICRoZWFkZXItLXRleHQtdHJhbnNmb3JtO1xuICBjb2xvciAgICAgICAgICA6ICRoZWFkZXItLWNvbG9yO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBUYW1hw7FvcyB5IGVzdGlsb3MgZGUgbG9zIGVuY2FiZXphZG9zOlxuaDEge1xuICBmb250LXNpemUgOiAkaDEtLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIge1xuICBmb250LXNpemUgOiAkaDItLWZvbnQtc2l6ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplIDogJGgzLS1mb250LXNpemU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZSA6ICRoNC0tZm9udC1zaXplO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZSA6ICRoNS0tZm9udC1zaXplO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZSA6ICRoNi0tZm9udC1zaXplO1xufVxubmF2e1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5zZWN0aW9ue1xuICBwYWRkaW5nLXRvcDogN2VtO1xuICAvL21pbi1oZWlnaHQ6IDEwMHZoO1xufVxuIiwiJGJnLWNvbG9yOiAkc2Vjb25kLWNvbG9yO1xuLy8gQ09MT1JFUyBNRU5VXG4kbWVudS1iZzogJG1haW4tY29sb3I7XG4kbWVudS1iZy1ob3ZlcjogZGFya2VuKCRtZW51LWJnLDEwKTtcbiRtZW51LWNvbG9yLWE6ICRzZWNvbmQtY29sb3I7XG4kbWVudS1jb2xvci1hLWhvdmVyOiAkc2Vjb25kLWNvbG9yO1xuJG1lbnUtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiRtZW51LWJvcmRlcjogbm9uZTtcbiRtZW51LWhlaWdodDogNHJlbTtcblxuLy8gVkFSSUFCTEVTIEVYVFJBU1xuJHRyYW5zaXRpb246IGFsbCAuM3M7XG4kZ3V0dGVyOiAxZW07XG4kYm9yZGVyLW1haW46IG5vbmU7XG4kYm9yZGVyOiAxcHggc29saWQgcmdiYSgjZmZmLC4xKTtcblxuLy8gRVNUSUxPUyBCQVNFXG4kYm9keS0tYmFja2dyb3VuZCAgOiAkYmctY29sb3I7ICAgICAgICAgICAgICAgICAgICAgIC8vIGZvbmRvIHBhcmEgZWwgYm9keVxuJGJvZHktLWZvbnQtZmFtaWx5IDogJG1haW4tZm9udDsgICAvLyBmdWVudGUgcHJlZGV0ZXJtaW5hZGFcbiRib2R5LS1jb2xvciAgICAgICA6ICRmb250cy1jb2xvcjsgICAgICAgICAgICAgICAgICAgICAgLy8gY29sb3IgZGUgdGV4dG8gcHJlZGV0ZXJtaW5hZG9cblxuLy8gRVNUSUxPUyBERSBFTkNBQkVaQURPU1xuJGhlYWRlci0tZm9udC1mYW1pbHkgICAgOiAkaGVhZGVyLWZvbnQ7ICAvLyBmdWVudGUgcGFyYSBsb3MgaGVhZGVycyAoaDEsaDIsaDMuLi4pXG4kaGVhZGVyLS1mb250LXdlaWdodCAgICA6ICRib2xkOyAgICAgICAgICAgICAgICAgICAgLy8gZ3Jvc29yIGRlIGZ1ZW50ZSBwYXJhIGxvcyBoZWFkZXJzXG4kaGVhZGVyLS10ZXh0LXRyYW5zZm9ybSA6IG5vcm1hbDsgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgY2FwaXRhbGl6ZVxuJGhlYWRlci0tY29sb3IgICAgICAgICAgOiAkaGVhZGVycy1jb2xvcjsgICAgICAgICAgICAgICAgICAgICAvLyBjb2xvciBwcmVkZXRlcm1pbmFkbyBkZSBsb3MgaGVhZGVyXG5cbi8vIFRBTUHDkU8gREUgTE9TIEVOQ0FCRVpBRE9TIChoMS4uLmg2KVxuJGgxLS1mb250LXNpemUgOiAyZW07XG4kaDItLWZvbnQtc2l6ZSA6IDEuNmVtO1xuJGgzLS1mb250LXNpemUgOiAxLjNlbTtcbiRoNC0tZm9udC1zaXplIDogMWVtO1xuJGg1LS1mb250LXNpemUgOiAuOWVtO1xuJGg2LS1mb250LXNpemUgOiAuOGVtO1xuXG4vLyBFU1RJSUxPUyBERSBFTkxBQ0VTXG4kbGluay0tY29sb3IgOiBpbml0aWFsOyAgLy8gY29sb3IgcGFyYSBsb3MgZW5sYWNlc1xuXG4vLyBFU1RJTE9TIERFIFDDgVJSQUZPU1xuJHAtLWZvbnQtc2l6ZSAgIDogMWVtOyAgICAgICAgLy8gVGFtYcOxbyBkZSBmdWVudGVcbiRwLS1saW5lLWhlaWdodCA6IDEuNTsgICAgICAgIC8vIEFsdHVyYSBkZSBsw61uZWFcbiRwLS1tYXJnaW4gICAgICA6IDFlbTsgICAgICAgIC8vIFNlcGFyYWNpw7NuIGVudHJlIHVuIHDDoXJyYWZvIHkgZWwgc2lndWllbnRlXG4kcC0tZm9udC13ZWlnaHQgOiAkbm9ybWFsOyAgICAvLyBHcm9zb3IgcHJlZGV0ZXJtaW5hZG8gZGUgbGEgZnVlbnRlXG4iLCIubWFpbi1tZW51e1xuICBAaW5jbHVkZSBlZE1lbnUobCk7XG4gIEBpbmNsdWRlIGZyb21UbygxMDI1cHgsMTA4MHB4KXtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgQGluY2x1ZGUgZnJvbVRvKDEwODFweCwxMTYxcHgpe1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICBAaW5jbHVkZSB0byhsKXtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkbWVudS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLC43NSk7XG4gICAgYm9yZGVyOiAkYm9yZGVyO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIGxpe1xuICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICY6aG92ZXJ7XG4gICAgIEBpbmNsdWRlIHRvKGwpe1xuICAgICAgIGJhY2tncm91bmQ6IHJnYmEoZGFya2VuKCRtYWluLWNvbG9yLDEwKSw3NSk7XG4gICAgIH1cbiAgIH1cbiAgIEBpbmNsdWRlIHRvKGwpe1xuICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgIGJvcmRlci1ib3R0b20gOiBub25lO1xuICAgICB9XG4gICB9XG4gIH1cbiAgYXtcbiAgICBsaW5lLWhlaWdodDogJG1lbnUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkc2Vjb25kLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIEBpbmNsdWRlIHRvKGwpe1xuICAgICAgbGluZS1oZWlnaHQ6ICRtZW51LWhlaWdodCouNzU7XG4gICAgfVxuICB9XG5cbiB9XG4ubWFpbi1uYXZ7XG4gIEBpbmNsdWRlIGVkTmF2KHJpZ2h0LGwpO1xufVxuLnRvZ2dsZS1tZW51e1xuICBAaW5jbHVkZSBuYXZUb2dnbGUoMS41ZW0sIHJnYmEoJHNlY29uZC1jb2xvciwuNzUpKTtcbiAgQGluY2x1ZGUgZnJvbShsKXtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xufVxuIiwiLy8gZXN0aWxvIGRlZmF1bHQgZGVsIG1lbnVcclxuQG1peGluIG1lbnVTdHlsZURlZmF1bHQge1xyXG4gIGJhY2tncm91bmQgOiAjZWVlO1xyXG4gIGxpOmhvdmVyIHsgYmFja2dyb3VuZCA6IHJnYmEoIzAwMCwgLjEpICB9XHJcbiAgdWwgICAgICAgeyBiYWNrZ3JvdW5kIDogZGFya2VuKCNlZWUsIDUpIH1cclxuICBhICAgICAgICB7IGNvbG9yICAgICAgOiAjNjY2ICAgICAgICAgICAgfVxyXG59XHJcblxyXG4vLyBlc3RpbG8gbmF2IHBhcmEgZWwgbWVudVxyXG4vLyBpbmNsdXllIGVsIGJyZWFrcG9pbnQgcXVlIGxvIGNhbWJpYSBhIGhvcml6b250YWxcclxuQG1peGluIG1lbnVTdHlsZU5hdigkYnApIHtcclxuICAkYm9yZGVyICAgIDogMXB4IHNvbGlkIHJnYmEoIzAwMCwgLjEpO1xyXG4gIGJhY2tncm91bmQgOiAjRUVFO1xyXG4gIGJvcmRlciAgICAgOiAkYm9yZGVyO1xyXG5cclxuICBsaTpob3ZlciB7IGJhY2tncm91bmQgOiByZ2JhKCMwMDAsIC4xKSAgfVxyXG4gIHVsICAgICAgIHsgYmFja2dyb3VuZCA6IGRhcmtlbigjZWVlLCA1KSB9XHJcbiAgYSAgICAgICAgeyBjb2xvciAgICAgIDogIzY2NiAgICAgICAgICAgIH1cclxuXHJcbiAgbGkge1xyXG4gICAgYm9yZGVyLWJvdHRvbSA6ICRib3JkZXI7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0ICA6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1ib3R0b20gOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgYm9yZGVyIDogJGJvcmRlcjtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20gOiAkYm9yZGVyO1xyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbSA6IG5vbmUgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZnJvbSgkYnApIHtcclxuICAgID4gbGkge1xyXG4gICAgICBib3JkZXItcmlnaHQgIDogMXB4IHNvbGlkIHJnYmEoIzAwMCwgLjEpO1xyXG4gICAgICBib3JkZXItYm90dG9tIDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGVzdGlsbyBidXR0b24gcGFyYSBlbCBtZW7DulxyXG5AbWl4aW4gbWVudVN5bGVCdXR0b24ge1xyXG4gIGxpIHtcclxuICAgIG1hcmdpbi1ib3R0b20gOiAuNWVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0ICA6IC41ZW07XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGJvcmRlciAgICAgICAgOiAxcHggc29saWQgcmdiYSgjMDAwLCAuMSk7XHJcbiAgICBiYWNrZ3JvdW5kICAgIDogI0VFRTtcclxuICAgIGxpbmUtaGVpZ2h0ICAgOiAyLjVlbTtcclxuICAgIHBhZGRpbmcgICAgICAgOiAwIDEuNWVtO1xyXG4gICAgYm9yZGVyLXJhZGl1cyA6IDRweDtcclxuICAgIGNvbG9yICAgICAgICAgOiAjNjY2O1xyXG5cclxuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kIDogcmdiYSgjMDAwLCAuMSkgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gbWl4aW4gcXVlIGNvbnN0cnV5ZSBlbCBtZW7DuiBzaW4gdW4gdGVtYSwgc29sbyBtYXF1ZXRhXHJcbi8vIHJlY2liZSBlbCBicmVha3BvaW50IGVuIHF1ZSBzZSB2dWVsdmUgaG9yaXpvbnRhbFxyXG4vLyB5IGVsIGVzdGlsbyAob3BjaW9uYWwpOiBkZWZhdWx0fG5hdnxidXR0b25cclxuQG1peGluIGVkTWVudSgkYnAsJHN0eWxlOm51bGwpIHtcclxuICB3aWR0aCA6IDEwMCU7XHJcblxyXG4gICYsIHVsIHtcclxuICAgIG1hcmdpbi10b3AgICAgOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbSA6IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQgIDogMDtcclxuICAgIGxpc3Qtc3R5bGUgICAgOiBub25lO1xyXG4gIH1cclxuXHJcbiAgbGkge1xyXG4gICAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xyXG4gICAgbGlzdC1zdHlsZSA6IG5vbmU7XHJcbiAgICBmbGV4ICAgICAgIDogYXV0bztcclxuXHJcbiAgICAvLyBTaSBlcyBwYWRyZSBkZSB1biBzdWJtZW51XHJcbiAgICAmLnBhcmVudC1zdWJtZW51IHtcclxuICAgICAgZGlzcGxheSA6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgICAgIGEgeyBmbGV4OiBhdXRvIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vc3VibWVudXNcclxuICB1bCB7XHJcbiAgICBkaXNwbGF5ICA6IG5vbmU7XHJcblxyXG4gICAgJi5zaG93LXN1Ym1lbnUge1xyXG4gICAgICBkaXNwbGF5IDogYmxvY2s7XHJcbiAgICAgIHdpZHRoIDogMTAwJTtcclxuICAgICAgb3JkZXI6IDM7XHJcbiAgICAgIG1hcmdpbi1sZWZ0IDogMWVtO1xyXG4gICAgICBtYXJnaW4tYm90dG9tIDogLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgZGlzcGxheSAgICAgOiBibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0IDogM2VtO1xyXG4gICAgcGFkZGluZyAgICAgOiAwIDFlbTtcclxuXHJcbiAgICAmOmhvdmVyIHsgdGV4dC1kZWNvcmF0aW9uIDogbm9uZSB9XHJcbiAgfVxyXG5cclxuICAvLyBjYW1iaW8gYSBob3Jpem9udGFsXHJcbiAgQGluY2x1ZGUgZnJvbSgkYnApIHtcclxuICAgIGRpc3BsYXkgICAgIDogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zIDogY2VudGVyO1xyXG5cclxuICAgIGEgeyB0ZXh0LWFsaWduIDogY2VudGVyIH1cclxuXHJcbiAgICAvLyBPY3VsdGFyIGVsIGJvdMOzbiBkZSBleHBhbmRpciBlbiBob3Jpem9udGFsXHJcbiAgICAuZXhwYW5kIHsgZGlzcGxheSA6IG5vbmV9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICBwb3NpdGlvbiAgICA6IGFic29sdXRlO1xyXG4gICAgICB0b3AgICAgICAgICA6IDEwMCU7XHJcbiAgICAgIG1pbi13aWR0aCAgIDogMTAwJTtcclxuICAgICAgd2hpdGUtc3BhY2UgOiBub3dyYXA7XHJcblxyXG4gICAgICBhIHsgdGV4dC1hbGlnbiA6IGxlZnQgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHRvcCAgOiAwO1xyXG4gICAgICAgIGxlZnQgOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gbW9zdHJhciBzdWJtZW51XHJcbiAgICBsaTpob3ZlciA+IHVsIHsgZGlzcGxheSA6IGJsb2NrIH1cclxuICB9XHJcblxyXG4gIC8vIGV4cGFuZCBzdWJtZW51IGJ1dHRvblxyXG4gIC5leHBhbmQtc3VibWVudSB7XHJcbiAgICAkc2l6ZTogM2VtO1xyXG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcclxuICAgIHJpZ2h0IDogMDtcclxuICAgIHdpZHRoIDogJHNpemU7XHJcbiAgICBoZWlnaHQgOiAkc2l6ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIGhpZGVGcm9tKCRicCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGggOiA0MCU7XHJcbiAgICAgIGhlaWdodCA6IDQwJTtcclxuICAgICAgdG9wIDogMjAlO1xyXG4gICAgICBsZWZ0IDogMzAlO1xyXG4gICAgICBib3JkZXItbGVmdCA6ICgkc2l6ZSAqIDAuMTUpIHNvbGlkICM2NjY7XHJcbiAgICAgIGJvcmRlci1ib3R0b20gOiAoJHNpemUgKiAwLjE1KSBzb2xpZCAjNjY2O1xyXG4gICAgICBib3JkZXItcmFkaXVzIDogKCRzaXplICogMC4wOCk7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaW5jbHVpciBlbCBlc3RpbG8gZGVsIG1lbnUgc2kgc2UgaGEgZGVmaW5pZG9cclxuICBAaWYgJHN0eWxlID09IGRlZmF1bHQgeyBAaW5jbHVkZSBtZW51U3R5bGVEZWZhdWx0ICB9XHJcbiAgQGlmICRzdHlsZSA9PSBuYXYgICAgIHsgQGluY2x1ZGUgbWVudVN0eWxlTmF2KCRicCkgfVxyXG4gIEBpZiAkc3R5bGUgPT0gYnV0dG9uICB7IEBpbmNsdWRlIG1lbnVTeWxlQnV0dG9uICAgIH1cclxuXHJcbiAgLy8gY29tcGlsYXIgbG9zIG1peGlucyBlbiBtb2RvIENTU1xyXG4gIEBpZiAkY3NzQ29yZSA9PSB0cnVlIHtcclxuICAgICYuZGVmYXVsdCAgICB7IEBpbmNsdWRlIG1lbnVTdHlsZURlZmF1bHQgIH1cclxuICAgICYubmF2LWJhciAgICB7IEBpbmNsdWRlIG1lbnVTdHlsZU5hdigkYnApIH1cclxuICAgICYuYnV0dG9uLWJhciB7IEBpbmNsdWRlIG1lbnVTeWxlQnV0dG9uICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIG1peGluIE5hdiAocGFyYSBlbCBjb250ZW5lZG9yIGRlbCBtZW7DuilcclxuQG1peGluIGVkTmF2KCRkaXJlY3Rpb24sICRicCl7XHJcbiAgQGluY2x1ZGUgdG8oJGJwKSB7XHJcbiAgICAkbHJXaWR0aCA6IDg1JTtcclxuICAgIHBvc2l0aW9uICAgOiBmaXhlZDtcclxuICAgIHRyYW5zaXRpb24gOiBhbGwgLjNzO1xyXG4gICAgaGVpZ2h0ICAgICA6IDEwMHZoO1xyXG4gICAgei1pbmRleCAgICA6IDIwMDtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICB3aWR0aCA6ICRscldpZHRoO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIHdpZHRoIDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcclxuICAgICAgbGVmdCA6ICRscldpZHRoICogLTE7XHJcblxyXG4gICAgICAmLnNob3ctbWVudSB7IGxlZnQgOiAwIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XHJcbiAgICAgIHJpZ2h0IDogJGxyV2lkdGggKiAtMTtcclxuXHJcbiAgICAgICYuc2hvdy1tZW51IHsgcmlnaHQgOiAwIH1cclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xyXG4gICAgICB0b3AgOiAtMTAwJTtcclxuXHJcbiAgICAgICYuc2hvdy1tZW51IHsgdG9wIDogMCB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcclxuICAgICAgYm90dG9tIDogLTEwMCU7XHJcblxyXG4gICAgICAmLnNob3ctbWVudSB7IGJvdHRvbSA6IDAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbkBtaXhpbiBuYXZUb2dnbGUoJHNpemUsICRjb2xvcikge1xyXG4gICRzZWdtZW50SGVpZ2h0IDogKCRzaXplIC8gOCk7XHJcbiAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcclxuICB6LWluZGV4ICAgICAgICA6IDMwMDtcclxuICB3aWR0aCAgICAgICAgICA6ICRzaXplICogMS4zO1xyXG4gIGhlaWdodCAgICAgICAgIDogJHNpemU7XHJcbiAgYm94LXNoYWRvdyAgICAgOiAwICgkc2VnbWVudEhlaWdodCAqIDIpICRjb2xvciBpbnNldDtcclxuICBjdXJzb3IgICAgICAgICA6IHBvaW50ZXI7XHJcblxyXG4gICY6OmFmdGVyLFxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50ICAgICAgICAgIDogXCJcIjtcclxuICAgIHBvc2l0aW9uICAgICAgICAgOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoICAgICAgICAgICAgOiAxMDAlO1xyXG4gICAgaGVpZ2h0ICAgICAgICAgICA6ICgkc2VnbWVudEhlaWdodCAqIDIpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvciA6ICRjb2xvcjtcclxuICAgIGJvdHRvbSAgICAgICAgICAgOiAwO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYm90dG9tIDogJHNlZ21lbnRIZWlnaHQgKiAzO1xyXG4gIH1cclxufVxyXG4iLCIubWFpbi1oZWFkZXJ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoIzIyMiwuOSk7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkc2Vjb25kLWNvbG9yLC4zKTtcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIG1heC1oZWlnaHQ6ICRtZW51LWhlaWdodDtcbiAgJl9fY29udGFpbmVye1xuICAgIGhlaWdodDogJG1lbnUtaGVpZ2h0O1xuICB9XG4gICZfX2xvZ297XG4gICAgQGluY2x1ZGUgdG8obCl7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gICAgfVxuICAgIGgxe1xuICAgICAgY29sb3I6IGRhcmtlbigkZ29sZCwxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1zaGFkb3c6IHRleHRvM2QoMyxyZ2JhKGRhcmtlbigkZ29sZCwzMCksLjQpKTtcbiAgICAgIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZnJvbVRvKDEwMjVweCwxMTYxcHgpe1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5ibGFja3tcbiAgYmFja2dyb3VuZDogIzIyMiAhaW1wb3J0YW50O1xufVxuIiwiLm1haW4tZm9vdGVye1xuICBAaW5jbHVkZSBzdGlja3lGb290ZXI7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3I7XG4gIGhlaWdodDogM2VtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAmX19jb250YWluZXJ7XG4gICAgQGluY2x1ZGUgZWRDb250YWluZXI7XG5cbiAgICBwe1xuICAgICAgQGluY2x1ZGUgZWRJdGVtKDEwMCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHNlY29uZC1jb2xvcjtcbiAgICB9XG4gICAgc3BhbiwgYXtcbiAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgfVxuICAgIGF7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICY6aG92ZXJ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICAmLmRldntcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaW5pY2lve1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOlxuICAgIC8vdXJsKC4uL2ltZy9kb3R0LnBuZykgbGVmdCB0b3AgLyAycHggZml4ZWQgcmVwZWF0LFxuICAgIC8vcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAvL3JnYmEoIzAwMCwuMSksXG4gICAgICAgIC8vcmdiYSgjMDAwLC4yKSA1MCUpIGZpeGVkLFxuICAgIHVybCguLi9pbWcvYmFubmVyLmpwZykgY2VudGVyIGNlbnRlciAvIGNvdmVyIGZpeGVkIG5vLXJlcGVhdDtcbiAgJl9fbG9nb3tcbiAgICB3aWR0aDo2MCU7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kLWNvbG9yO1xuICAgIHBhZGRpbmc6ICRndXR0ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIG9yaWVudGF0aW9uVG8oNjQwcHgsbGFuZHNjYXBlKXtcbiAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgfVxuICB9XG59XG4iLCIubm9zb3Ryb3N7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG59XG4ubm9zb3Ryb3MgPiAuc2VjdGlvbi1jb250ZW50e1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYgPiBoM3tcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cbn1cbi5jZWR1bGFzLWNvbnRhbmVyIHtcbiAgQGluY2x1ZGUgZ3JpZCgnLmNlZHVsYXMtaXRlbScsMSwyLDIsMiwyZW0pO1xuICBAaW5jbHVkZSBmcm9tKGwpe1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4uYXZpc29wcml2e1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLjVlbTtcbiAgcmlnaHQ6IC41ZW07XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAgMWVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsLjEpO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gIGNvbG9yOiByZ2JhKCNmZmYsLjgpO1xuICAmOmhvdmVye1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwuNCk7XG4gICAgY29sb3I6IHJnYmEoIzQ0NCwuOCk7XG4gIH1cbn1cblxuLm1vZGFsLWlmcmFtZXtcbiAgJiAudm1vZGFsX19jb250YWluZXJ7XG4gICAgLy93aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA5MCUgIWltcG9ydGFudDtcbiAgfVxuICAmIGlmcmFtZXtcbiAgICBoZWlnaHQ6IDk4JSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyByZXR1cm5zIGdyaWQtaXRlbSB3aWR0aCBiYXNlZCBvbiBjb2x1bW5zIG51bWJlciBhbmQgZ3V0dGVyXHJcbi8vIHJldG9ybmEgZWwgYW5jaG8gZGVsIGdyaWQtaXRlbSBiYXNhZG8gZW4gZWwgbsO6bWVybyBkZSBjb2x1bW5hcyB5IGVsIGd1dHRlclxyXG5AZnVuY3Rpb24gaXRlbS13aWR0aCgkd2lkdGgsJGd1dHRlcil7XHJcbiAgQHJldHVybiBjYWxjKCN7JHdpZHRofSAtICN7JGd1dHRlcn0pO1xyXG59XHJcblxyXG4vLyBhc2lnbnMgZ3JpZC1pdGVtIHdpZHRoIGZvciBlYWNoIGJyZWFrcG9pbnRcclxuQG1peGluIGNvbHVtbldpZHRoKCRjdXJyZW50QnAsICRwcmV2QnAsICRjb3JlQnAsJGd1dHRlciwkc2VsZWN0b3Ipe1xyXG4gIC8vIGNoZWNrIGlmIGN1cnJlbnQgYnJlYWtwb2ludCBpcyBub3QgZXF1YWwgdG8gcHJldmlvdXMgYnJlYWtwb2ludFxyXG4gIEBpZiAkY3VycmVudEJwICE9ICRwcmV2QnB7XHJcbiAgICBAaW5jbHVkZSBmcm9tKCRjb3JlQnApe1xyXG4gICAgICAkd2lkdGg6IDEwMCUgLyAkY3VycmVudEJwO1xyXG4gICAgICAmID4gI3skc2VsZWN0b3J9e1xyXG4gICAgICAgIHdpZHRoIDogaXRlbS13aWR0aCgkd2lkdGgsJGd1dHRlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGNyZWF0ZSBncmlkXHJcbi8vIHBhcmFtczogc2VsZWN0b3IgKHF1b3RlZCBzdHJpbmcpXHJcbi8vICRzLCAkbSwgJGwsICR4bCAtPiBudW1iZXIgb2YgY29sdW1ucyBpbiBlYWNoIGJyZWFrcG9pbnRcclxuLy8gZ3V0dGVyIC0+IGd1dHRlciBiZXR3ZWVuIGdyaWQgaXRlbXNcclxuQG1peGluIGdyaWQoJHNlbGVjdG9yLCRzLCRtOiRzLCRsOiRtLCR4bDokbCwkZ3V0dGVyOjFlbSl7XHJcbiAgJHdpZHRoICAgICAgIDogMTAwJSAvICRzO1xyXG4gIGRpc3BsYXkgICAgICA6IGZsZXg7XHJcbiAgZmxleC13cmFwICAgIDogd3JhcDtcclxuICBtYXJnaW4tbGVmdCAgOiAtKCRndXR0ZXIgLyAyKTtcclxuICBtYXJnaW4tcmlnaHQgOiAtKCRndXR0ZXIgLyAyKTtcclxuXHJcbiAgLy8gcG9yIHNpIGVsIGNvbnRlbmVkb3IgZXMgdW4gdWxcclxuICBAaWYgJHNlbGVjdG9yID09IGxpIHtcclxuICAgIG1hcmdpbiAgICAgOiAwO1xyXG4gICAgcGFkZGluZyAgICA6IDA7XHJcbiAgICBsaXN0LXN0eWxlIDogbm9uZTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0IDogMDtcclxuICAgICAgbGlzdC1zdHlsZSAgOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XHJcbiAgICB3aWR0aCAgOiBpdGVtLXdpZHRoKCR3aWR0aCwkZ3V0dGVyKTtcclxuICAgIG1hcmdpbiA6ICRndXR0ZXIgLyAyO1xyXG4gIH1cclxuXHJcbiAgLy8gY2FsY3VsYXRlIGdyaWQgaXRlbSB3aWR0aCBmb3IgZWFjaCBicmVha3BvaW50XHJcbiAgQGluY2x1ZGUgY29sdW1uV2lkdGgoJG0sJHMsbSwkZ3V0dGVyLCRzZWxlY3Rvcik7ICAgIC8vIG1lZGl1bVxyXG4gIEBpbmNsdWRlIGNvbHVtbldpZHRoKCRsLCRtLGwsJGd1dHRlciwkc2VsZWN0b3IpOyAgICAvLyBsYXJnZVxyXG4gIEBpbmNsdWRlIGNvbHVtbldpZHRoKCR4bCwkbCx4bCwkZ3V0dGVyLCRzZWxlY3Rvcik7ICAvLyB4bGFyZ2VcclxufVxyXG4iLCIuZ2FsZXJpYXtcbn1cbi5nYWxlcnktY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZ3JpZCgnLmdhbGVyeS1pdGVtJywyLDMsNCw0LDEuNWVtKTtcbn1cbi5nYWxlcnktaXRlbXtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCAxcHggIzAwMCxcbiAgICAwIDAgMCAzcHggJHNlY29uZC1jb2xvcixcbiAgICAwIDAgMCA1cHggIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICBjb250ZW50OiBcIlxcNzRcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwuNSk7XG4gICAgICBjb2xvcjogJHNlY29uZC1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImJvaW5hcy1uZWdyYXNcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH1cbiAgICBpbWd7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgICY6OmFmdGVye1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgaW1ne1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgcm90YXRlKC0xMGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5jb250YWN0b3tcbiAgJl9fY29udGFpbmVye1xuICAgIEBpbmNsdWRlIGVkQ29udGFpbmVyO1xuXG4gIH1cbiAgJl9fZGF0b3N7XG4gICAgQGluY2x1ZGUgZWRJdGVtKDEwMCw1MCk7XG4gICAgaDMsIGg0LCBwe1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIGgze1xuICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgfVxuICAgIGg0e1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB9XG4gICAgLnAtZ3JvdXB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXIqLjU7XG4gICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIHNwYW57XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICB9XG4gICAgW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZXtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMnB4O1xuICAgIH1cbiAgICAuaWNvbi1tYXA6OmJlZm9yZXtcbiAgICAgIHRvcDogNXB4O1xuICAgIH1cbiAgICBhe1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAmOmhvdmVye1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1hcGEgYXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkbWFpbi1jb2xvciwuNSk7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmFmdGVye1xuICAgICAgY29udGVudDogJ1xcNzInO1xuICAgICAgZm9udC1mYW1pbHk6IFwiYm9pbmFzLW5lZ3Jhc1wiICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDowO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwuNzUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRtYWluLWNvbG9yLDEpO1xuICAgICAgJjphZnRlcntcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZm9ybXtcbiAgICBAaW5jbHVkZSBlZEl0ZW0oMTAwLDUwKTtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgQGluY2x1ZGUgZnJvbShtKXtcbiAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgIH1cbiAgICAuc2VsZWN0LWdyb3Vwe1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJHNlY29uZC1jb2xvcjtcbiAgICAgIGxhYmVse1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIC8vYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB3aWR0aDogcmVtKDMwcHgpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgc2VsZWN0e1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiByZW0oMzRweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBib3JkZXI6IGJvcmRlcigkbWVudS1iZywgMXB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSg3cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyKjI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHotaW5kZXg6IDUwMDtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogYm9yZGVyKCRtZW51LWJnLCAxcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbi5mb3Jte1xuICAkaGVpZ2h0OiAycmVtO1xuICAkYm9yZGVyLWZvcm06IDFweCBzb2xpZCByZ2JhKCRtYWluLWNvbG9yLDEpO1xuICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICBwYWRkaW5nOiAkZ3V0dGVyO1xuICBwYWRkaW5nLXRvcDogJGd1dHRlciAqIDI7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZC1jb2xvciwuMjUpO1xuICBib3JkZXI6ICRib3JkZXItZm9ybTtcbiAgLmlucHV0LWdyb3VwLCAuaW5wdXQtZ3JvdXAtdGV4dGFyZWF7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206JGd1dHRlcioyLjU7XG4gICAgc3BhbntcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxhYmVsLCBpbnB1dHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gICAgbGFiZWx7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1cHg7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICAgIH1cbiAgICBpbnB1dCwgdGV4dGFyZWF7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWFpbi1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAmOmZvY3Vze1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAmICsgbGFiZWx7XG4gICAgICAgICAgdG9wOiAtMS41ZW07XG4gICAgICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhe1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgJiArIGxhYmVse1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXN7XG4gICAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQgKiAyO1xuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5pbnB1dC1ncm91cC10ZXh0YXJlYXtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICB9XG4gIC5pbnB1dC1ncm91cC5sbGVub3tcbiAgICBsYWJlbHtcbiAgICAgIHRvcDogLTEuNWVtO1xuICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIC5pbnB1dC1ncm91cC10ZXh0YXJlYS5sbGVub3tcbiAgICBsYWJlbHtcbiAgICAgIHRvcDogLTEuNWVtO1xuICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIHRleHRhcmVhe1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodCAqIDI7XG4gICAgfVxuICB9XG59XG4uZm9ybS1mb290ZXJ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC5ib3RvbntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5tZXNzYWdlc3tcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5idG57XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRtYWluLWNvbG9yKTtcbiAgICBjb2xvcjogJHNlY29uZC1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHRvKG0pe1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cbiAgfVxufVxuLnN1Y2Nlc3MsIC5lcnJvcntcbiAgcGFkZGluZzogcmVtKDVweCk7XG4gIGNvbG9yOiByZ2JhKCRzZWNvbmQtY29sb3IsLjUpO1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc3VjY2Vzc3tcbiAgYmFja2dyb3VuZDogZGFya2dyZWVuO1xuICAvL2Rpc3BsYXk6IGJsb2NrO1xufVxuLmVycm9ye1xuICBiYWNrZ3JvdW5kOiBkYXJrcmVkO1xufVxuLnJhZGlvLWdyb3Vwe1xuICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyKjI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAucmFkaW9ze1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIGlucHV0e1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICY6Zm9jdXN7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHB7XG4gICAgY29sb3I6ICRtYWluLWNvbG9yO1xuICB9XG5cbn1cbiNmb3JtLXJlY2x1dGFtaWVudG8sICNmb3JtLWNvdGl6YWNpb257XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uZXR3b3Jre1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICBhe1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHJlbSg1MHB4KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAvL2JveC1zaGFkb3c6IDAgMCAwIDJweCAkbWFpbi1jb2xvcjtcbiAgICBjb2xvcjogJGhlYWRlcnMtY29sb3I7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyO1xuICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgJjpudGgtY2hpbGQoMyl7XG4gICAgICBtYXJnaW4tcmlnaHQ6MDtcbiAgICB9XG4gICAgJjpob3ZlcntcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJG1haW4tY29sb3IsLjk1KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAkc2Vjb25kLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuLmljb24tbG9hZC1ie1xuICBhbmltYXRpb246IGdpcmFyIDNzIGxpbmVhciBpbmZpbml0ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB5ZWxsb3c7XG4gIGZvbnQtc2l6ZTogLjVlbTtcbiAgLy90cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAwcHgpIHRyYW5zbGF0ZVkoNTAwcHgpO1xufVxuQGtleWZyYW1lcyBnaXJhciB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgfVxufVxuLmZhLXNwaW5uZXI6YmVmb3Jle1xuICBwYWRkaW5nOiAwIDEuNWVtO1xufVxuLmFjY2VzdG9tYWlse1xuICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICBmbG9hdDogcmlnaHQ7XG59IiwiQGZ1bmN0aW9uIGVtKCRlbCwkcGFyZW50OjE2cHgpe1xyXG4gIEByZXR1cm4gKCRlbCAvICRwYXJlbnQpICogMWVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVtKCRlbCl7XHJcbiAgQHJldHVybiAoJGVsIC8gMTZweCkgKiAxcmVtO1xyXG59XHJcbkBmdW5jdGlvbiBpbWcoJGltYWdlKXtcclxuICBAcmV0dXJuIHVybCgnLi4vaW1nLycgKyAkaW1hZ2UpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdGV4dG8zZCgkbnVtZXJvLCRjb2xvcil7XHJcbiAgJHRleHQtc2hhZG93OiAycHggMnB4ICRjb2xvcjtcclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRudW1lcm8ge1xyXG4gICAgJHRleHQtc2hhZG93OiAnI3skdGV4dC1zaGFkb3d9LFxyXG4gICAgICAgICAjeyRpfXB4ICN7JGl9cHggI3skY29sb3J9JztcclxuICB9XHJcbiAgQHJldHVybiB1bnF1b3RlKCR0ZXh0LXNoYWRvdyk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBib3gzZCgkbnVtZXJvLCRjb2xvcil7XHJcbiAgJGJveC1zaGFkb3c6IDJweCAycHggJGNvbG9yO1xyXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG51bWVybyB7XHJcbiAgICAkYm94LXNoYWRvdzogJyN7JGJveC1zaGFkb3d9LFxyXG4gICAgICAgICAjeyRpfXB4ICN7JGl9cHggI3skY29sb3J9JztcclxuICB9XHJcbiAgQHJldHVybiB1bnF1b3RlKCRib3gtc2hhZG93KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGJvcmRlcigkY29sb3IsJGFuY2hvKXtcclxuICBAcmV0dXJuICRhbmNobyBzb2xpZCAkY29sb3I7XHJcbn1cclxuQGZ1bmN0aW9uIHNoYWRvdygkdW5pdCwkY29sb3Ipe1xyXG4gIEByZXR1cm4gJHVuaXQgJHVuaXQgJHVuaXQgJGNvbG9yO1xyXG59IiwiJGhlaWdodC10aXRsZTogcmVtKDI1MHB4KTtcbi5zZWN0aW9uLXRpdGxle1xuICBoZWlnaHQ6ICRoZWlnaHQtdGl0bGU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXNpemU6IDNlbTtcbiAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGNvbG9yOiAkc2Vjb25kLWNvbG9yO1xuICBAaW5jbHVkZSB0byhtKXtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICB9XG59XG4uc2VjdGlvbi1jb250ZW50e1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvcjtcbiAgcGFkZGluZzogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6ICgkaGVpZ2h0LXRpdGxlIC8gMikqIC0xO1xuICBAaW5jbHVkZSB0byhtKXtcbiAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICBoM3tcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJHNlY29uZC1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICB9XG4gIHVsLCBvbHtcbiAgICBjb2xvcjogJHNlY29uZC1jb2xvcjtcbiAgICBAZXh0ZW5kICVsaXN0LXN0eWxlO1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGZyb20obCl7XG4gICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICB9XG4gICAgbGl7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyICogLjU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICB9XG4gIH1cbiAgcHtcbiAgICBjb2xvcjogJHNlY29uZC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgfVxufVxuIl19 */
