/*!
    Theme Name: justified
    Theme URI:
    Author: vctr
    Author URI:
    Version: 1.0.0
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Text Domain: justified
    Tags:
 */
@import url(css/pixeden.css);
@import url(css/et.css);
@import 'https://fonts.googleapis.com/css?family=Coustard:400,900|Source+Code+Pro:200,300,400,500,600,700,900|Source+Sans+Pro:200,200i,300,300i,400,400i,600,600i,700,700i,900,900i|Bevan';
@font-face {
  font-family: "Nomad";
  font-style: normal;
  font-weight: normal;
  src: url("fonts/Nomad/Nomad.ttf") format("truetype"); }

body {
  font-size: 17.65px;
  text-stroke: 1px rgba(0, 0, 0, 0.1);
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 300;
  letter-spacing: .15px; }

a {
  color: #333;
  -webkit-transition: color .5s;
  -o-transition: color .5s;
  transition: color .5s; }

a:hover {
  text-decoration: none;
  color: #f40; }

h1, h2, h3, h3, h4, h5 {
  font-family: "Coustard", serif;
  font-weight: 300;
  letter-spacing: -1px; }
  h1 small, h2 small, h3 small, h3 small, h4 small, h5 small {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 300; }

time {
  font-style: italic;
  border-bottom: 1px dotted #333; }

ul {
  margin: 0;
  padding: 0; }

._truncate, .contact-form > div label, .post__comment_form .comment-form-author label,
.post__comment_form .comment-form-email label,
.contact-form .comment-form-author label,
.contact-form .comment-form-email label,
.search-form .comment-form-author label,
.search-form .comment-form-email label,
.bbp-search-form .comment-form-author label,
.bbp-search-form .comment-form-email label, .home .post__container__content__link, .post__container__content .post__container__content__link, #bbpress-forums fieldset.bbp-form p label {
  white-space: nowrap;
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis; }

._after, .header__nav:after, .header__shortcuts a i:after, .shortcode--embed:after, h1.h1--section:before,
h2.h2--section:before,
h3.h3--section:before, .home .post__container__content__link:after, .post__card__content:after {
  content: '';
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1; }

::-moz-selection {
  background: #f40;
  color: #fff; }

::selection {
  background: #f40;
  color: #fff; }

._selection--orange *::-moz-selection {
  background: #f40;
  color: #fff; }

._selection--orange *::selection {
  background: #f40;
  color: #fff; }

._selection--black *::-moz-selection {
  background: #fff;
  color: #333; }

._selection--black *::selection {
  background: #fff;
  color: #333; }

* {
  outline-color: #f40 !important; }

::-webkit-input-placeholder {
  color: #fff; }

:-moz-placeholder {
  color: #fff; }

::-moz-placeholder {
  color: #fff; }

:-ms-input-placeholder {
  color: #fff; }

.body .post img {
  max-width: 100%;
  height: auto; }

.header__nav {
  top: 0;
  left: 0;
  height: auto;
  width: 100%;
  z-index: 99999;
  position: fixed;
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .header__nav a {
    color: #fff;
    text-decoration: none;
    display: block;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 200; }
  .header__nav .nav-link:not(.nav-link--icon) a {
    position: relative; }
    .header__nav .nav-link:not(.nav-link--icon) a:after {
      content: '.';
      font-weight: 500;
      position: absolute;
      -webkit-transition: all .25s;
      -o-transition: all .25s;
      transition: all .25s;
      opacity: 0; }
    .header__nav .nav-link:not(.nav-link--icon) a:hover:after {
      opacity: 1; }
  .header__nav .nav-link--icon a:hover {
    color: #b33000; }

.header__nav--hidden {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-duration: .8s;
       -o-transition-duration: .8s;
          transition-duration: .8s; }

.header__nav:after {
  background-image: url(images/bgi--dynamic-orange.jpg);
  -webkit-background-size: cover;
          background-size: cover;
  opacity: .65;
  -webkit-transition: opacity 1s;
  -o-transition: opacity 1s;
  transition: opacity 1s; }

.header__nav.header__nav--flying:after {
  opacity: .9; }

.header__nav .nav-link {
  margin: 0 5px;
  text-align: center;
  vertical-align: middle;
  line-height: 75px; }

.header__nav .nav-link.nav-link--icon {
  width: auto;
  margin: 0; }

.header__nav .nav-link.nav-link--logo {
  width: 75px;
  height: 75px;
  text-indent: -9999px;
  background-image: url(images/logo--white.png);
  -webkit-background-size: auto 100%;
          background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center; }

@media (max-width: 991px) {
  .header__nav .nav-link.nav-link--logo {
    display: none; }
  .header__nav .navbar-brand .nav-link.nav-link--logo {
    display: block; }
  .header__nav .navbar-brand .nav-link:not(.nav-link--icon) {
    width: 100px; }
  .header__nav .nav-link,
  .header__nav .nav-link.nav-link--icon {
    width: 100%;
    line-height: initial; }
    .header__nav .nav-link a,
    .header__nav .nav-link.nav-link--icon a {
      text-align: center; }
  .header__nav .nav-link.nav-link--icon {
    width: auto; } }

.header__banner {
  font-family: "Bevan", cursive;
  color: #fff;
  font-size: 1.25em;
  line-height: 0;
  padding: 25px 0;
  overflow-x: hidden;
  text-shadow: rgba(255, 68, 0, 0.25) 2px 3px 3px; }
  .header__banner span {
    font-size: .6em;
    vertical-align: 2.5px; }
  .header__banner .header__banner__title {
    font-size: 2em;
    line-height: 1.15em;
    letter-spacing: .05em;
    padding: 0;
    text-shadow: rgba(255, 68, 0, 0.75) 2px 3px 3px; }
    @media (max-width: 480px) {
      .header__banner .header__banner__title {
        font-size: 1.35em; } }

.header {
  -webkit-background-size: cover;
          background-size: cover;
  background-position-x: center;
  height: 100vh; }
  .header.header--a {
    background-image: url(images/header--a.jpg); }
  .header.header--b {
    background-image: url(images/header--b.jpg); }
  .header.header--c {
    background-image: url(images/header--c.jpg); }
  .header.header--d {
    background-image: url(images/header--d.jpg); }
  .header.header--e {
    background-image: url(images/header--e.jpg); }
  .header.header--f {
    background-image: url(images/header--f.jpg); }
  .header.header--g {
    background-image: url(images/header--g.jpg); }
  .header.header--h {
    background-image: url(images/header--h.jpg); }
  @media (max-width: 480px) {
    .header.header--a {
      background-position-x: 625px; }
    .header.header--c {
      background-position-x: 845px; }
    .header.header--h {
      background-position-x: 730px; } }
  @media (max-height: 515px) {
    .header {
      height: 515px; } }

.header.header--regular-page {
  height: 515px; }
  .header.header--regular-page.header--a {
    background-position-y: 30%; }
  .header.header--regular-page.header--b {
    background-position-y: 55%; }
  .header.header--regular-page.header--c {
    background-position-y: 15%; }
  .header.header--regular-page.header--d {
    background-position-y: 30%; }
  .header.header--regular-page.header--e {
    background-position-y: 30%; }
  .header.header--regular-page.header--f {
    background-position-y: 45%; }
  .header.header--regular-page.header--g {
    background-position-y: 0%; }
  .header.header--regular-page.header--h {
    background-position-y: 10%; }
  .header.header--regular-page .header__shortcuts {
    display: none; }

.header__content {
  padding-bottom: 75px; }

@media (max-width: 768px) {
  .header__shortcuts {
    display: none; } }

.header__shortcuts a {
  color: #fff;
  display: block;
  position: relative;
  padding-bottom: 15px; }
  .header__shortcuts a i {
    display: block;
    padding: 25px 5px;
    width: 65%;
    margin: 0 auto;
    font-size: 2.5em; }
    .header__shortcuts a i:after {
      background-image: url(images/bgi--orange.jpg);
      opacity: 0.65;
      -webkit-transition: background-image .5s;
      -o-transition: background-image .5s;
      transition: background-image .5s; }

.header__shortcuts a:hover i:after {
  background-image: url(images/bgi--black.jpg); }

.header__dummy {
  background: url(images/bgi--scrapped-white.png);
  background-position: 0 0;
  height: 100px;
  margin-top: -100px; }

.footer__dummy {
  background: url(images/bgi--scrapped-black.png);
  background-position: 0 0;
  height: 500px;
  margin-top: -100px; }

.footer {
  position: relative;
  background: url(images/bgi--black.jpg);
  color: #fff; }
  .footer a {
    color: #fff; }

.footer__menu li {
  display: inline-block;
  padding-left: 0; }

.footer__menu a:hover {
  color: #f40; }

.footer__social li {
  display: inline-block;
  font-size: 1.75em;
  padding: 5px 15px; }

.footer__social a:hover {
  color: #f40; }

.footer__comments {
  background-image: url(images/bgi--orange.jpg); }
  .footer__comments a:hover {
    color: #333; }

.footer__credit a {
  color: #fff;
  background: rgba(255, 255, 255, 0.25); }

.footer__credit small {
  color: #ccc; }

.footer__credit .fa-heart {
  -webkit-animation: heart-beat .5s infinite alternate;
          animation: heart-beat .5s infinite alternate;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center; }

@-webkit-keyframes heart-beat {
  to {
    -webkit-transform: scale(1.25);
            transform: scale(1.25); } }

@keyframes heart-beat {
  to {
    -webkit-transform: scale(1.25);
            transform: scale(1.25); } }

.body {
  background: url(images/bgi--white.jpg); }

.post ul, .post ol {
  padding-left: 30px;
  margin-bottom: 1rem; }

.post ol li {
  padding-left: 5px; }

.post h1 {
  margin-bottom: 25px; }

.post p a, .post ul a, .post li a, .post blockquote a, .post table a {
  color: #f40;
  padding-bottom: 1.5px;
  -webkit-text-decoration: underline rgba(255, 68, 0, 0.5);
          text-decoration: underline rgba(255, 68, 0, 0.5);
  border-bottom: 3px dashed transparent;
  position: relative; }
  .post p a:hover, .post ul a:hover, .post li a:hover, .post blockquote a:hover, .post table a:hover {
    border-bottom-color: #f40;
    color: #e63d00; }
  .post p a:hover:after, .post ul a:hover:after, .post li a:hover:after, .post blockquote a:hover:after, .post table a:hover:after {
    content: ''; }

.post .table, .post table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1rem;
  background-color: transparent; }
  .post .table th, .post table th,
  .post .table td,
  .post table td {
    padding: 0.75rem;
    vertical-align: top;
    border-top: 1px solid #dee2e6; }
  .post .table thead th, .post table thead th {
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6; }
  .post .table tbody + tbody, .post table tbody + tbody {
    border-top: 2px solid #dee2e6; }
  .post .table .table, .post table .table, .post .table table, .post table table {
    background-color: #fff; }

.post .table-sm th,
.post .table-sm td {
  padding: 0.3rem; }

.post .table-bordered {
  border: 1px solid #dee2e6; }
  .post .table-bordered th,
  .post .table-bordered td {
    border: 1px solid #dee2e6; }
  .post .table-bordered thead th,
  .post .table-bordered thead td {
    border-bottom-width: 2px; }

.post .table-striped tbody tr:nth-of-type(odd), .post table tbody tr:nth-of-type(odd) {
  background-color: rgba(51, 51, 51, 0.05); }

.post .table-hover tbody tr:hover {
  background-color: rgba(51, 51, 51, 0.075); }

.post .table-primary,
.post .table-primary > th,
.post .table-primary > td {
  background-color: #b8daff; }

.post .table-hover .table-primary:hover {
  background-color: #9fcdff; }
  .post .table-hover .table-primary:hover > td,
  .post .table-hover .table-primary:hover > th {
    background-color: #9fcdff; }

.post .table-secondary,
.post .table-secondary > th,
.post .table-secondary > td {
  background-color: #d6d8db; }

.post .table-hover .table-secondary:hover {
  background-color: #c8cbcf; }
  .post .table-hover .table-secondary:hover > td,
  .post .table-hover .table-secondary:hover > th {
    background-color: #c8cbcf; }

.post .table-success,
.post .table-success > th,
.post .table-success > td {
  background-color: #c3e6cb; }

.post .table-hover .table-success:hover {
  background-color: #b1dfbb; }
  .post .table-hover .table-success:hover > td,
  .post .table-hover .table-success:hover > th {
    background-color: #b1dfbb; }

.post .table-info,
.post .table-info > th,
.post .table-info > td {
  background-color: #bee5eb; }

.post .table-hover .table-info:hover {
  background-color: #abdde5; }
  .post .table-hover .table-info:hover > td,
  .post .table-hover .table-info:hover > th {
    background-color: #abdde5; }

.post .table-warning,
.post .table-warning > th,
.post .table-warning > td {
  background-color: #ffeeba; }

.post .table-hover .table-warning:hover {
  background-color: #ffe8a1; }
  .post .table-hover .table-warning:hover > td,
  .post .table-hover .table-warning:hover > th {
    background-color: #ffe8a1; }

.post .table-danger,
.post .table-danger > th,
.post .table-danger > td {
  background-color: #f5c6cb; }

.post .table-hover .table-danger:hover {
  background-color: #f1b0b7; }
  .post .table-hover .table-danger:hover > td,
  .post .table-hover .table-danger:hover > th {
    background-color: #f1b0b7; }

.post .table-light,
.post .table-light > th,
.post .table-light > td {
  background-color: #fdfdfe; }

.post .table-hover .table-light:hover {
  background-color: #ececf6; }
  .post .table-hover .table-light:hover > td,
  .post .table-hover .table-light:hover > th {
    background-color: #ececf6; }

.post .table-dark,
.post .table-dark > th,
.post .table-dark > td {
  background-color: #c6c8ca; }

.post .table-hover .table-dark:hover {
  background-color: #b9bbbe; }
  .post .table-hover .table-dark:hover > td,
  .post .table-hover .table-dark:hover > th {
    background-color: #b9bbbe; }

.post .table-active,
.post .table-active > th,
.post .table-active > td {
  background-color: rgba(51, 51, 51, 0.075); }

.post .table-hover .table-active:hover {
  background-color: rgba(38, 38, 38, 0.075); }
  .post .table-hover .table-active:hover > td,
  .post .table-hover .table-active:hover > th {
    background-color: rgba(38, 38, 38, 0.075); }

.post .table .thead-dark th, .post table .thead-dark th {
  color: #fff;
  background-color: #212529;
  border-color: #32383e; }

.post .table .thead-light th, .post table .thead-light th {
  color: #495057;
  background-color: #e9ecef;
  border-color: #dee2e6; }

.post .table-dark {
  color: #fff;
  background-color: #212529; }
  .post .table-dark th,
  .post .table-dark td,
  .post .table-dark thead th {
    border-color: #32383e; }
  .post .table-dark.table-bordered {
    border: 0; }
  .post .table-dark.table-striped tbody tr:nth-of-type(odd), .post table.table-dark tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.05); }
  .post .table-dark.table-hover tbody tr:hover {
    background-color: rgba(255, 255, 255, 0.075); }

@media (max-width: 575.98px) {
  .post .table-responsive-sm {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .post .table-responsive-sm > .table-bordered {
      border: 0; } }

@media (max-width: 767.98px) {
  .post .table-responsive-md {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .post .table-responsive-md > .table-bordered {
      border: 0; } }

@media (max-width: 991.98px) {
  .post .table-responsive-lg {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .post .table-responsive-lg > .table-bordered {
      border: 0; } }

@media (max-width: 1199.98px) {
  .post .table-responsive-xl {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .post .table-responsive-xl > .table-bordered {
      border: 0; } }

.post .table-responsive, .post table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }
  .post .table-responsive > .table-bordered, .post table > .table-bordered {
    border: 0; }

.post table .header {
  height: auto; }

.post strong {
  color: #f40; }

.post blockquote {
  position: relative;
  padding: 25px;
  padding-top: 15px; }
  .post blockquote:first-line {
    font-weight: 700 !important; }
  .post blockquote:after {
    content: url(images/quote.svg);
    position: absolute;
    left: 25px;
    top: 25px;
    -webkit-transform: rotate(-5deg) scale(3);
        -ms-transform: rotate(-5deg) scale(3);
            transform: rotate(-5deg) scale(3);
    opacity: .15; }

.post .post__comments__comment__user a,
.post .post__comments__comment__user a:after,
.post .sharedaddy a,
.post .sharedaddy a:after {
  content: none !important;
  border: 0;
  color: inherit; }

.post--page .sharedaddy {
  margin-top: 50px; }

.shortcode {
  padding-top: 15px;
  padding-bottom: 5px;
  margin-bottom: 15px;
  color: #fff;
  position: relative;
  z-index: 0; }

.shortcode--embed a {
  color: #fff; }

.shortcode--embed p {
  margin-bottom: 0px;
  font-size: .9em; }

.shortcode--embed ul {
  margin-left: 15px;
  padding-bottom: 5px; }

.shortcode--embed:after {
  background: url(images/bgi--black.jpg);
  opacity: .85;
  z-index: -1;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 7.5px solid rgba(255, 255, 255, 0.15); }

.shortcode--embed:hover a, .shortcode--embed:hover a:hover, .shortcode--embed:hover strong {
  color: #fff; }

.shortcode--embed:hover:after {
  background: url(images/bgi--orange.jpg); }

.shortcode--video {
  padding-bottom: 15px; }
  .shortcode--video .jwplayer {
    max-width: 100%; }

/*
 * Page. Jetpack Contact Form
 */
.contact-form > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 5px; }
  .contact-form > div input[type='text'],
  .contact-form > div input[type='email'] {
    width: 80%; }
  .contact-form > div label {
    width: 20%; }
    .contact-form > div label span {
      display: none; }

/*
 * Post. Comment. Form
 */
.post__comment_form .comment-reply-title,
.contact-form .comment-reply-title,
.search-form .comment-reply-title,
.bbp-search-form .comment-reply-title {
  height: 1px;
  overflow: hidden; }

.post__comment_form .comment-notes,
.contact-form .comment-notes,
.search-form .comment-notes,
.bbp-search-form .comment-notes {
  display: none; }

.post__comment_form .comment-form-author,
.post__comment_form .comment-form-email,
.contact-form .comment-form-author,
.contact-form .comment-form-email,
.search-form .comment-form-author,
.search-form .comment-form-email,
.bbp-search-form .comment-form-author,
.bbp-search-form .comment-form-email {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 5px; }
  .post__comment_form .comment-form-author label,
  .post__comment_form .comment-form-email label,
  .contact-form .comment-form-author label,
  .contact-form .comment-form-email label,
  .search-form .comment-form-author label,
  .search-form .comment-form-email label,
  .bbp-search-form .comment-form-author label,
  .bbp-search-form .comment-form-email label {
    overflow: hidden;
    width: 30%; }
    .post__comment_form .comment-form-author label .required,
    .post__comment_form .comment-form-email label .required,
    .contact-form .comment-form-author label .required,
    .contact-form .comment-form-email label .required,
    .search-form .comment-form-author label .required,
    .search-form .comment-form-email label .required,
    .bbp-search-form .comment-form-author label .required,
    .bbp-search-form .comment-form-email label .required {
      display: none; }
  .post__comment_form .comment-form-author input,
  .post__comment_form .comment-form-email input,
  .contact-form .comment-form-author input,
  .contact-form .comment-form-email input,
  .search-form .comment-form-author input,
  .search-form .comment-form-email input,
  .bbp-search-form .comment-form-author input,
  .bbp-search-form .comment-form-email input {
    width: 70%; }

.post__comment_form .comment-form-comment,
.contact-form .comment-form-comment,
.search-form .comment-form-comment,
.bbp-search-form .comment-form-comment {
  margin-bottom: 0; }
  .post__comment_form .comment-form-comment label,
  .contact-form .comment-form-comment label,
  .search-form .comment-form-comment label,
  .bbp-search-form .comment-form-comment label {
    display: none; }

.post__comment_form input[type='text'],
.post__comment_form input[type='email'],
.post__comment_form input[type='search'],
.post__comment_form textarea,
.contact-form input[type='text'],
.contact-form input[type='email'],
.contact-form input[type='search'],
.contact-form textarea,
.search-form input[type='text'],
.search-form input[type='email'],
.search-form input[type='search'],
.search-form textarea,
.bbp-search-form input[type='text'],
.bbp-search-form input[type='email'],
.bbp-search-form input[type='search'],
.bbp-search-form textarea {
  border: 0;
  color: #fff;
  padding: 0 7.5px;
  font-weight: 300;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url(images/bgi--black.jpg);
  border: 7.5px solid transparent; }
  .post__comment_form input[type='text']:focus,
  .post__comment_form input[type='email']:focus,
  .post__comment_form input[type='search']:focus,
  .post__comment_form textarea:focus,
  .contact-form input[type='text']:focus,
  .contact-form input[type='email']:focus,
  .contact-form input[type='search']:focus,
  .contact-form textarea:focus,
  .search-form input[type='text']:focus,
  .search-form input[type='email']:focus,
  .search-form input[type='search']:focus,
  .search-form textarea:focus,
  .bbp-search-form input[type='text']:focus,
  .bbp-search-form input[type='email']:focus,
  .bbp-search-form input[type='search']:focus,
  .bbp-search-form textarea:focus {
    border: 7.5px solid rgba(255, 255, 255, 0.25); }

.post__comment_form [type='submit'],
.post__comment_form textarea,
.contact-form [type='submit'],
.contact-form textarea,
.search-form [type='submit'],
.search-form textarea,
.bbp-search-form [type='submit'],
.bbp-search-form textarea {
  width: 100%;
  max-width: 100%; }

.post__comment_form textarea,
.contact-form textarea,
.search-form textarea,
.bbp-search-form textarea {
  padding: 7.5px 10px;
  height: 100px;
  -webkit-transition: height 1s;
  -o-transition: height 1s;
  transition: height 1s; }
  .post__comment_form textarea:focus,
  .contact-form textarea:focus,
  .search-form textarea:focus,
  .bbp-search-form textarea:focus {
    height: 300px; }

.post__comment_form [type='submit'],
.contact-form [type='submit'],
.search-form [type='submit'],
.bbp-search-form [type='submit'] {
  border: 0;
  background: transparent;
  padding-bottom: 25px; }

/*
 * Posts' Navigation
 */
.posts_navigation ul li {
  display: inline-block;
  color: #fff; }

.posts_navigation ul li.disabled a:hover {
  background-image: url(images/button--black.png);
  opacity: .9;
  color: #ccc; }

._button, .posts_navigation ul li a, ._button--reverse, .post__comment_form [type='submit'],
.contact-form [type='submit'],
.search-form [type='submit'],
.bbp-search-form [type='submit'], #bbpress-forums fieldset.bbp-form button[type='submit'] {
  display: inline-block;
  color: #fff;
  font-family: "Source Code Pro", monospace;
  text-transform: uppercase;
  font-weight: 700;
  height: 75px;
  padding: 15px 25px;
  cursor: pointer;
  background: url(images/button--black.png);
  -webkit-background-size: auto 100%;
          background-size: auto 100%; }
  ._button:hover, .posts_navigation ul li a:hover, ._button--reverse:hover, .post__comment_form :hover[type='submit'],
  .contact-form :hover[type='submit'],
  .search-form :hover[type='submit'],
  .bbp-search-form :hover[type='submit'], #bbpress-forums fieldset.bbp-form button:hover[type='submit'] {
    background-image: url(images/button--orange.png); }

._button--reverse, .post__comment_form [type='submit'],
.contact-form [type='submit'],
.search-form [type='submit'],
.bbp-search-form [type='submit'] {
  background: url(images/button--orange.png);
  -webkit-background-size: auto 100%;
          background-size: auto 100%; }
  ._button--reverse:hover, .post__comment_form :hover[type='submit'],
  .contact-form :hover[type='submit'],
  .search-form :hover[type='submit'],
  .bbp-search-form :hover[type='submit'] {
    background-image: url(images/button--black.png); }

/*
 * Search. Form
 */
.search-form,
.bbp-search-form {
  margin: 25px 0; }
  .search-form span,
  .bbp-search-form span {
    display: none; }
  .search-form input[type='search'],
  .search-form input[type='text'],
  .bbp-search-form input[type='search'],
  .bbp-search-form input[type='text'] {
    height: 50px;
    vertical-align: 5px; }
  .search-form [type='submit'],
  .bbp-search-form [type='submit'] {
    width: auto;
    height: 60px; }

/*
 * Search. Result
 */
.search .shortcode--gallery {
  padding-bottom: 15px; }

.search .shortcode--video .jwplayer {
  max-height: 170px; }

h1.h1--section,
h2.h2--section,
h3.h3--section {
  position: relative;
  padding-left: 20px;
  padding-top: 30px;
  padding-bottom: 7.5px;
  font-family: "Nomad";
  font-weight: normal;
  text-transform: lowercase;
  font-size: 3em;
  margin-top: 50px;
  margin-bottom: 15px;
  color: #f40;
  line-height: .65em; }
  h1.h1--section:before,
  h2.h2--section:before,
  h3.h3--section:before {
    background-image: url(images/bgi--orange.jpg);
    opacity: .95;
    width: 7.5px; }
  h1.h1--section small,
  h2.h2--section small,
  h3.h3--section small {
    display: block;
    font-size: 58%;
    font-style: italic;
    font-family: initial;
    font-size: .35em;
    padding-left: 2.5px; }
  h1.h1--section a,
  h2.h2--section a,
  h3.h3--section a {
    color: #f40; }
  h1.h1--section a:hover,
  h2.h2--section a:hover,
  h3.h3--section a:hover {
    color: #e63d00; }
  h1.h1--section .fa,
  h2.h2--section .fa,
  h3.h3--section .fa {
    font-size: .45em;
    -webkit-transform: rotate(95deg);
        -ms-transform: rotate(95deg);
            transform: rotate(95deg); }

.post__container {
  height: 275px;
  width: 100%;
  overflow: hidden;
  position: relative;
  display: inline-block;
  cursor: pointer; }

.post--_jt_video .post__container {
  height: 165px; }
  @media (max-width: 575px) {
    .post--_jt_video .post__container {
      height: 230px; } }

.post--_jt_filmography .post__container {
  height: 265px; }

.single-post .post--_jt_video .post__container {
  height: 95px; }

.single-post .shortcode.shortcode--playlist .post__container {
  height: 125px; }

.post__container__image {
  height: 100%;
  width: 100%;
  -webkit-background-size: cover;
          background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }

.home .post__container__content__link {
  width: 95%;
  color: #fff;
  padding: 5px 15px;
  margin: 5px 0;
  -webkit-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out;
  position: relative; }
  .home .post__container__content__link:after {
    background: url(images/bgi--orange.jpg);
    opacity: .85; }

.post__container__content {
  z-index: 999;
  bottom: 0;
  position: absolute;
  width: 100%;
  padding-left: 15px;
  padding-bottom: 10px; }
  .post__container__content .post__container__content__link {
    width: 95%;
    color: #fff;
    text-shadow: rgba(51, 51, 51, 0.75) 2px 3px 3px; }
  .post__container__content .post__container__content__icons .fa {
    color: #fff;
    font-size: 1.125em;
    border: 1px solid #fff;
    -webkit-border-radius: 50%;
            border-radius: 50%;
    display: inline-block;
    width: 52px;
    height: 52px;
    position: relative; }
    .post__container__content .post__container__content__icons .fa:before {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }

.post__container:hover .post__container__image,
.post__container:focus .post__container__image {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-transition: all 0.8s cubic-bezier(0.28, 0.75, 0.25, 1);
  -o-transition: all 0.8s cubic-bezier(0.28, 0.75, 0.25, 1);
  transition: all 0.8s cubic-bezier(0.28, 0.75, 0.25, 1); }

.post__container:hover .post__container__image:before,
.post__container:focus .post__container__image:before {
  display: block; }

.post__container__image:before {
  content: '';
  display: none;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(images/bgi--orange.jpg);
  opacity: .35; }

.section__multimedia .card {
  -webkit-box-shadow: inset 0 0 3rem 0.5rem rgba(0, 0, 0, 0.5);
          box-shadow: inset 0 0 3rem 0.5rem rgba(0, 0, 0, 0.5);
  color: #333;
  background: transparent;
  -webkit-border-radius: 0;
          border-radius: 0;
  cursor: pointer;
  border: 0; }
  .section__multimedia .card:hover .post__card__content {
    opacity: 0; }
  .section__multimedia .card:before {
    content: '';
    display: block;
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 5;
    -webkit-box-shadow: inset 0 0 3rem 0.5rem rgba(0, 0, 0, 0.5);
            box-shadow: inset 0 0 3rem 0.5rem rgba(0, 0, 0, 0.5); }
  .section__multimedia .card:hover:before {
    content: '';
    -webkit-box-shadow: none;
            box-shadow: none; }
    .section__multimedia .card:hover:before img {
      -webkit-filter: blur(0px);
              filter: blur(0px); }
  .section__multimedia .card img {
    -webkit-filter: blur(0.5px);
            filter: blur(0.5px);
    -webkit-transition: all 250ms ease-in-out;
    -o-transition: all 250ms ease-in-out;
    transition: all 250ms ease-in-out; }

.post__card {
  position: relative; }

.post__card__content {
  z-index: 1;
  position: absolute;
  bottom: 0;
  color: white;
  padding: 5px 15px;
  margin: 5px 15px;
  -webkit-transition: all 250ms ease-in-out;
  -o-transition: all 250ms ease-in-out;
  transition: all 250ms ease-in-out; }
  @media (max-width: 991px) {
    .post__card__content {
      display: none; } }
  .post__card__content:after {
    background: url(images/bgi--orange.jpg);
    opacity: .85; }
  .post__card__content i {
    padding-right: 5px; }

.multimedia:before {
  content: '\f1c6';
  font-family: "FontAwesome";
  padding-right: 5px; }

.audio:before {
  content: '\f1c7';
  font-family: "FontAwesome";
  padding-right: 5px; }

.video:before {
  content: '\f1c8';
  font-family: "FontAwesome";
  padding-right: 5px; }

.section__posts small {
  font-size: 1.15em; }

/*
 * Overrides
 */
.navbar-dark .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.75); }

/*
 * bbPress
 */
#bbpress-forums .bbp-forum-info .bbp-forum-content, #bbpress-forums p.bbp-topic-meta,
#bbpress-forums ul.bbp-lead-topic, #bbpress-forums ul.bbp-topics, #bbpress-forums ul.bbp-forums, #bbpress-forums ul.bbp-replies, #bbpress-forums ul.bbp-search-results,
div.bbp-template-notice p {
  font-size: 17.65px; }

#bbpress-forums {
  font-size: 17.65px; }

.bbpress .avatar {
  width: 30px;
  height: 30px;
  -webkit-border-radius: 50%;
          border-radius: 50%; }

.bbpress .bbp-topic-author .avatar {
  width: 75px;
  height: 75px; }

.bbpress .bbp-topics-front ul.super-sticky, .bbpress .bbp-topics ul.super-sticky, .bbpress .bbp-topics ul.sticky, .bbpress .bbp-forum-content ul.sticky {
  background-color: rgba(255, 68, 0, 0.15) !important; }

.bbpress div.bbp-template-notice {
  background-color: rgba(255, 68, 0, 0.35) !important;
  border-color: #f40;
  color: #fff; }

.bbpress .bbp-forum-title {
  font-size: 1.3em; }

#bbpress-forums fieldset.bbp-form {
  padding-left: 0;
  padding-right: 0; }
  #bbpress-forums fieldset.bbp-form legend {
    font-family: "Bevan", cursive; }
  #bbpress-forums fieldset.bbp-form p {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    #bbpress-forums fieldset.bbp-form p label {
      width: 30%; }
    #bbpress-forums fieldset.bbp-form p input {
      width: 70%; }
  #bbpress-forums fieldset.bbp-form button[type='submit'] {
    border: 0;
    background-color: transparent;
    padding-bottom: 25px; }

#wpstats {
  display: none; }

div.bbp-template-notice li,
div.bbp-template-notice p {
  font-size: 1em; }

#bbpress-forums .sharedaddy li {
  margin-right: 5px; }

#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span.current {
  font-size: 1em; }

.bbp-topic-permalink,
.bbp-forum-title {
  font-weight: bold; }

#bbpress-forums li.bbp-body ul.forum,
#bbpress-forums li.bbp-body ul.topic {
  padding: 15px; }

.jw-reset.jw-button-container {
  opacity: .5; }
  .jw-reset.jw-button-container svg path {
    fill: #fff !important; }
  .jw-reset.jw-button-container svg polygon {
    color: #fff !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zYXNzIiwiX2dlbmVyaWMuc2FzcyIsIl9taXhpbnMuc2NzcyIsIl9oZWFkZXIuc2FzcyIsIl9mb290ZXIuc2FzcyIsIl9ib2R5LnNhc3MiLCJib290c3RyYXAvX2Z1bmN0aW9ucy5zY3NzIiwiYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsImJvb3RzdHJhcC9fbWl4aW5zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9faG92ZXIuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWRnZS5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcmVzaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19zY3JlZW4tcmVhZGVyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19zaXplLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2FsZXJ0LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19idXR0b25zLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19jYXJldC5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fbGlzdHMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2JveC1zaGFkb3cuc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsImJvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCJib290c3RyYXAvbWl4aW5zL19mbG9hdC5zY3NzIiwiYm9vdHN0cmFwL190YWJsZXMuc2NzcyIsIl9iYWdnYWdlLnNhc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgJ1VURi04JztcblxuLyohXG4gICAgVGhlbWUgTmFtZToganVzdGlmaWVkXG4gICAgVGhlbWUgVVJJOlxuICAgIEF1dGhvcjogdmN0clxuICAgIEF1dGhvciBVUkk6XG4gICAgVmVyc2lvbjogMS4wLjBcbiAgICBMaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuICAgIExpY2Vuc2UgVVJJOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG4gICAgVGV4dCBEb21haW46IGp1c3RpZmllZFxuICAgIFRhZ3M6XG4gKi9cblxuQGltcG9ydCAnZ2VuZXJpYyc7XG5AaW1wb3J0ICdoZWFkZXInO1xuQGltcG9ydCAnZm9vdGVyJztcbkBpbXBvcnQgJ2JvZHknO1xuQGltcG9ydCAnYmFnZ2FnZSc7XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4kc2NyZWVuLXhzOiA0ODBweCAhZGVmYXVsdDtcbiRzY3JlZW4tc206IDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZDogOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnOiAxMjAwcHggIWRlZmF1bHQ7XG5cbiRibGFjazogIzMzMztcbiRibGFjay0tZGFyazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRncmF5OiAjY2NjO1xuXG4kb3JhbmdlOiAjZjQwO1xuXG4kZnctLXRoaW46IDEwMDtcbiRmdy0tZXh0cmEtbGlnaHQ6IDIwMDtcbiRmdy0tbGlnaHQ6IDMwMDtcbiRmdy0tcmVndWxhcjogNDAwO1xuJGZ3LS1tZWRpdW06IDUwMDtcbiRmdy0tc2VtaS1ib2xkOiA2MDA7XG4kZnctLWJvbGQ6IDcwMDtcbiRmdy0tYmxhY2s6IDkwMDtcblxuJGZmLS1jOiAnQ291c3RhcmQnLCBzZXJpZjtcbiRmZi0tc3NwOiAnU291cmNlIFNhbnMgUHJvJywgc2Fucy1zZXJpZjtcbiRmZi0tc2NwOiAnU291cmNlIENvZGUgUHJvJywgbW9ub3NwYWNlO1xuJGZmLS1iOiAnQmV2YW4nLCBjdXJzaXZlO1xuJGZmLS1mYTogJ0ZvbnRBd2Vzb21lJztcbiRmZi0tbjogJ05vbWFkJztcblxuJGZzOiAxNy42NXB4O1xuXG5AaW1wb3J0ICdtaXhpbnMnO1xuXG5AaW1wb3J0ICdjc3MvcGl4ZWRlbi5jc3MnO1xuQGltcG9ydCAnY3NzL2V0LmNzcyc7IC8vIERvZXMgbm90IG5lZWQgJGZmLS1ldCwgYWxyZWFkeSBkZWZpbmVkIGluIC5jc3NcblxuQGluY2x1ZGUgZm9udC1mYWNlKCAnTm9tYWQnLCAnZm9udHMvTm9tYWQvTm9tYWQnLCBub3JtYWwsIG5vcm1hbCwgdHRmICk7XG5AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Q291c3RhcmQ6NDAwLDkwMHxTb3VyY2UrQ29kZStQcm86MjAwLDMwMCw0MDAsNTAwLDYwMCw3MDAsOTAwfFNvdXJjZStTYW5zK1BybzoyMDAsMjAwaSwzMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw5MDAsOTAwaXxCZXZhbic7XG5cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogJGZzO1xuICAgIHRleHQtc3Ryb2tlOiAxcHggcmdiYSggMCwgMCwgMCwgMC4xICk7XG4gICAgZm9udC1mYW1pbHk6ICRmZi0tc3NwO1xuICAgIGZvbnQtd2VpZ2h0OiAkZnctLWxpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMTVweDsgfVxuXG5hIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC41czsgfVxuXG5hOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRvcmFuZ2U7IH1cblxuaDEsIGgyLCBoMywgaDMsIGg0LCBoNSB7XG4gICAgZm9udC1mYW1pbHk6ICRmZi0tYztcbiAgICBmb250LXdlaWdodDogJGZ3LS1saWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZi0tc3NwO1xuICAgICAgICBmb250LXdlaWdodDogJGZ3LS1saWdodDsgfSB9XG5cblxudGltZSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGJsYWNrOyB9XG5cbnVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uX3RydW5jYXRlIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cblxuLl9hZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICBjb2xvcjogJHdoaXRlOyB9XG5cbi5fc2VsZWN0aW9uLS1vcmFuZ2Uge1xuICAgICo6OnNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7IH0gfVxuXG4uX3NlbGVjdGlvbi0tYmxhY2sge1xuICAgICo6OnNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjazsgfSB9XG5cbioge1xuICAgIG91dGxpbmUtY29sb3I6ICRvcmFuZ2UgIWltcG9ydGFudDsgfVxuXG5AaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR3aGl0ZTsgfVxuXG4uYm9keSAucG9zdCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFN0cmluZyBSZXBsYWNlXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcclxuICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICAgIEBpZiAkaW5kZXgge1xyXG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZvbnQgRmFjZVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuQG1peGluIGZvbnQtZmFjZSgkbmFtZSwgJHBhdGgsICR3ZWlnaHQ6IG51bGwsICRzdHlsZTogbnVsbCwgJGV4dHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcclxuICAgICRzcmM6IG51bGw7XHJcblxyXG4gICAgJGV4dG1vZHM6IChcclxuICAgICAgICBlb3Q6IFwiP1wiLFxyXG4gICAgICAgIHN2ZzogXCIjXCIgKyBzdHItcmVwbGFjZSgkbmFtZSwgXCIgXCIsIFwiX1wiKVxyXG4gICAgKTtcclxuXHJcbiAgICAkZm9ybWF0czogKFxyXG4gICAgICAgIG90ZjogXCJlbWJlZGRlZC1vcGVudHlwZVwiLFxyXG4gICAgICAgIHR0ZjogXCJ0cnVldHlwZVwiXHJcbiAgICApO1xyXG5cclxuICAgIEBlYWNoICRleHQgaW4gJGV4dHMge1xyXG4gICAgICAgICRleHRtb2Q6IGlmKG1hcC1oYXMta2V5KCRleHRtb2RzLCAkZXh0KSwgJGV4dCArIG1hcC1nZXQoJGV4dG1vZHMsICRleHQpLCAkZXh0KTtcclxuICAgICAgICAkZm9ybWF0OiBpZihtYXAtaGFzLWtleSgkZm9ybWF0cywgJGV4dCksIG1hcC1nZXQoJGZvcm1hdHMsICRleHQpLCAkZXh0KTtcclxuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgXCIuXCIgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xyXG4gICAgfVxyXG5cclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkbmFtZSk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHN0eWxlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xyXG4gICAgICAgIHNyYzogJHNyYztcclxuICAgIH1cclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gZW1cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAxNikge1xyXG4gIEByZXR1cm4gI3skcGl4ZWxzLyRjb250ZXh0fWVtO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBwbGFjZWhvbGRlclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5AbWl4aW4gb3B0aW9uYWwtYXQtcm9vdCgkc2VsKSB7XHJcbiAgQGF0LXJvb3QgI3tpZihub3QgJiwgJHNlbCwgc2VsZWN0b3ItYXBwZW5kKCYsICRzZWwpKX0ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcicpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tb3otcGxhY2Vob2xkZXInKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzo6LW1vei1wbGFjZWhvbGRlcicpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgb3B0aW9uYWwtYXQtcm9vdCgnOi1tcy1pbnB1dC1wbGFjZWhvbGRlcicpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4uaGVhZGVyX19uYXYge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTk5OTtcblxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXMgY3ViaWMtYmV6aWVyKCAuMTY1LCAuODQsIC40NCwxICk7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZi0tc3NwO1xuICAgICAgICBmb250LXdlaWdodDogJGZ3LS1leHRyYS1saWdodDsgfVxuXG4gICAgLm5hdi1saW5rOm5vdCgubmF2LWxpbmstLWljb24pIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnLic7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LS1tZWRpdW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cztcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfSB9XG5cbiAgICAubmF2LWxpbmstLWljb24ge1xuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oICRvcmFuZ2UsIDE1JSApOyB9IH0gfVxuXG4uaGVhZGVyX19uYXYtLWhpZGRlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtMTAwJSApO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC44czsgfVxuXG4uaGVhZGVyX19uYXYge1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kIC5fYWZ0ZXI7XG5cbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpbWFnZXMvYmdpLS1keW5hbWljLW9yYW5nZS5qcGcgKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBvcGFjaXR5OiAuNjU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7IH1cblxuICAgICYuaGVhZGVyX19uYXYtLWZseWluZyB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogLjk7IH0gfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgLy8gbWluLXdpZHRoOiAxMDBweFxuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4OyB9XG5cbiAgICAubmF2LWxpbmsubmF2LWxpbmstLWljb24ge1xuICAgICAgICAvLyBtaW4td2lkdGg6IDBcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDsgfVxuXG4gICAgLm5hdi1saW5rLm5hdi1saW5rLS1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIGhlaWdodDogNzVweDtcblxuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIGltYWdlcy9sb2dvLS13aGl0ZS5wbmcgKTtcblxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbiAgICBAbWVkaWEgKCBtYXgtd2lkdGg6ICRzY3JlZW4tbWQgLSAxcHggKSB7XG4gICAgICAgIC5uYXYtbGluay5uYXYtbGluay0tbG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAgICAgLm5hdmJhci1icmFuZCB7XG4gICAgICAgICAgICAubmF2LWxpbmsubmF2LWxpbmstLWxvZ28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICAubmF2LWxpbms6bm90KC5uYXYtbGluay0taWNvbikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbiAgICAgICAgLm5hdi1saW5rLFxuICAgICAgICAubmF2LWxpbmsubmF2LWxpbmstLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuICAgICAgICAubmF2LWxpbmsubmF2LWxpbmstLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfSB9XG5cbi5oZWFkZXJfX2Jhbm5lciB7XG4gICAgZm9udC1mYW1pbHk6ICRmZi0tYjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgdGV4dC1zaGFkb3c6IHRyYW5zcGFyZW50aXplKCAkb3JhbmdlLCAuNzUgKSAycHggM3B4IDNweDtcblxuICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IC42ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAyLjVweDsgfVxuXG4gICAgLmhlYWRlcl9fYmFubmVyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgdGV4dC1zaGFkb3c6IHRyYW5zcGFyZW50aXplKCAkb3JhbmdlLCAuMjUgKSAycHggM3B4IDNweDtcblxuICAgICAgICBAbWVkaWEgKCBtYXgtd2lkdGg6ICRzY3JlZW4teHMgKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMzVlbTsgfSB9IH1cblxuLmhlYWRlciB7XG4gICAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwwKSA1MCUscmdiYSgyNTUsMjU1LDI1NSwxKSA5NSUscmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKSwgdXJsKCBpbWFnZXMvaGVhZGVyLmpwZyApIG5vLXJlcGVhdFxuICAgIC8vIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDBmZmZmZmYnLCBlbmRDb2xvcnN0cj0nJHdoaXRlZmZmJyxHcmFkaWVudFR5cGU9MCApXG5cbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuXG4gICAgJGhlYWRlcnM6IGEgYiBjIGQgZSBmIGcgaDtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCggJGhlYWRlcnMgKSB7XG4gICAgICAgICRsZXR0ZXI6IG50aCggJGhlYWRlcnMsICRpICk7XG4gICAgICAgICYuaGVhZGVyLS0jeyRsZXR0ZXJ9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggaW1hZ2VzL2hlYWRlci0tI3skbGV0dGVyfS5qcGcgKTsgfSB9XG5cbiAgICAkY2VudGVyOiAxOTIwcHggLyAyO1xuICAgIEBtZWRpYSAoIG1heC13aWR0aDogJHNjcmVlbi14cyApIHtcbiAgICAgICAgJi5oZWFkZXItLWEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAkY2VudGVyIC0gMzM1cHg7IH1cbiAgICAgICAgJi5oZWFkZXItLWMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAkY2VudGVyIC0gMTE1cHg7IH1cbiAgICAgICAgJi5oZWFkZXItLWgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAkY2VudGVyIC0gMjMwcHg7IH0gfVxuXG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBAbWVkaWEgKCBtYXgtaGVpZ2h0OiA1MTVweCApIHtcbiAgICAgICAgaGVpZ2h0OiA1MTVweDsgfSB9XG5cbi5oZWFkZXIuaGVhZGVyLS1yZWd1bGFyLXBhZ2Uge1xuICAgIGhlaWdodDogNTE1cHg7XG5cbiAgICAmLmhlYWRlci0tYSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMzAlOyB9XG4gICAgJi5oZWFkZXItLWIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDU1JTsgfVxuICAgICYuaGVhZGVyLS1jIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAxNSU7IH1cbiAgICAmLmhlYWRlci0tZCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMzAlOyB9XG4gICAgJi5oZWFkZXItLWUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDMwJTsgfVxuICAgICYuaGVhZGVyLS1mIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA0NSU7IH1cbiAgICAmLmhlYWRlci0tZyB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMCU7IH1cbiAgICAmLmhlYWRlci0taCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogMTAlOyB9XG5cbiAgICAuaGVhZGVyX19zaG9ydGN1dHMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlcl9fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1cHg7IH1cblxuLmhlYWRlcl9fc2hvcnRjdXRzIHtcbiAgICBAbWVkaWEgKCBtYXgtd2lkdGg6ICRzY3JlZW4tc20gKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCA1cHg7XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5fYWZ0ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpbWFnZXMvYmdpLS1vcmFuZ2UuanBnICk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWltYWdlIC41czsgfSB9IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBpIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggaW1hZ2VzL2JnaS0tYmxhY2suanBnICk7IH0gfSB9IH1cblxuLmhlYWRlcl9fZHVtbXkge1xuICAgIGJhY2tncm91bmQ6IHVybCggaW1hZ2VzL2JnaS0tc2NyYXBwZWQtd2hpdGUucG5nICk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4OyB9XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4uZm9vdGVyX19kdW1teSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCBpbWFnZXMvYmdpLS1zY3JhcHBlZC1ibGFjay5wbmcgKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTAwcHg7IH1cblxuLmZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHVybCggaW1hZ2VzL2JnaS0tYmxhY2suanBnICk7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlOyB9IH1cblxuLmZvb3Rlcl9fbWVudSB7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlOyB9IH1cblxuLmZvb3Rlcl9fc29jaWFsIHtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4OyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7IH0gfVxuXG4uZm9vdGVyX19jb21tZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpbWFnZXMvYmdpLS1vcmFuZ2UuanBnICk7XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibGFjazsgfSB9XG5cbi5mb290ZXJfX2NyZWRpdCB7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCAkd2hpdGUsIC43NSApOyB9XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiAkZ3JheTsgfVxuXG4gICAgLmZhLWhlYXJ0IHtcbiAgICAgICAgYW5pbWF0aW9uOiBoZWFydC1iZWF0IC41cyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG4gICAgQGtleWZyYW1lcyBoZWFydC1iZWF0IHtcbiAgICAgICAgdG8ge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSggMS4yNSApOyB9IH0gfVxuIiwiQGNoYXJzZXQgJ1VURi04JztcblxuLmJvZHkge1xuICAgIGJhY2tncm91bmQ6IHVybCggaW1hZ2VzL2JnaS0td2hpdGUuanBnICk7IH1cblxuLnBvc3Qge1xuICAgIHVsLCBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4gICAgb2wgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbiAgICBwLCB1bCwgbGksIGJsb2NrcXVvdGUsIHRhYmxlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHRyYW5zcGFyZW50aXplKCAkb3JhbmdlLCAuNSApO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IGRhc2hlZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCAkb3JhbmdlLCA1ICk7IH1cblxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7IH0gfVxuXG4gICAgICAgIGFbaHJlZio9XCIvL1wiXTpub3QoIFtocmVmKj1cInRpbWJlcmxha2VzcGFpbi5jb1wiXSApIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuIH0gfSB9ICAgICAgICAgICAgICAgIC8vIFRPRE86IEltcGxlbWVudCBleHRlcm5hbCBsaW5rIGljb24uXG5cbiAgICBAaW1wb3J0ICdib290c3RyYXAvZnVuY3Rpb25zJztcbiAgICBAaW1wb3J0ICdib290c3RyYXAvdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdib290c3RyYXAvbWl4aW5zJztcbiAgICBAaW1wb3J0ICdib290c3RyYXAvdGFibGVzJztcblxuICAgIHRhYmxlIHtcbiAgICAgICAgQGV4dGVuZCAudGFibGU7XG4gICAgICAgIEBleHRlbmQgLnRhYmxlLXN0cmlwZWQ7XG4gICAgICAgIEBleHRlbmQgLnRhYmxlLXJlc3BvbnNpdmU7XG5cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7IH1cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgICY6Zmlyc3QtbGluZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LS1ib2xkICFpbXBvcnRhbnQ7IH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCggaW1hZ2VzL3F1b3RlLnN2ZyApO1xuICAgICAgICAgICAgLy8gY29udGVudDogJ1wiJ1xuICAgICAgICAgICAgLy8gZm9udC1mYW1pbHk6ICRmZi0tY1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAyNXB4O1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIC01ZGVnICkgc2NhbGUoIDMgKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC4xNTsgfSB9XG5cbiAgICAucG9zdF9fY29tbWVudHNfX2NvbW1lbnRfX3VzZXIsXG4gICAgLnNoYXJlZGFkZHkge1xuICAgICAgICBhLFxuICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyB9IH0gfVxuXG4ucG9zdC0tcGFnZSB7XG4gICAgLnNoYXJlZGFkZHkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuLnNob3J0Y29kZSB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDsgfVxuXG5cbi5zaG9ydGNvZGUtLWVtYmVkIHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTsgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtOyB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAuX2FmdGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoIGltYWdlcy9iZ2ktLWJsYWNrLmpwZyApO1xuICAgICAgICBvcGFjaXR5OiAuODU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBib3JkZXI6IDcuNXB4IHNvbGlkIHRyYW5zcGFyZW50aXplKCAkd2hpdGUsIC44NSApOyB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYSwgYTpob3Zlciwgc3Ryb25nIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7IH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCggaW1hZ2VzL2JnaS0tb3JhbmdlLmpwZyApOyB9IH0gfVxuXG4uc2hvcnRjb2RlLS12aWRlbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAuandwbGF5ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2hvcnRjb2RlLS1wbGF5bGlzdCB7fVxuXG4vKlxuICogUGFnZS4gSmV0cGFjayBDb250YWN0IEZvcm1cbiAqL1xuLmNvbnRhY3QtZm9ybSB7XG4gICAgJiA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gICAgICAgICAgICB3aWR0aDogODAlOyB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGV4dGVuZCAuX3RydW5jYXRlO1xuXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfSB9XG5cbi8qXG4gKiBQb3N0LiBDb21tZW50LiBGb3JtXG4gKi9cbi5wb3N0X19jb21tZW50X2Zvcm0sXG4uY29udGFjdC1mb3JtLFxuLnNlYXJjaC1mb3JtLFxuLmJicC1zZWFyY2gtZm9ybSB7XG4gICAgLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4gICAgLmNvbW1lbnQtbm90ZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAuY29tbWVudC1mb3JtLWF1dGhvcixcbiAgICAuY29tbWVudC1mb3JtLWVtYWlsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG5cbiAgICAgICAgICAgIEBleHRlbmQgLl90cnVuY2F0ZTtcblxuICAgICAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogNzAlOyB9IH1cblxuICAgIC5jb21tZW50LWZvcm0tY29tbWVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gICAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICBpbnB1dFt0eXBlPSdzZWFyY2gnXSxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMCA3LjVweDtcbiAgICAgICAgLy8gbWF4LXdpZHRoOiA2NSVcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy0tbGlnaHQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCBpbWFnZXMvYmdpLS1ibGFjay5qcGcgKTtcbiAgICAgICAgYm9yZGVyOiA3LjVweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogNy41cHggc29saWQgdHJhbnNwYXJlbnRpemUoICR3aGl0ZSwgLjc1ICk7IH0gfVxuXG4gICAgW3R5cGU9J3N1Ym1pdCddLFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBwYWRkaW5nOiA3LjVweCAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMXM7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4OyB9IH1cblxuICAgIFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIEBleHRlbmQgLl9idXR0b24tLXJldmVyc2U7XG5cbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7IH0gfVxuXG4vKlxuICogUG9zdHMnIE5hdmlnYXRpb25cbiAqL1xuLnBvc3RzX25hdmlnYXRpb24ge1xuICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuX2J1dHRvbjsgfSB9XG5cbiAgICAgICAgbGkuZGlzYWJsZWQge1xuICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpbWFnZXMvYnV0dG9uLS1ibGFjay5wbmcgKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyYXk7IH0gfSB9IH1cblxuLl9idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtLXNjcDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiAkZnctLWJvbGQ7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBiYWNrZ3JvdW5kOiB1cmwoIGltYWdlcy9idXR0b24tLWJsYWNrLnBuZyApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggaW1hZ2VzL2J1dHRvbi0tb3JhbmdlLnBuZyApOyB9IH1cblxuLl9idXR0b24tLXJldmVyc2Uge1xuICAgIEBleHRlbmQgLl9idXR0b247XG4gICAgYmFja2dyb3VuZDogdXJsKCBpbWFnZXMvYnV0dG9uLS1vcmFuZ2UucG5nICk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpbWFnZXMvYnV0dG9uLS1ibGFjay5wbmcgKTsgfSB9XG5cbi8qXG4gKiBTZWFyY2guIEZvcm1cbiAqL1xuLnNlYXJjaC1mb3JtLFxuLmJicC1zZWFyY2gtZm9ybSB7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogNXB4OyB9XG5cbiAgICBbdHlwZT0nc3VibWl0J10ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cblxuLypcbiAqIFNlYXJjaC4gUmVzdWx0XG4gKi9cbi5zZWFyY2gge1xuICAgIC5zaG9ydGNvZGUtLWdhbGxlcnkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4gICAgLnNob3J0Y29kZS0tdmlkZW8gLmp3cGxheWVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTcwcHg7IH0gfVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1dGF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICMwMDAsICNmZmYpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG5cbi8vXG4vLyBDb2xvciBzeXN0ZW1cbi8vXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4kZ3JheXM6IG1hcC1tZXJnZSgoXG4gIFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgXCIyMDBcIjogJGdyYXktMjAwLFxuICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgXCI1MDBcIjogJGdyYXktNTAwLFxuICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgXCI4MDBcIjogJGdyYXktODAwLFxuICBcIjkwMFwiOiAkZ3JheS05MDBcbiksICRncmF5cyk7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbiRjb2xvcnM6IG1hcC1tZXJnZSgoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pLCAkY29sb3JzKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSwgJHRoZW1lLWNvbG9ycyk7XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAxNTAgIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbWl6ZSB0aGUgbGlnaHQgYW5kIGRhcmsgdGV4dCBjb2xvcnMgZm9yIHVzZSBpbiBvdXIgWUlRIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJHlpcS10ZXh0LWRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcbiR5aXEtdGV4dC1saWdodDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWhvdmVyLW1lZGlhLXF1ZXJ5OiAgZmFsc2UgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQsIG5vIGxvbmdlciBhZmZlY3RzIGFueSBjb21waWxlZCBDU1NcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG5cblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuJHNwYWNlcnM6IG1hcC1tZXJnZSgoXG4gIDA6IDAsXG4gIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgMjogKCRzcGFjZXIgKiAuNSksXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgNTogKCRzcGFjZXIgKiAzKVxuKSwgJHNwYWNlcnMpO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuJHNpemVzOiBtYXAtbWVyZ2UoKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbiksICRzaXplcyk7XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRsaW5rLWRlY29yYXRpb246ICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cyk7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA1NDBweCxcbiAgbWQ6IDcyMHB4LFxuICBsZzogOTYwcHgsXG4gIHhsOiAxMTQwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIEZvbnRzXG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuXG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAgICAgICgkc3BhY2VyIC8gMikgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1jb2xvcjogICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kYXJrLWJnOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWFjY2VudC1iZzogICAgICAgIHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkZ3JheS05MDAsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWNvbG9yOiAgICAgICByZ2JhKCRjb21wb25lbnQtYWN0aXZlLWJnLCAuMjUpICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgMCAwIDAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1zbTogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodC1sZzogICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJ0bi1ibG9jay1zcGFjaW5nLXk6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcbiRidG4tYm9yZGVyLXJhZGl1czogICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGJ0bi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEZvcm1zXG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1zbTogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1zbX0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtaW5uZXItbGc6ICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1sZyAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcpICsgKCRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXItbGd9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZzogICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNFJTNDcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM0UlM0NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodDogICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZzogICAxcmVtICFkZWZhdWx0OyAvLyBFeHRyYSBwYWRkaW5nIHRvIGFjY291bnQgZm9yIHRoZSBwcmVzZW5jZSBvZiB0aGUgYmFja2dyb3VuZC1pbWFnZSBiYXNlZCBpbmRpY2F0b3JcbiRjdXN0b20tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSksIDAgMCA1cHggcmdiYSgkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3IsIC41KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgNzUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgMTI1JSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbiRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A6ICAgICAgICAgICRmb3JtLXRleHQtbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTogICAgICAgICAgICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICB0aGVtZS1jb2xvcihcInN1Y2Nlc3NcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yOiAgICAgICB0aGVtZS1jb2xvcihcImRhbmdlclwiKSAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgLyAyICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkd2hpdGUsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWljb24tYmc6ICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogICRncmF5LTMwMCAhZGVmYXVsdDtcblxuXG4vLyBKdW1ib3Ryb25cblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2FyZC1ncm91cC1tYXJnaW46ICAgICAgICAgICAgICAgICAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIC44cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctaGVpZ2h0OiAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLyBQb3BvdmVyc1xuXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJHBvcG92ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgMCAuMjVyZW0gLjVyZW0gcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteTogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy15ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXg6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgIGZhZGUtaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGFsZXJ0LWJnLWxldmVsOiAgICAgICAgICAgICAgICAgICAgLTEwICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1sZXZlbDogICAgICAgICAgICAgICAgLTkgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3ItbGV2ZWw6ICAgICAgICAgICAgICAgICA2ICFkZWZhdWx0O1xuXG5cbi8vIFByb2dyZXNzIGJhcnNcblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1mb250LXNpemU6ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuNzUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuLy8gTGlzdCBncm91cFxuXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgXCIvXCIgIWRlZmF1bHQ7XG5cblxuLy8gQ2Fyb3VzZWxcblxuJGNhcm91c2VsLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1pbmRpY2F0b3Itd2lkdGg6ICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBDb2RlXG5cbiRjb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgIDg3LjUlICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJHBpbmsgIWRlZmF1bHQ7XG5cbiRrYmQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGtiZC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgLjRyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG4kcHJpbnQtcGFnZS1zaXplOiAgICAgICAgICAgICAgICAgICBhMyAhZGVmYXVsdDtcbiRwcmludC1ib2R5LW1pbi13aWR0aDogICAgICAgICAgICAgIG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIFwibGdcIikgIWRlZmF1bHQ7XG4iLCIvLyBUb2dnbGVzXG4vL1xuLy8gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGdsb2JhbCB2YXJpYWJsZXMgdG8gZW5hYmxlIGNlcnRhaW4gdGhlbWUgZmVhdHVyZXMuXG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIC8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIC8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG4vLyBAaW1wb3J0IFwibWl4aW5zL25hdmJhci1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zsb2F0XCI7XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAycHgsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdhbGx5IGFkZGVkIGR1cmluZyBvdXIgYWxwaGFzIGFuZCBtYWludGFpbmVkIGR1cmluZyBiZXRhcywgdGhpcyBtaXhpbiB3YXNcbi8vIGRlc2lnbmVkIHRvIHByZXZlbnQgYDpob3ZlcmAgc3RpY2tpbmVzcyBvbiBpT1PigJRhbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzdWVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBiYWRnZS12YXJpYW50KCRiZykge1xuICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcblxuICAmW2hyZWZdIHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVzaXplIGFueXRoaW5nXG5cbkBtaXhpbiByZXNpemFibGUoJGRpcmVjdGlvbikge1xuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG4gIHJlc2l6ZTogJGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbn1cbiIsIi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGNsaXAtcGF0aDogbm9uZTtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tYmxvY2stbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJldC1kb3duIHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXVwIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LXJpZ2h0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogKCRzcGFjZXIgLyAyKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IpIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tZmVlZGJhY2stZm9udC1zaXplO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gQ29udGFpbiB0byBwYXJlbnQgd2hlbiBwb3NzaWJsZVxuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC4xcmVtO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCxcbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMjUlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYm9keS1iZywgMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gY3VzdG9tIGZpbGVcbiAgLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICYsXG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuXG4vLyBGb3IgZWFjaCBicmVha3BvaW50LCBkZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRhaW5lciBpbiBhIG1lZGlhIHF1ZXJ5XG5AbWl4aW4gbWFrZS1jb250YWluZXItbWF4LXdpZHRocygkbWF4LXdpZHRoczogJGNvbnRhaW5lci1tYXgtd2lkdGhzLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkY29udGFpbmVyLW1heC13aWR0aCBpbiAkbWF4LXdpZHRocyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1yb3coKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xuICBtYXJnaW4tbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIC0yKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxcHg7IC8vIFByZXZlbnQgY29sbGFwc2luZ1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnOyAvLyBSZXNldCBmb3IgbmVzdGluZyB3aXRoaW4gcGFyZW50cyB3aXRoIGBiYWNrZ3JvdW5kLWNvbG9yYC5cblxuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAoMiAqICR0YWJsZS1ib3JkZXItd2lkdGgpIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICB9XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy1zbTtcbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWFjY2VudC1iZztcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgdGJvZHkgdHIge1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1ob3Zlci1iZztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJGNvbG9yLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIC05KSk7XG59XG5cbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KGFjdGl2ZSwgJHRhYmxlLWFjdGl2ZS1iZyk7XG5cblxuLy8gRGFyayBzdHlsZXNcbi8vXG4vLyBTYW1lIHRhYmxlIG1hcmt1cCwgYnV0IGludmVydGVkIGNvbG9yIHNjaGVtZTogZGFyayBiYWNrZ3JvdW5kIGFuZCBsaWdodCB0ZXh0LlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZHVwbGljYXRlLXNlbGVjdG9yc1xuLnRhYmxlIHtcbiAgLnRoZWFkLWRhcmsge1xuICAgIHRoIHtcbiAgICAgIGNvbG9yOiAkdGFibGUtZGFyay1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtZGFyay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnRoZWFkLWxpZ2h0IHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWhlYWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYmxlLWRhcmsge1xuICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWJnO1xuXG4gIHRoLFxuICB0ZCxcbiAgdGhlYWQgdGgge1xuICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJi50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJi50YWJsZS1zdHJpcGVkIHtcbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWFjY2VudC1iZztcbiAgICB9XG4gIH1cblxuICAmLnRhYmxlLWhvdmVyIHtcbiAgICB0Ym9keSB0ciB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1kYXJrLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gR2VuZXJhdGUgc2VyaWVzIG9mIGAudGFibGUtcmVzcG9uc2l2ZS0qYCBjbGFzc2VzIGZvciBjb25maWd1cmluZyB0aGUgc2NyZWVuXG4vLyBzaXplIG9mIHdoZXJlIHlvdXIgdGFibGUgd2lsbCBvdmVyZmxvdy5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwMDU3XG5cbiAgICAgICAgLy8gUHJldmVudCBkb3VibGUgYm9yZGVyIG9uIGhvcml6b250YWwgc2Nyb2xsIGR1ZSB0byB1c2Ugb2YgYGRpc3BsYXk6IGJsb2NrO2BcbiAgICAgICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgJ1VURi04Jztcblxuc3ZnIHtcbiB9ICAgIC8vIGZpbGw6IGN1cnJlbnRDb2xvclxuXG5oMS5oMS0tc2VjdGlvbixcbmgyLmgyLS1zZWN0aW9uLFxuaDMuaDMtLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcuNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtLW47XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBsaW5lLWhlaWdodDogLjY1ZW07XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgLl9hZnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCBpbWFnZXMvYmdpLS1vcmFuZ2UuanBnICk7XG4gICAgICAgIG9wYWNpdHk6IC45NTtcbiAgICAgICAgd2lkdGg6IDcuNXB4OyB9XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDU4JTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LWZhbWlseTogaW5pdGlhbDtcbiAgICAgICAgZm9udC1zaXplOiAuMzVlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVweDsgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbiggJG9yYW5nZSwgNSUgKTsgfVxuXG4gICAgLmZhIHtcbiAgICAgICAgZm9udC1zaXplOiAuNDVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoIDk1ZGVnICk7IH0gfVxuXG4ucG9zdF9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDI3NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnBvc3QtLV9qdF92aWRlbyB7XG4gICAgLnBvc3RfX2NvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTY1cHg7XG5cbiAgICAgICAgQG1lZGlhICggbWF4LXdpZHRoOiA1NzZweCAtIDFweCApIHtcbiAgICAgICAgICAgIGhlaWdodDogMjMwcHg7IH0gfSB9XG5cbi5wb3N0LS1fanRfZmlsbW9ncmFwaHkge1xuICAgIC5wb3N0X19jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDI2NXB4OyB9IH1cblxuLnNpbmdsZS1wb3N0IHtcbiAgICAucG9zdC0tX2p0X3ZpZGVvIHtcbiAgICAgICAgLnBvc3RfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDk1cHg7IH0gfSB9XG5cbi5zaW5nbGUtcG9zdCB7XG4gICAgLnNob3J0Y29kZS5zaG9ydGNvZGUtLXBsYXlsaXN0IHtcbiAgICAgICAgLnBvc3RfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEyNXB4OyB9IH0gfVxuXG4ucG9zdF9fY29udGFpbmVyX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7IH1cblxuLmhvbWUge1xuICAgIC5wb3N0X19jb250YWluZXJfX2NvbnRlbnRfX2xpbmsge1xuICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICBAZXh0ZW5kIC5fdHJ1bmNhdGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLl9hZnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCggaW1hZ2VzL2JnaS0tb3JhbmdlLmpwZyApO1xuICAgICAgICAgICAgb3BhY2l0eTogLjg1OyB9IH0gfVxuXG4ucG9zdF9fY29udGFpbmVyX19jb250ZW50IHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG5cbiAgICAucG9zdF9fY29udGFpbmVyX19jb250ZW50X19saW5rIHtcbiAgICAgICAgQGV4dGVuZCAuX3RydW5jYXRlO1xuXG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHRleHQtc2hhZG93OiB0cmFuc3BhcmVudGl6ZSggJGJsYWNrLCAuMjUgKSAycHggM3B4IDNweDsgfVxuXG4gICAgLnBvc3RfX2NvbnRhaW5lcl9fY29udGVudF9faWNvbnMge1xuICAgICAgICAuZmEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1MnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpOyB9IH0gfSB9XG5cbi5wb3N0X19jb250YWluZXI6aG92ZXIgLnBvc3RfX2NvbnRhaW5lcl9faW1hZ2UsXG4ucG9zdF9fY29udGFpbmVyOmZvY3VzIC5wb3N0X19jb250YWluZXJfX2ltYWdlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuOHMgY3ViaWMtYmV6aWVyKC4yOCwuNzUsLjI1LDEpOyB9XG5cbi5wb3N0X19jb250YWluZXI6aG92ZXIgLnBvc3RfX2NvbnRhaW5lcl9faW1hZ2U6YmVmb3JlLFxuLnBvc3RfX2NvbnRhaW5lcjpmb2N1cyAucG9zdF9fY29udGFpbmVyX19pbWFnZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wb3N0X19jb250YWluZXJfX2ltYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggaW1hZ2VzL2JnaS0tb3JhbmdlLmpwZyApO1xuICAgIG9wYWNpdHk6IC4zNTsgfVxuXG4uc2VjdGlvbl9fbXVsdGltZWRpYSB7XG4gICAgLmNhcmQge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5wb3N0X19jYXJkX19jb250ZW50IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwOyB9IH1cblxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3JlbSAwLjVyZW0gcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3JlbSAwLjVyZW0gdHJhbnNwYXJlbnRpemUoICRibGFjay0tZGFyaywgLjUgKTsgfVxuXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIDBweCk7IH0gfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoIC41cHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0OyB9IH0gfVxuXG4ucG9zdF9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wb3N0X19jYXJkX19jb250ZW50IHtcbiAgICBAbWVkaWEgKCBtYXgtd2lkdGg6ICRzY3JlZW4tbWQgLSAxcHggKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgbWFyZ2luOiA1cHggMTVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGV4dGVuZCAuX2FmdGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoIGltYWdlcy9iZ2ktLW9yYW5nZS5qcGcgKTtcbiAgICAgICAgb3BhY2l0eTogLjg1OyB9XG5cbiAgICBpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9IH1cblxuLm11bHRpbWVkaWE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMWM2JztcbiAgICBmb250LWZhbWlseTogJGZmLS1mYTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cbi5hdWRpbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYxYzcnO1xuICAgIGZvbnQtZmFtaWx5OiAkZmYtLWZhO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuLnZpZGVvOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjOCc7XG4gICAgZm9udC1mYW1pbHk6ICRmZi0tZmE7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG5cblxuLnNlY3Rpb25fX3Bvc3RzIHtcbiAgICBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtOyB9IH1cblxuLypcbiAqIE92ZXJyaWRlc1xuICovXG4ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50aXplKCAkd2hpdGUsIC4yNSApOyB9XG5cblxuLypcbiAqIGJiUHJlc3NcbiAqL1xuI2JicHJlc3MtZm9ydW1zIC5iYnAtZm9ydW0taW5mbyAuYmJwLWZvcnVtLWNvbnRlbnQsICNiYnByZXNzLWZvcnVtcyBwLmJicC10b3BpYy1tZXRhLFxuI2JicHJlc3MtZm9ydW1zIHVsLmJicC1sZWFkLXRvcGljLCAjYmJwcmVzcy1mb3J1bXMgdWwuYmJwLXRvcGljcywgI2JicHJlc3MtZm9ydW1zIHVsLmJicC1mb3J1bXMsICNiYnByZXNzLWZvcnVtcyB1bC5iYnAtcmVwbGllcywgI2JicHJlc3MtZm9ydW1zIHVsLmJicC1zZWFyY2gtcmVzdWx0cyxcbmRpdi5iYnAtdGVtcGxhdGUtbm90aWNlIHAge1xuICAgIGZvbnQtc2l6ZTogJGZzOyB9XG5cbiNiYnByZXNzLWZvcnVtcyB7XG4gICAgZm9udC1zaXplOiAkZnM7IH1cblxuLmJicHJlc3Mge1xuICAgIC5hdmF0YXIge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuICAgIC5iYnAtdG9waWMtYXV0aG9yIC5hdmF0YXIge1xuICAgICAgICB3aWR0aDogNzVweDtcbiAgICAgICAgaGVpZ2h0OiA3NXB4OyB9XG5cbiAgICAuYmJwLXRvcGljcy1mcm9udCB1bC5zdXBlci1zdGlja3ksIC5iYnAtdG9waWNzIHVsLnN1cGVyLXN0aWNreSwgLmJicC10b3BpY3MgdWwuc3RpY2t5LCAuYmJwLWZvcnVtLWNvbnRlbnQgdWwuc3RpY2t5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoICRvcmFuZ2UsIC44NSApICFpbXBvcnRhbnQ7IH1cblxuICAgIGRpdi5iYnAtdGVtcGxhdGUtbm90aWNlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoICRvcmFuZ2UsIC42NSApICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG9yYW5nZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTsgfVxuXG4gICAgLmJicC1mb3J1bS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zZW07IH0gfVxuXG4jYmJwcmVzcy1mb3J1bXMgZmllbGRzZXQuYmJwLWZvcm0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgbGVnZW5kIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmZi0tYjsgfVxuXG4gICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5fdHJ1bmNhdGU7XG5cbiAgICAgICAgICAgIHdpZHRoOiAzMCU7IH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICB3aWR0aDogNzAlOyB9IH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIEBleHRlbmQgLl9idXR0b247XG5cbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7IH0gfVxuXG4jd3BzdGF0cyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5kaXYuYmJwLXRlbXBsYXRlLW5vdGljZSBsaSxcbmRpdi5iYnAtdGVtcGxhdGUtbm90aWNlIHAge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG5cbiNiYnByZXNzLWZvcnVtcyAuc2hhcmVkYWRkeSBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuI2JicHJlc3MtZm9ydW1zIC5iYnAtcGFnaW5hdGlvbi1saW5rcyBhLFxuI2JicHJlc3MtZm9ydW1zIC5iYnAtcGFnaW5hdGlvbi1saW5rcyBzcGFuLmN1cnJlbnQge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5iYnAtdG9waWMtcGVybWFsaW5rLFxuLmJicC1mb3J1bS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI2JicHJlc3MtZm9ydW1zIGxpLmJicC1ib2R5IHVsLmZvcnVtLFxuI2JicHJlc3MtZm9ydW1zIGxpLmJicC1ib2R5IHVsLnRvcGljIHtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5qdy1yZXNldC5qdy1idXR0b24tY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAuNTtcblxuICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogJHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgICBzdmcgcG9seWdvbiB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgfSB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7Ozs7R0FVRztBQ3NCSCxPQUFPLENBQVAsb0JBQU87QUFDUCxPQUFPLENBQVAsZUFBTztBQUdQLE9BQU8sQ0FBUCxrTEFBTztBQ0RILFVBQVU7RUFDTixXQUFXLEVEREMsT0FBTztFQ0VuQixVQUFVLEVERndDLE1BQU07RUNHeEQsV0FBVyxFREgrQixNQUFNO0VDSWhELEdBQUcsRUFQZ0IsNEJBQWlDLENBQUMsa0JBQXNCOztBRE1uRixBQUFBLElBQUksQ0FBQztFQUNELFNBQVMsRUFYUixPQUFPO0VBWVIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxrQkFBb0I7RUFDckMsV0FBVyxFQW5CTCxpQkFBaUIsRUFBRSxVQUFVO0VBb0JuQyxXQUFXLEVBNUJILEdBQUc7RUE2QlgsY0FBYyxFQUFFLEtBQUssR0FBRzs7QUFFNUIsQUFBQSxDQUFDLENBQUM7RUFDRSxLQUFLLEVBekNELElBQUk7RUEwQ1IsVUFBVSxFQUFFLFNBQVMsR0FBRzs7QUFFNUIsQUFBQSxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ0osZUFBZSxFQUFFLElBQUk7RUFDckIsS0FBSyxFQXpDQSxJQUFJLEdBeUNROztBQUVyQixBQUFBLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBQ25CLFdBQVcsRUFqQ1AsVUFBVSxFQUFFLEtBQUs7RUFrQ3JCLFdBQVcsRUF6Q0gsR0FBRztFQTBDWCxjQUFjLEVBQUUsSUFBSSxHQUlZO0VBUHBDLEFB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 */
