/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/pages/home.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
.card {
  --bs-card-spacer-y: 16px;
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 16px;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 8px;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-card-cap-padding-y: 8px;
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 16px;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 16px;
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 12px;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: var(--bs-card-inner-border-radius);
      border-top-right-radius: var(--bs-card-inner-border-radius); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: var(--bs-card-inner-border-radius);
      border-bottom-left-radius: var(--bs-card-inner-border-radius); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color); }

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color); }

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color); }

.card-text:last-child {
  margin-bottom: 0; }

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x); }

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0; }
  .card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg); }

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius); }

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin); }

.tease-grid picture {
  z-index: 1; }

.tease-grid .badge-wrapper {
  z-index: 2;
  pointer-events: none; }

.tease-grid .badge a,
.tease-grid .card-title a {
  text-decoration: none;
  pointer-events: all; }
  .tease-grid .badge a:hover, .tease-grid .badge a:focus,
  .tease-grid .card-title a:hover,
  .tease-grid .card-title a:focus {
    text-decoration: underline; }

.tease-simple a {
  z-index: 1; }

.tease-simple-realisations:hover .card-overlay {
  transform: rotateX(0); }

.tease-simple-realisations .card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 4px #000;
  text-shadow: 0 0 0.25rem #000;
  background: rgba(188, 165, 204, 0.5);
  transition: transform ease .3s;
  transform: rotateX(90deg);
  transform-origin: bottom; }

.tease {
  width: 100%; }

h1, .h1 {
  font-size: calc(1.4375rem + 2.25vw); }

h2, .h2 {
  font-size: calc(1.3438rem + 1.1256vw); }

h3, .h3 {
  font-size: calc(1.2813rem + 0.3756vw); }

.home {
  --featured-image-height: calc(100vh - var(--adminbar-height));
  --alpha-page-scroll-listener-height: 15vh; }

.home .featured-image .content-above {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  opacity: 0;
  transition: opacity .3s ease;
  animation: 1.5s linear 0.25s alpha-featured-text-opacity; }

.home.page-scrolled .featured-image .content-above {
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  opacity: 1; }

.bubble-effect img {
  border-radius: 50%; }

.childv2-block {
  max-width: 450px;
  max-height: 450px; }

.childv2-block:has(.children-lesson-cards:hover) .children-lesson-cards {
  filter: blur(2px);
  transition: filter .6s ease; }

.children-lesson-cards:hover {
  filter: none !important; }

.content-above-child {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); }

.childv2-block {
  --swiper-pagination-bottom: -10px; }

.media-text-1:before {
  position: absolute;
  top: -25%;
  right: 5%;
  z-index: -1;
  width: 65%;
  height: 100%;
  content: "";
  background: url(./images/silhouette-assise.d468a785.png) no-repeat;
  background-size: contain;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  opacity: .15; }

.gallery-block-heading:before {
  position: absolute;
  top: -65%;
  right: 5%;
  z-index: -1;
  width: 65%;
  height: 100%;
  content: "";
  background: url(./images/portrait-profil.04aa1af9.png) no-repeat;
  background-size: contain;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  opacity: .15; }

.child-block-list:before {
  position: absolute;
  top: 25%;
  right: 5%;
  left: unset;
  z-index: -1;
  width: 28%;
  height: 100%;
  content: "";
  background: url(./images/portrait.0a5f44be.png) no-repeat;
  background-size: contain;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  opacity: .15; }

.child-block-list:after {
  position: absolute;
  top: 0;
  left: 5%;
  z-index: -1;
  width: 40%;
  height: 100%;
  content: "";
  background: url(./images/perspective.fc63d0d7.png) no-repeat;
  background-size: contain;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  opacity: .15; }

.news-block:before {
  position: absolute;
  top: 15%;
  left: 5%;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background: url(./images/silhouette.0507c210.png) no-repeat;
  background-size: contain;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=15)";
  opacity: .15; }

.parallax-lesson-ado:before {
  --asp-overlay-bg-color-rgb: rgba(0, 0, 0, .3); }

.faq-block .accordion-header button {
  font-weight: 700; }

.image-legend {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); }

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap; }
    .card-group > .card {
      flex: 1 0;
      margin-bottom: 0; }
      .card-group > .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }

@media (min-width: 768px) {
    .news-block:before {
      top: 0; } }

@media (min-width: 1200px) {
    h1, .h1 {
      font-size: 3.125rem; }
    h2, .h2 {
      font-size: 2.188rem; }
    h3, .h3 {
      font-size: 1.563rem; } }

@media (min-width: 1366px) {
  .overlay-hover-effect {
    overflow: hidden; }
    .overlay-hover-effect img {
      transition: all .6s ease;
      transform: scale(1) rotate(0deg); }
    .overlay-hover-effect:hover img {
      filter: grayscale(1);
      transform: scale(1.05) rotate(1deg); }
  .teenagers-lesson-cards:nth-child(1) {
    rotate: 3deg; }
  .teenagers-lesson-cards:nth-child(2) {
    rotate: -13deg;
    transform: translateY(10%); }
  .teenagers-lesson-cards:nth-child(3) {
    rotate: 8deg; }
  .teenagers-lesson-cards:nth-child(4) {
    rotate: -21deg;
    transform: translate(54%, 7%); }
  .teenagers-lesson-cards:nth-child(5) {
    rotate: 15deg;
    transform: translate(52%, -21%); }
  .polaroid-over-effect {
    overflow: hidden; }
    .polaroid-over-effect img {
      transition: all .6s ease;
      transform: scale(1) rotate(0deg); }
    .polaroid-over-effect:hover img {
      filter: sepia(0.5);
      transform: scale(1.05) rotate(1deg); }
    .media-text-1:before {
      width: 25%; }
    .gallery-block-heading:before {
      top: -50%;
      right: -5%;
      width: 35%; }
    .child-block-list:before {
      right: unset;
      left: 5%;
      width: 25%; }
    .child-block-list:after {
      right: 29%;
      left: unset;
      width: 25%; }
    .news-block:before {
      right: 0;
      left: unset;
      width: 50%; }
  .w-xl-90 {
    width: 90%; } }

@media (min-width: 1680px) {
    .home main.container,
    .home main .container {
      --container-max-width: 1600px; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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SSxVQUFVLElGZlA7O0FHaURIO0lMbERKOztNQVNVLDZCQUFzQixJQUczQiIsInNvdXJjZXMiOlsid2VicGFjazovL3JiYXJ0cy10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fY2FyZC5zY3NzIiwid2VicGFjazovL3JiYXJ0cy10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly9yYmFydHMtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvdGVhc2VzL190ZWFzZS5zY3NzIiwid2VicGFjazovL3JiYXJ0cy10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy90ZWFzZXMvbW9kZXMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9yYmFydHMtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvdGVhc2VzL21vZGVzL19zaW1wbGUuc2NzcyIsIndlYnBhY2s6Ly9yYmFydHMtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvdGVhc2VzL21vZGVzL19yZWFsaXNhdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9yYmFydHMtdGhlbWUvLi9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vcmJhcnRzLXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vcmJhcnRzLXRoZW1lLy4vY29uZmlnL3RoZW1lLnlhbWwiLCJ3ZWJwYWNrOi8vcmJhcnRzLXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3BhZ2VzL19ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vcmJhcnRzLXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vcmJhcnRzLXRoZW1lLy4vYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9sZXNzb25zLWJsb2Nrcy5zY3NzIiwid2VicGFjazovL3JiYXJ0cy10aGVtZS8uL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvd2F0ZXJtYXJrLnNjc3MiLCJ3ZWJwYWNrOi8vcmJhcnRzLXRoZW1lLy4vYXNzZXRzL3Nhc3MvcGFnZXMvaG9tZS5zY3NzIiwid2VicGFjazovL3JiYXJ0cy10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCBjYXJkLWNzcy12YXJzXG4gIC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXk6ICN7JGNhcmQtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14OiAjeyRjYXJkLXNwYWNlci14fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteTogI3skY2FyZC10aXRsZS1zcGFjZXIteX07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3I6ICN7JGNhcmQtdGl0bGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yOiAjeyRjYXJkLXN1YnRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGg6ICN7JGNhcmQtYm9yZGVyLXdpZHRofTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6ICN7JGNhcmQtYm9yZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzOiAjeyRjYXJkLWJvcmRlci1yYWRpdXN9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3c6ICN7JGNhcmQtYm94LXNoYWRvd307XG4gIC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogI3skY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXg6ICN7JGNhcmQtY2FwLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWJnOiAjeyRjYXJkLWNhcC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yOiAjeyRjYXJkLWNhcC1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0OiAjeyRjYXJkLWhlaWdodH07XG4gIC0tI3skcHJlZml4fWNhcmQtY29sb3I6ICN7JGNhcmQtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWJnOiAjeyRjYXJkLWJnfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAjeyRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbjogI3skY2FyZC1ncm91cC1tYXJnaW59O1xuICAvLyBzY3NzLWRvY3MtZW5kIGNhcmQtY3NzLXZhcnNcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMDsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzIyNzQwI2lzc3VlY29tbWVudC0zMDU4NjgxMDZcbiAgaGVpZ2h0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBib3JkZXItYm94O1xuICBib3JkZXI6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItcmFkaXVzKSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3codmFyKC0tI3skcHJlZml4fWNhcmQtYm94LXNoYWRvdykpO1xuXG4gID4gaHIge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXAge1xuICAgIGJvcmRlci10b3A6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbTogaW5oZXJpdDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHVlIHRvIHNwZWNpZmljaXR5IG9mIHRoZSBhYm92ZSBzZWxlY3RvciAoYC5jYXJkID4gLmxpc3QtZ3JvdXBgKSwgd2UgbXVzdFxuICAvLyB1c2UgYSBjaGlsZCBzZWxlY3RvciBoZXJlIHRvIHByZXZlbnQgZG91YmxlIGJvcmRlcnMuXG4gID4gLmNhcmQtaGVhZGVyICsgLmxpc3QtZ3JvdXAsXG4gID4gLmxpc3QtZ3JvdXAgKyAuY2FyZC1mb290ZXIge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLmNhcmQtYm9keSB7XG4gIC8vIEVuYWJsZSBgZmxleC1ncm93OiAxYCBmb3IgZGVja3MgYW5kIGdyb3VwcyBzbyB0aGF0IGNhcmQgYmxvY2tzIHRha2UgdXBcbiAgLy8gYXMgbXVjaCBzcGFjZSBhcyBwb3NzaWJsZSwgZW5zdXJpbmcgZm9vdGVycyBhcmUgYWxpZ25lZCB0byB0aGUgYm90dG9tLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNvbG9yKTtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1jb2xvcik7XG59XG5cbi5jYXJkLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC10aXRsZS1zcGFjZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtc3VidGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC10ZXh0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2FyZC1saW5rIHtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpZigkbGluay1ob3Zlci1kZWNvcmF0aW9uID09IHVuZGVybGluZSwgbm9uZSwgbnVsbCk7XG4gIH1cblxuICArIC5jYXJkLWxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkgdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtYmcpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSAwIDApO1xuICB9XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICB9XG59XG5cblxuLy9cbi8vIEhlYWRlciBuYXZzXG4vL1xuXG4uY2FyZC1oZWFkZXItdGFicyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAubmF2LWxpbmsuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICB9XG59XG5cbi5jYXJkLWhlYWRlci1waWxscyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3Rcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogdmFyKC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wLFxuLmNhcmQtaW1nLWJvdHRvbSB7XG4gIHdpZHRoOiAxMDAlOyAvLyBSZXF1aXJlZCBiZWNhdXNlIHdlIHVzZSBmbGV4Ym94IGFuZCB0aGlzIGluaGVyZW50bHkgYXBwbGllcyBhbGlnbi1zZWxmOiBzdHJldGNoXG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy10b3Age1xuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5jYXJkLWltZyxcbi5jYXJkLWltZy1ib3R0b20ge1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgPiAuY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtZ3JvdXAtbWFyZ2luKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAgIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gICAgPiAuY2FyZCB7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyNmbGV4YnVnLTRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1lbmQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1zdGFydC1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwiQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9jYXJkXCI7XG5cbkBpbXBvcnQgXCJtb2Rlcy9ncmlkXCI7XG5AaW1wb3J0IFwibW9kZXMvbGlzdFwiO1xuQGltcG9ydCBcIm1vZGVzL3NpbXBsZVwiO1xuQGltcG9ydCBcIm1vZGVzL3JlYWxpc2F0aW9uc1wiO1xuXG5AZWFjaCAkdGVhc2UgaW4gJHRlYXNlcyB7XG4gIC50ZWFzZS0jeyR0ZWFzZX0ge1xuICAgIEBleHRlbmQgJXRlYXNlLSN7JHRlYXNlfSAhb3B0aW9uYWw7XG4gIH1cbn1cblxuLnRlYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCJAbWl4aW4gbWFrZS10ZWFzZS1ncmlkIHtcbiAgcGljdHVyZSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5iYWRnZS13cmFwcGVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmJhZGdlLFxuICAuY2FyZC10aXRsZSB7XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ldGVhc2UtZ3JpZCB7XG4gIEBpbmNsdWRlIG1ha2UtdGVhc2UtZ3JpZCgpO1xufVxuIiwiQG1peGluIG1ha2UtdGVhc2Utc2ltcGxlIHtcbiAgYSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4ldGVhc2Utc2ltcGxlIHtcbiAgQGluY2x1ZGUgbWFrZS10ZWFzZS1zaW1wbGUoKTtcbn1cbiIsIkBtaXhpbiBtYWtlLXRlYXNlLXNpbXBsZS1yZWFsaXNhdGlvbnMge1xuICAmOmhvdmVye1xuICAgIC5jYXJkLW92ZXJsYXkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDApO1xuICAgIH1cbiAgfVxuICAuY2FyZC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAkdGVhc2Utb3ZlcmxheS10ZXh0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogJHRlYXNlLW92ZXJsYXktdGV4dC1zaGFkb3c7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkdGVhc2Utb3ZlcmxheS1iZy1jb2xvciwgJHRlYXNlLW92ZXJsYXktYmctb3BhY2l0eSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgLjNzO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB9XG59XG5cbiV0ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zIHtcbiAgQGluY2x1ZGUgbWFrZS10ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zKCk7XG59XG4iLCIvLy0tLS0tLSBCb290c3RyYXBcbi8vLS0tLS0gQ29sb3Igc3lzdGVtXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kd2hpdGU6ICNmZmY7XG5cbi8vLS0tLS0gQnV0dG9ucyArIEZvcm1zXG4kYnRuLXBhZGRpbmcteDogMS41cmVtO1xuJGJ0bi1wYWRkaW5nLXk6IC43NXJlbTtcbi8vJGJ0bi1ib3JkZXItcmFkaXVzOiAwO1xuXG4vLy0tLS0tIE5hdnNcbi8vICRuYXYtbGluay1mb250LXNpemU6IG51bGw7XG4vLyAkbmF2LWxpbmstY29sb3I6ICRib2R5LWNvbG9yO1xuLy8gJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAkcHJpbWFyeTtcbiRuYXZiYXItaXRlbS1tYXJnaW4teDogLjc1cmVtO1xuXG4vLy0tLS0tLSBXcCBBbHBoYVxuLy8tLS0tLSBUb29sc1xuLy8gJHRlYXNlczogKFwiZ3JpZFwiLCBcImxpc3RcIik7XG5cbi8vLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJnOiAkd2hpdGU7XG5cbi8vID09IEZlYXR1cmVkIGltYWdlXG4kaG9tZS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1hZG1pbmJhci1oZWlnaHQpKTtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk6IC4xNTtcbi8vJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktY29sb3I6ICRzZWNvbmRhcnk7XG5cbi8vID09PSBTdXJ0aXRsZVxuJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZTogMS4xNXJlbTtcbiRhbHBoYS1zdXJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LWZhbWlseTogXCJSb2NrIFNhbHRcIiwgc2Fucy1zZXJpZjtcbi8vJGFscGhhLXN1cnRpdGxlLWNvbG9yOiAjMUExQTFBO1xuXG4vLyA9PSBQYXJhbGxheCBvdmVybGF5XG4kYXNwLW92ZXJsYXktYmctb3BhY2l0eTogLjE7XG4kYXNwLW92ZXJsYXktYmctY29sb3I6ICMwMDA7XG5cbi8vIC0tLS0tIENvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAxLjU7XG5cbi8vIC0tLS0tIFotaW5kZXhcbiRhbHBoYS16LWluZGV4ZXM6ICgxLCAyKTtcblxuLy8tLS0tLS0gU2hhcGVzXG4kc2hhcGVzOiAoXCJzcXVhcmVcIiwgXCJjaXJjbGVcIik7XG5cbi8vID09PSBSZXNwb25zaXZlIG1lZGlhcyB3aXRoIGZpeGVkIHJhdGlvXG4kbWVkaWEtcmF0aW9zOiAoKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSkpO1xuXG4vLy0tLS0tLSBGb250cyBvcHRpbWl6YXRpb25cbi8vLS0tLS0gRm9udEF3ZXNvbWUgSWNvbnNcbi8vIGhlcmUgeW91IGNhbiBhZGQgYWxsIHRoZSBpY29ucyB5b3UgbmVlZCB0byB1c2UgaW5zaWRlIHlvdXIgdGhlbWVcbkBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvdmFyaWFibGVzXCI7XG4kY3VzdG9tLXVzZWQtZmEtaWNvbnM6IChcbiAgbWFwLXBpbjogJGZhLXZhci1tYXAtcGluLFxuICBzcXVhcmUtcGVuOiAkZmEtdmFyLXNxdWFyZS1wZW4sXG4gIHBhbGV0dGU6ICRmYS12YXItcGFsZXR0ZSxcbiAgcGVvcGxlLWFycm93czogJGZhLXZhci1wZW9wbGUtYXJyb3dzLFxuICBjbG91ZHMtbW9vbjogJGZhLXZhci1jbG91ZHMtbW9vbixcbiAgZmFtaWx5OiAkZmEtdmFyLWZhbWlseSxcbik7XG4iLCJAaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIn5AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy92YXJpYWJsZXNcIjtcblxuJHRoZW1lLWFzc2V0LXBhdGg6IFwiLi4vaW1hZ2VzXCIgIWRlZmF1bHQ7XG4kZm9udHMtcGF0aDogXCJmb250c1wiICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb2xvciBzeXN0ZW1cbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y3ZjdmNyAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTUwMDogIzlkOWQ5ZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzBhMGEwYSAhZGVmYXVsdDtcbiRibGFjazogIzAwMCAhZGVmYXVsdDtcbiRuZW1hdGlzLXZpb2xldDogIzcxMTk2ZiAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJGJsdWU6ICMwMDVkYWEgIWRlZmF1bHQ7XG4kcHVycGxlOiAjNzAxZTZlICFkZWZhdWx0O1xuJGdyZWVuOiAjMDFhZTNjICFkZWZhdWx0O1xuJHJlZDogI2RjMzU0NSAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmZmMxMDcgIWRlZmF1bHQ7XG4kY3lhbjogIzBkY2FmMCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9ycy1tYXBcbiRjb2xvcnM6IChcbiAgXCJibHVlXCI6ICRibHVlLFxuICBcInB1cnBsZVwiOiAkcHVycGxlLFxuICBcImdyZWVuXCI6ICRncmVlbixcbiAgXCJ3aGl0ZVwiOiAkd2hpdGUsXG4gIFwiZ3JheS0xMDBcIjogJGdyYXktMTAwLFxuICBcImdyYXktNTAwXCI6ICRncmF5LTUwMCxcbiAgXCJncmF5LTkwMFwiOiAkZ3JheS05MDBcbikgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtbWFwXG4kZGVmYXVsdC10aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLFxuICBcImxpZ2h0XCI6ICRsaWdodCxcbiAgXCJkYXJrXCI6ICRkYXJrXG4pICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJGRlZmF1bHQtdGhlbWUtY29sb3JzLCAkdGhlbWUtY29sb3JzKTtcblxuLy8gVGhlIGNvbnRyYXN0IHJhdGlvIHRvIHJlYWNoIGFnYWluc3Qgd2hpdGUsIHRvIGRldGVybWluZSBpZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJsaWdodFwiIHRvIFwiZGFya1wiLiBBY2NlcHRhYmxlIHZhbHVlcyBmb3IgV0NBRyAyLjAgYXJlIDMsIDQuNSBhbmQgNy5cbiRtaW4tY29udHJhc3QtcmF0aW86IDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kY29sb3ItY29udHJhc3QtbGlnaHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gT3B0aW9uc1xuJGVuYWJsZS1uZWdhdGl2ZS1tYXJnaW5zOiB0cnVlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTcGFjaW5nXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSwgLy8gNHB4XG4gIDI6ICRzcGFjZXIgKiAuNSwgLy8gOHB4XG4gIDM6ICRzcGFjZXIgKiAuNzUsIC8vIDEycHhcbiAgNDogJHNwYWNlciwgLy8gMTZweFxuICA1OiAkc3BhY2VyICogMS4yNSwgLy8gMjBweFxuICA2OiAkc3BhY2VyICogMS41LCAvLyAyNHB4XG4gIDc6ICRzcGFjZXIgKiAxLjc1LCAvLyAyOHB4XG4gIDg6ICRzcGFjZXIgKiAyLCAvLyAzMnB4XG4gIDk6ICRzcGFjZXIgKiAzLCAvLyA0OHB4XG4gIDEwOiAkc3BhY2VyICogNCwgLy8gNjRweFxuICAxMTogJHNwYWNlciAqIDUgLy8gODBweFxuKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRGFyayBTdHlsZVxuJGRhcmstYmctY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRhcmstdHh0LWNvbG9yOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTGlnaHQgU3R5bGVcbiRsaWdodC1iZy1jb2xvcjogJGRhcmstdHh0LWNvbG9yICFkZWZhdWx0O1xuJGxpZ2h0LXR4dC1jb2xvcjogJGRhcmstYmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEhlYWRlclxuJGhlYWRlci1iZzogJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEZvb3RlclxuJGZvb3Rlci1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJGNvcHlyaWdodC1iZzogJGZvb3Rlci1iZyAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTGlua3NcbiRsaW5rLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsaW5rLXNoYWRlLXBlcmNlbnRhZ2U6IDIwJSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG5cbi8vIEdyaWQgY29sdW1uc1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbnRhaW5lciBwYWRkaW5nXG4kY29udGFpbmVyLXBhZGRpbmcteDogJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29tcG9uZW50c1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci12YXJpYWJsZXNcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6IHJnYmEoJGdyYXktOTAwLCAuMTUpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJ1dHRvbnMgKyBGb3Jtc1xuJGJ0bi1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6IG51bGwsXG4gIFwic2Vjb25kYXJ5XCIgOiBudWxsXG4pICFkZWZhdWx0O1xuXG4kaW5wdXQtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAuMTI1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBOYXZzXG4vLy0tLS0tIFNoYXJlZCB2YXJpYWJsZXNcbiRuYXYtY29sb3ItYWNjZW50OiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb290c3RyYXAgdmFyaWFibGVzXG4kbmF2LWxpbmstZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogdGludC1jb2xvcigkcHJpbWFyeSwgMzAlKSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogJGdyYXktNjAwICFkZWZhdWx0O1xuXG4vLy0tLS0tIEFscGhhIHZhcmlhYmxlc1xuJG5hdi1jb2xvci1ob3Zlci1maXJzdC1sZXZlbDogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1jb2xvci1jdXJyZW50OiAkbmF2LWNvbG9yLWFjY2VudCAhZGVmYXVsdDtcbiRuYXYtY29sb3ItY3VycmVudC1maXJzdC1sZXZlbDogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJG5hdi1jb2xvci1hbmNlc3Rvcjogc2hhZGUtY29sb3IoJG5hdi1jb2xvci1hY2NlbnQsIDIwJSkgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWFuY2VzdG9yLWZpcnN0LWxldmVsOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBOYXZiYXJcbiRzdWJtZW51LWJnLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy15OiAzICogJHNwYWNlciAvIDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tbWFyZ2luLXg6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tbWFyZ2luLXk6IG51bGwgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAkbmF2LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBEcm9wZG93bnNcblxuLy8tLS0tLS0gUGFnaW5hdGlvblxuJHBhZ2luYXRpb24taG92ZXItYmc6IHJnYmEoJHByaW1hcnksIC4xKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gTW9kYWxzXG4kbW9kYWwtYmFja2Ryb3AtYmc6IGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4vLyBNb2RhbCBWaWRlb1xuJG1vZGFsLXZpZGVvLWJ0bi1jbG9zZS1iZy1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbW9kYWwtdmlkZW8tYnRuLWNsb3NlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBJbWFnZSB0aHVtYm5haWxzICYgUGljdHVyZVxuXG4vLy0tLS0tLSBCcmVhZGNydW1ic1xuJGJyZWFkY3J1bWItZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPZmZjYW52YXNcbiRvZmZjYW52YXMtYm9keS1iYWNrZHJvcC1jb2xvcjogcmdiYSgkbW9kYWwtYmFja2Ryb3AtYmcsICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtd2lkZS1zY3JlZW4tYnJlYWtwb2ludDogeHhsICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPZmZjYW52YXMgZGVza3RvcFxuJG9mZmNhbnZhcy1kYXJrLW1vZGUtbG9nby1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1kZXNrdG9wLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtbG9nby13aWR0aDogNjYuNjYlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1oZWFkZXItYWxpZ25lbWVudDogY2VudGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1ib3JkZXItb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtYm9yZGVyLWJnOiByZ2JhKCRvZmZjYW52YXMtZ3JpZC1ib3JkZXItY29sb3IsICRvZmZjYW52YXMtZ3JpZC1ib3JkZXItb3BhY2l0eSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLW9wYWNpdHk6IC4xICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvci1iZzogcmdiYSgkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItb3BhY2l0eSk7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zdHlsZTogJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItc2l6ZSAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci10eXBlICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLWJnICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC10aHVtYi13aWR0aDogNzUlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtZm9udC1zaXplOiAxLjEyNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0tcGFkZGluZy15OiAwICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taWNvbi1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1zdWJtZW51LWl0ZW0taW1hZ2UtYm94LXNoYWRvdzogMCAwIDEuNXJlbSAuNzVyZW0gcmdiYSgkc2Vjb25kYXJ5LCAuMjUpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1ob3Zlci1pbWFnZS1ib3gtc2hhZG93OiB2YXIoLS1icy1ib3gtc2hhZG93KTtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZmlyc3QtbHZsLW1lbnUtaXRlbS1ib3JkZXItb3BhY2l0eTogLjE1ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkIHJnYmEoJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1vcGFjaXR5KTtcblxuLy8tLS0tLS0tIE9mZmNhbnZhcyBkZXNrdG9wIE1lZ2EgU3VibWVudVxuJG9mZmNhbnZhcy1zdWJtZW51LWl0ZW0tZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCAkb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1ib3JkZXItY29sb3I7XG5cblxuLy8tLS0tLS0gTWVnYSBNZW51XG4kbWVnYW1lbnUtYmctY29sb3I6IHZhcigtLXRoZW1lLXNraW4tYmctY29sb3IpO1xuJG1lZ2FtZW51LXBhZGRpbmcteTogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtcGFkZGluZy15OiAuNXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1wYWRkaW5nLXg6IDFyZW0gIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLWhvdmVyLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtcGljdHVyZS1oYXMtb3ZlcmxheTogdHJ1ZSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRtZWdhbWVudS1vdmVybGF5LWJnLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3ItcmJnOiByZ2JhKCRtZWdhbWVudS1vdmVybGF5LWJnLWNvbG9yLCAkbWVnYW1lbnUtb3ZlcmxheS1iZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRtZWdhbWVudS1waWN0dXJlLWJvcmRlci1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBBbmNob3Igb2Zmc2V0XG4kYW5jaG9yLW9mZnNldDogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gV3AgQWxwaGFcbi8vIGxvZ29cbiRsb2dvLXBhZGRpbmcteTogJG5hdmJhci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9vdHN0cmFwIGNvbG9ycyBjbGVhbnVwXG4kYnMtZ3JheXMtdG8ta2VlcDogKCkgIWRlZmF1bHQ7XG4kYnMtZ3JheXMtdG8tcmVtb3ZlOiAoXCIyMDBcIiwgXCIzMDBcIiwgXCI0MDBcIiwgXCI1MDBcIiwgXCI3MDBcIikgIWRlZmF1bHQ7XG4kYnMtY29sb3JzLXRvLWtlZXA6ICgpICFkZWZhdWx0O1xuJGJzLWNvbG9ycy10by1yZW1vdmU6IChcImluZGlnb1wiLCBcInBpbmtcIiwgXCJyZWRcIiwgXCJ5ZWxsb3dcIiwgXCJncmVlblwiLCBcInRlYWxcIiwgXCJjeWFuXCIsIFwibGlnaHRcIiwgXCJkYXJrXCIpICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb3RzdHJhcCB1dGlsaXRpZXMgY2xlYW51cFxuJGJzLXV0aWxpdGllcy10by1yZW1vdmU6IChcImJnLW9wYWNpdHlcIikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVscGVyc1xuLy8tLS0tIFNlcGFyYXRlIHRpdGxlXG4kc2VwYXJhdGUtdGl0bGUtd2lkdGg6IDgwcHggIWRlZmF1bHQ7XG4kc2VwYXJhdGUtdGl0bGUtYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0gVHJhbnNwYXJlbnQgYmFja2dyb3VuZHNcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMtb3ZlcnJpZGVzOiAoKSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXM6IChcbiAgMTA6IC4xLFxuICAyNTogLjI1LFxuICBsaWdodDogLjI1LFxuICAzNTogLjM1LFxuICA1MDogLjUsXG4gIG1lZGl1bTogLjUsXG4gIDY1OiAuNjUsXG4gIDc1OiAuNzUsXG4gIHN0cm9uZzogLjc1LFxuICA5MDogLjlcbikgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzOiBtYXAtbWVyZ2UoJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcywgJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcy1vdmVycmlkZXMpO1xuJHRyYW5zcGFyZW50LWJnLWNvbG9yczogKHByaW1hcnk6ICR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXMsIHNlY29uZGFyeTogJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcykgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVG9vbHNcbi8vIENvbmZpZ3VyYXRpb24gKGFjdGl2YXRlIG9ubHkgdGhvc2UgbmVlZGVkKVxuJHRlYXNlczogKFwiZ3JpZFwiLCBcImxpc3RcIiwgXCJzaW1wbGVcIiwgXCJzaW1wbGUtcmVhbGlzYXRpb25zXCIpICFkZWZhdWx0O1xuJGZvcm1zOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb3AgQmFyXG4kdG9wLWJhci1oaWRlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLWRlc2t0b3A6ICR0b3AtYmFyLWhpZGUtb24tc2Nyb2xsLW1vYmlsZSAhZGVmYXVsdDtcbiR0b3AtYmFyLXBhZGRpbmcteDogJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kdG9wLWJhci1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJHRvcC1iYXItaGVpZ2h0OiBpZihudWxsICE9IGluZGV4KCRtZW51cywgXCJzZWNvbmRhcnlcIiksIDIuNXJlbSwgMS41cmVtKSAhZGVmYXVsdDtcbiR0b3AtYmFyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XG4kdG9wLWJhci1zb2NpYWwtbGlua3MtbWFyZ2luOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiR0b3AtYmFyLWRlZmF1bHQtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLXRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJ0bi1pY29uOiAkZmEtdmFyLXBob25lLWFsdCAhZGVmYXVsdDtcbiRoZWFkZXItYnRuLWZhLXN0eWxlOiBcInNvbGlkXCIgIWRlZmF1bHQ7XG4kaGVhZGVyLWJ0bi1zaG93LXRleHQtYnJlYWtwb2ludDogJGRlc2t0b3AtYnJlYWtwb2ludCAhZGVmYXVsdDtcblxuLy8tLS0tLSBGZWF0dXJlZCBpbWFnZVxuJGZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aCAhZGVmYXVsdDtcbiRob21lLWZlYXR1cmVkLWltYWdlLWhlaWdodDogNTB2aCAhZGVmYXVsdDtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRmZWF0dXJlZC1pbWFnZS1vdmVybGF5LW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC10cmFuc2l0aW9uOiB0cnVlICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC1hbmltYXRpb24tZHVyYXRpb246IDEuNXMgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQ29udGVudCBBYm92ZVxuJGNvbnRlbnQtYWJvdmUtdGV4dC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gU2hhcGVzXG4vLyBwb3NzaWJsZSBzaGFwZXMgYXJlOiAoc3F1YXJlLCBjaXJjbGUsIHRyaWFuZ2xlLCBsb3plbmdlKVxuLy8gcG9zc2libGUgdW5pdHMgYXJlOiAocmVtOiAxcmVtLCBlbTogMWVtLCB2dzogMi41dncpXG4kc2hhcGVzOiAoKSAhZGVmYXVsdDtcbiRzaGFwZXMtdW5pdHM6IChyZW06IDFyZW0pICFkZWZhdWx0O1xuJHNoYXBlcy1kZWZhdWx0LXVuaXQ6IG50aChudGgoJHNoYXBlcy11bml0cywgMSksIDIpICFkZWZhdWx0O1xuJHNoYXBlcy1tYXgtbXVsdGlwbGllcjogMTAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGV4dCBjb250cmFzdFxuJGFscGhhLWVuYWJsZS1idG4tY2xvc2UtdGV4dC1jb250cmFzdC1jb2xvcnM6IGZhbHNlICFkZWZhdWx0O1xuJGFscGhhLWJ0bi1jbG9zZS10ZXh0LWNvbnRyYXN0LWNvbG9yczogJHRoZW1lLWNvbG9ycyAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZXh0IHNoYWRvd1xuJGFscGhhLXRleHQtc2hhZG93LWNvbG9yOiBjb2xvci1jb250cmFzdCh3aGl0ZSkgIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXMtc206IC4yNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXMtbGc6IDFyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtdGV4dC1zaGFkb3ctY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBPdmVybGF5XG4kYWxwaGEtb3ZlcmxheS1jb2xvcjogJG1vZGFsLWJhY2tkcm9wLWJnICFkZWZhdWx0O1xuJGFscGhhLW92ZXJsYXktb3BhY2l0eTogJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkgIWRlZmF1bHQ7XG4kYWxwaGEtb3ZlcmxheS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFogaW5kZXhcbiRhbHBoYS16LWluZGV4ZXM6ICgxKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaWRlYmFyXG4kc2lkZWJhcjogZmFsc2UgIWRlZmF1bHQ7XG4kc2lkZWJhci1iZy1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMykgIWRlZmF1bHQ7XG4kc2lkZWJhci1ib3JkZXItcmFkaXVzOiAuMzc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0cy1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDYpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LWNvbnRlbnQtc3BhY2VyOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC10aXRsZS1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LXRpdGxlLWZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC1saXN0LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTdXJ0aXRsZVxuJGFscGhhLXN1cnRpdGxlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemUtZGVza3RvcDogJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1tYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy0tLS0tIENvcHlyaWdodFxuJGFscGhhLWNvcHlyaWdodC1mb250LXNpemU6IC44MjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstaG92ZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy0tLS0tIE5hdmlnYXRpb25zXG4vLy0tLS0gQ29tbW9uXG4kbmF2LWxpbmstYWZ0ZXItaGVpZ2h0OiAycHggIWRlZmF1bHQ7XG5cbi8vLS0tLSBDZW50ZXJcbiRuYXYtY2VudGVyLWxvZ28tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG5hdi1jZW50ZXItbG9nby1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQnJlYWRjcnVtYnNcbiRicmVhZGNydW1iLW1vYmlsZS1zaGFkb3ctc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbW9iaWxlLXNoYWRvdy1jb2xvcjogJGJvZHktYmcgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1vbi1mZWF0dXJlZC1tb2JpbGUtc2hhZG93LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGVhc2VcbiR0ZWFzZS1iYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRlYXNlLWJhZGdlLWJnOiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuJHRlYXNlLW92ZXJsYXktdGV4dC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRlYXNlLW92ZXJsYXktdGV4dC1zaGFkb3c6IDAgMCAuMjVyZW0gIzAwMDtcbiR0ZWFzZS1vdmVybGF5LWJnLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJHRlYXNlLW92ZXJsYXktYmctb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdvb0NvbW1lcmNlXG4vLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgJHdvb2NvbW1lcmNlICYgJHdvb2NvbW1lcmNlU2lkZWJhciB2YXJpYWJsZXNcbkBpZiB0eXBlLW9mKCR3b29jb21tZXJjZSkgPT0gXCJib29sXCIge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZSB2YXJpYWJsZSBhcyBib29sIGlzIGRlcHJlY2F0ZWQsIHVzZSB3b29jb21tZXJjZS5lbmFibGVkIGluIHdvb2NvbW1lcmNlLnlhbWwgaW5zdGVhZC5cIjtcbiAgJHdvb2NvbW1lcmNlOiBtYXAtZXh0ZW5kKG1hcC1nZXQoJGNvbmZpZy1kZWZhdWx0cywgXCJ3b29jb21tZXJjZVwiKSwgKGVuYWJsZWQ6ICR3b29jb21tZXJjZSkpO1xuICAkd29vY29tbWVyY2UtZW5hYmxlZDogbWFwLWdldC1kZWVwKCR3b29jb21tZXJjZSwgXCJlbmFibGVkXCIpO1xufVxuXG5AaWYgdmFyaWFibGUtZXhpc3RzKHdvb2NvbW1lcmNlU2lkZWJhcikge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZVNpZGViYXIgdmFyaWFibGUgZGVwcmVjYXRlZCwgdXNlICR3b29jb21tZXJjZS1zaWRlYmFyIGluc3RlYWQuXCI7XG4gICR3b29jb21tZXJjZS1zaWRlYmFyOiAkd29vY29tbWVyY2VTaWRlYmFyO1xufVxuXG4vLyBBdHRyaWJ1dGVzXG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtZm9udC1zaXplOiAuOXJlbSAhZGVmYXVsdDtcbiR3Yy1wcm9kdWN0LWF0dHJpYnV0ZS1ldmVuLWJnOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtbGFiZWwtY29sb3I6ICRncmF5LTcwMCAhZGVmYXVsdDtcblxuLy8gQXZhaWxhYmlsaXR5XG4kd2Mtc3RvY2staWNvbi13aWR0aDogJGZhLWZ3LXdpZHRoICFkZWZhdWx0O1xuJHdjLXN0b2NrLWljb24tZm9udC1zaXplOiAkZmEtc2l6ZS1zY2FsZS1iYXNlICFkZWZhdWx0O1xuJHdjLXN0b2NrLWluZm86IChcbiAgYXZhaWxhYmxlLW9uLWJhY2tvcmRlcjogKGNvbG9yOiBvcmFuZ2UsIGljb246ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQpLFxuICBvdXQtb2Ytc3RvY2s6IChjb2xvcjogcmVkLCBpY29uOiAkZmEtdmFyLWNpcmNsZS14bWFyaylcbikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQWRkIHRvIENhcnQgYnV0dG9uXG4kYnRuLWFkZHRvY2FydC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWhvdmVyLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWljb25zOiAoXG4gIHNpbXBsZTogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQsXG4gIGdyb3VwZWQ6ICRmYS12YXItZXllLFxuICB2YXJpYWJsZTogJGZhLXZhci1jb2dzLFxuICBib29raW5nOiAkZmEtdmFyLWNhbGVuZGFyLWRheXMsXG4pICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb2tpbmdcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItdWktYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1ob3Zlci1iZzogc2hhZGUtY29sb3IoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmcsIDIwJSkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmcpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4taG92ZXItYmc6IHNoYWRlLWNvbG9yKCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZywgMjAlKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWNvc3QtYmc6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWNvc3QtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWNvc3QtYmcpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFByaWNlIENvbG9yXG4kd2MtcHJpY2UtY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2MtZGVsLXByaWNlLWNvbG9yOiByZ2JhKCRncmF5LTUwMCwgLjYpICFkZWZhdWx0O1xuXG4vLy0tLS0tIERpc2NvdW50IGJhZGdlXG4kYmFkZ2Utb25zYWxlLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGJhZGdlLW9uc2FsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1pbmkgQ2FydFxuJG1pbmljYXJ0LWNvdW50ZXItYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtY291bnRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXRvdGFsLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmljYXJ0LXRvdGFsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtaXRlbS1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcXR5LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS0tLSBDYXJ0XG4kY2FydC1idG4tYWN0aW9ucy1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kY2FydC1idG4tY2hlY2tvdXQtYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTWVzc2FnZVxuJHdjLW1lc3NhZ2UtYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1tZXNzYWdlLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR3Yy1tZXNzYWdlLWljb24tY29sb3I6ICRncmVlbiAhZGVmYXVsdDtcblxuJHdjLWluZm8tYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1pbmZvLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR3Yy1pbmZvLWljb24tY29sb3I6ICRibHVlICFkZWZhdWx0O1xuXG4kd2MtZXJyb3ItYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1lcnJvci1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kd2MtZXJyb3ItaWNvbi1jb2xvcjogcmVkICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNpZGViYXJcbiR3Yy1zaWRlYmFyLW1vYmlsZS1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1tb2JpbGUtYmFjay10b3Atb2Zmc2V0LXk6IDNyZW0gIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHdjLWZpbHRlci10b2dnbGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtZmlsdGVyLXRvZ2dsZXItYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtY2F0LWxpbmstaG92ZXItYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tbGluay1jb2xvcjogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstY29sb3I6ICRuYXYtY29sb3ItYW5jZXN0b3IgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRvcCBiYXIgaWNvbnNcbi8vLS0tLS0gVG9wIGJhciBpY29uc1xuJHRvcC1iYXItaWNvbnM6IChjb250YWN0OiAkZmEtdmFyLWVudmVsb3BlLCBwaG9uZTogJGZhLXZhci1waG9uZS1hbHQpICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbnMtbWFyZ2luOiAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9wLWJhci1pY29ucy1mYS12YXJpYW50OiBcInNvbGlkXCIgIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29uczogJHRvcC1iYXItaWNvbnMgIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29ucy1tYXJnaW46ICR0b3AtYmFyLWljb25zLW1hcmdpbiAhZGVmYXVsdDtcbiR3Yy10b3AtYmFyLWljb25zLWZhLXZhcmlhbnQ6ICR0b3AtYmFyLWljb25zLWZhLXZhcmlhbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGVhc2VcbiR3Yy10ZWFzZS1wcm9kdWN0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1ib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1saW5rLWltYWdlLXBhZGRpbmc6ICR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstcGFkZGluZyAqIC0xICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtaG92ZXItYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTb2NpYWwgc2hhcmUgaWNvbnNcbiRzb2NpYWwtc2hhcmUtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuNSkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdQTUxcbiR3cG1sLWRldjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFscGhhIGJsb2Nrc1xuLy8tLS0tLSBGYWNlYm9vayB2aWRlb1xuJGFscGhhLWZiLXZpZGVvLWxvYWRlci1iZy1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYWxwaGEtZmItdmlkZW8tbG9hZGVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWxwaGEtZmItdmlkZW8tbG9hZGVyLWJnLWNvbG9yKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBIZXJvIGJhbm5lclxuJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC15OiAzLjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXRvcDogJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC15ICFkZWZhdWx0O1xuJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC1ib3R0b206ICRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQteSAhZGVmYXVsdDtcblxuLy8tLS0tLSBNYXBcbiRhbHBoYS1tYXAtZGVmYXVsdC1oZWlnaHQ6IDI1MHB4ICFkZWZhdWx0O1xuJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodC1sZzogJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodCAqIDIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gUmF0aW5nXG4kYWxwaGEtcmF0aW5nLXN0YXItb24tY29sb3I6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4kYWxwaGEtcmF0aW5nLXN0YXItb2ZmLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSWNvblxuJGljb24tYmxvY2staWNvbi1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gR29vZ2xlIFJldmlld3NcbiRnb29nbGUtcmV2aWV3cy1ib3JkZXItdG9wOiA2cHggc29saWQgIzRmY2U2YSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1ib3JkZXItcmFkaXVzOiAuMTVyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtbG9nby13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1zY29yZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtcmF0aW5nLXN0YXItY29sb3I6ICNlNzcxMWIgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3MtcmF0aW5nLWNvdW50LWNvbG9yOiAjN2E3YTdhICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXotaW5kZXg6IDIwMDAgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0OiAycmVtICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLW9mZnNldC1ib3R0b206ICRnb29nbGUtcmV2aWV3cy1vZmZzZXQgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0LWxlZnQ6ICRnb29nbGUtcmV2aWV3cy1vZmZzZXQgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0LXJpZ2h0OiAkZ29vZ2xlLXJldmlld3Mtb2Zmc2V0ICFkZWZhdWx0O1xuJGdvb2dsZS1iYWRnZS1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1iYWRnZS1oaWRlLW9uLW1vYmlsZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQWxwaGEgbW9kdWxlc1xuLy8tLS0tLSBDb21tb25cbiRsb2FkaW5nLW1vZHVsZXMtYmctY29sb3I6IHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJGxvYWRpbmctbW9kdWxlcy1sb2FkZXItY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxvYWRpbmctbW9kdWxlcy1sb2FkZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGxvYWRpbmctbW9kdWxlcy16LWluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBEZWZhdWx0XG4vLy0tLS0gUGFnZSBzY3JvbGxcbiRob21lLXBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodDogMTV2aCAhZGVmYXVsdDtcbiRwYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQ6ICRob21lLXBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodCAvIDIgIWRlZmF1bHQ7XG4kcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0LWRlc2t0b3A6ICRob21lLXBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodCAvIDMgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gT3B0aW9uYWxcbi8vLS0tLSBCYWNrIHRvIHRvcFxuJGJhY2stdG8tdG9wLW9mZnNldC14OiAxcmVtICFkZWZhdWx0O1xuJGJhY2stdG8tdG9wLW9mZnNldC15OiAxcmVtICFkZWZhdWx0O1xuJGJhY2stdG8tdG9wLWRlZmF1bHQtYnV0dG9uLXRyYW5zbGF0ZS15OiAkYmFjay10by10b3Atb2Zmc2V0LXkgKiAtMiAhZGVmYXVsdDtcblxuLy8tLS0tIEhlYWRlciBzdGF0ZXNcbi8vLS0tIFNocnVuayBsb2dvXG4kc2hydW5rLWxvZ28taGVpZ2h0LXJhdGlvOiAuOCAhZGVmYXVsdDtcblxuLy8tLS0tIFJhbmdlIHNsaWRlclxuJHJhbmdlLXNsaWRlci13cmFwcGVyLWhlaWdodDogM3JlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFJvdXNxdWlsbGVcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbjogMCBhdXRvICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWFyZ2luLXRhYmxldDogMCBhdXRvIG1hcC1nZXQoJHNwYWNlcnMsIDgpICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWFyZ2luLW1vYmlsZTogMCBhdXRvIG1hcC1nZXQoJHNwYWNlcnMsIDQpICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28taGVpZ2h0OiAkbG9nby1oZWlnaHQgIWRlZmF1bHQ7XG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXgtaGVpZ2h0OiA1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gU3dpcGVyXG4kc3dpcGVyLXRoZW1lLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRzd2lwZXItbmF2aWdhdGlvbi1zaXplOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy0tLSBUcmFuc3BhcmVudCBIZWFkZXJcbiR0cmFuc3BhcmVudC1oZWFkZXItYmctY29sb3I6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICRncmF5LTcwMCwgdHJhbnNwYXJlbnQpICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci10ZXh0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1yYWRpdXM6IC4xMjVyZW0gIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tY29sb3I6ICR0cmFuc3BhcmVudC1oZWFkZXItdGV4dC1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1zaGFkb3ctY29sb3I6ICR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLXNoYWRvdy1yYWRpdXM6ICR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LXJhZGl1cyAhZGVmYXVsdDtcblxuLy8tLS0tIEltYWdlIEdhbGxlcnlcbi8vIFwib3ZlcmxheVwiLCBcImRlZmF1bHQtb3BhY2l0eVwiLCBcImhvdmVyLW9wYWNpdHlcIiwgXCJjdXN0b21cIlxuJGltYWdlLWdhbGxlcnktYW5pbWF0aW9uLXR5cGU6IFwib3ZlcmxheVwiICFkZWZhdWx0O1xuXG4vLy0tLSBPcGFjaXR5XG4kaW1hZ2UtZ2FsbGVyeS1pbWFnZS1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcblxuLy8tLS0gT3ZlcmxheVxuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktb3BhY2l0eTogLjE1ICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDEyNSUpIGNvbnRyYXN0KDEyNSUpICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoLjUpICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uOiAkZmEtdmFyLXNlYXJjaC1wbHVzICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLXN0eWxlOiBcInJlZ3VsYXJcIiAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1vcGFjaXR5OiAuODUgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tZm9udC1zaXplOiAxLjVyZW0gIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tdGV4dC1zaGFkb3c6IDAgMCAuMTI1cmVtIHJnYmEoYmxhY2ssIC43NSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xLjVyZW0pICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1vZmZzZXQ6IC4xICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1zY2FsZTogMSArICRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaW1hZ2Utb2Zmc2V0ICFkZWZhdWx0O1xuXG4vLy0tLS0gTGVhZmxldCBNYXBcbiRtYXAtbWFya2VyLWNvbG9yLWRlZmF1bHQ6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWFwLW1hcmtlci1jb2xvci1sb2FkaW5nOiBncmF5ICFkZWZhdWx0O1xuJG1hcC1tYXJrZXItY29sb3ItYWN0aXZlOiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8tLS0tIE1hc29ucnlcbiRtYXNvbnJ5LWdhbGxlcnktZ2FwOiAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBXb29Db21tZXJjZSBTZWFyY2ggT3ZlcmxheVxuJHNlYXJjaC1vdmVybGF5LWJnLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1iZy1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktYmFja2Ryb3AtZmlsdGVyOiBibHVyKC4xMjVyZW0pICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWZvcm0tZm9udC1zaXplOiAuOXJlbSAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1mb3JtLWJvcmRlci1yYWRpdXM6IC4yNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFdvb0NvbW1lcmNlIFJldmlldyBmb3JtXG4kd29vY29tbWVyY2UtcmV2aWV3LWZvcm0tc3RhcnMtZm9udHNpemU6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEd1dGVuYmVyZyBibG9ja3Ncbi8vLS0tLS0gUmFuayBNYXRoXG4vLy0tLS0gRkFRXG4kcmFuay1tYXRoLWZhcS1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm94LXNoYWRvdzogMCAuNXJlbSAuNXJlbSAtLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzcGFjZXJzLCAxKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJvcmRlci1jb2xvcjogJGdyYXktMjAwICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm9yZGVyOiAxcHggc29saWQgJHJhbmstbWF0aC1mYXEtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtaXRlbS1wYWRkaW5nOiBtYXAtZ2V0KCRzcGFjZXJzLCAzKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWdhcDogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1wYWRkaW5nLWJvdHRvbTogJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZ2FwICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tYm9yZGVyLWNvbG9yOiAkcmFuay1tYXRoLWZhcS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1ib3JkZXItYm90dG9tOiAkcmFuay1tYXRoLWZhcS1ib3JkZXIgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uOiAkZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1pY29uLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tb2Zmc2V0LXRvcDogLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBJbWFnZVxuJGd1dGVuYmVyZy1pbWFnZS1yYXRpb3M6IChcIjFcIiwgXCI0LzNcIiwgXCIzLzRcIiwgXCIzLzJcIiwgXCIyLzNcIiwgXCIxNi85XCIsIFwiOS8xNlwiKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRm9udHMgb3B0aW1pemF0aW9uXG4vLy0tLS0tIEZvbnRBd2Vzb21lIGljb25zXG4kZm9udC1mYS1wcm86IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4kZm9udC1mYS1icmFuZHM6IFwiRm9udCBBd2Vzb21lIDYgQnJhbmRzXCI7XG4vLyBzZWUgLi4vdmVuZG9ycy9fZm9udGF3ZXNvbWUuc2NzcyBmb3IgaWNvbnMgcHJvY2Vzc2luZ1xuLy8gc2VlIC4uL3ZlbmRvcnMvX2ZvbnRhd2Vzb21lLWljb25zLnNjc3MgZm9yIGF2YWlsYWJsZSBpY29ucyAmIGljb25zIGdyb3Vwc1xuLy8gJGN1c3RvbS11c2VkLWZhLWljb25zOiAoZm9udC1hd2Vzb21lLWZsYWc6ICRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcsIHBsdXM6ICRmYS12YXItcGx1cyk7XG4kY3VzdG9tLXVzZWQtZmEtaWNvbnM6ICgpICFkZWZhdWx0O1xuLy8gJHVzZWQtZmEtaWNvbnMtZ3JvdXBzOiAoYWNjb21tb2RhdGlvbnMsIHdvb2NvbW1lcmNlKTtcbiR1c2VkLWZhLWljb25zLWdyb3VwczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gSWNvbnMgbGlzdFxuJGFscGhhLWZhLWljb25zLWxpc3Q6ICgpICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3QtY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3Qtc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFscGhhLWZhLWljb25zLWxpc3QtY29sb3JzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gU2xpY2tcbiRzbGljay1mb250LXBhdGg6IFwifnNsaWNrLWNhcm91c2VsL3NsaWNrL2ZvbnRzL1wiO1xuJHNsaWNrLWZvbnQtZmFtaWx5OiAkZm9udC1mYS1wcm87XG5cbi8vLS0tLS0tIENGNyBFZmZlY3RcbiRjb2xvci1mb3JtLWZpbGxlZDogJHByaW1hcnkgIWRlZmF1bHQ7XG4kZm9ybS1ndXR0ZXI6IC41cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBCb290c3RyYXAgUmVzcG9uc2l2ZSBJbWFnZSBSYXRpb1xuLy8gbXVzdCBiZSBhIGxpc3Qgb2YgcmF0aW9zIGZvcm1hdHRlZCBsaWtlIHRoaXM6ICgxIDEpLCAoNCAzKSwgKDMgMiksICgxNiA5KSwgKDIxIDkpXG4kbWVkaWEtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbiIsIiR0aGVtZTogKCdjb2xvcnMnOiAoJ3ByaW1hcnknOiAjN0IzQjY5LCdzZWNvbmRhcnknOiAjQkNBNUNDLCdib2R5JzogIzE2MTQwRiwnYm9keV9iZyc6ICNmZmZmZmYsKSwnbG9nbyc6ICgnaGVpZ2h0JzogXCIzLjc1cmVtXCIsKSwnZmF2aWNvbic6ICgnYXV0b19nZW5lcmF0ZWQnOiB0cnVlLCksJ3R5cG9ncmFwaHknOiAoJ2ZvbnQnOiAoJ2ZhbWlseV9zYW5zX3NlcmlmJzogUmFsZXdheSwnc2l6ZSc6IFwiMXJlbVwiLCd3ZWlnaHQnOiA0MDAsKSwnaGVhZGluZ3MnOiAoJ2NvbG9yJzogbnVsbCwnZm9udCc6ICgnZmFtaWx5JzogbnVsbCwnd2VpZ2h0JzogNzAwLCksJ3NpemVzJzogKCdoMSc6IFwiMi41cmVtXCIsJ2gyJzogXCIycmVtXCIsJ2gzJzogXCIxLjc1cmVtXCIsJ2g0JzogXCIxLjVyZW1cIiwnaDUnOiBcIjEuMjVyZW1cIiwnaDYnOiBcIjFyZW1cIiwpLCdob21lX3NpemVzJzogKCdoMSc6IFwiMy4xMjVyZW1cIiwnaDInOiBcIjIuMTg4cmVtXCIsJ2gzJzogXCIxLjU2M3JlbVwiLCksKSwpLCk7IiwiQGltcG9ydCBcIi4uL2luaXRcIjtcblxuQGltcG9ydCBcIi4uL3RlYXNlcy90ZWFzZVwiO1xuXG4vLy0tLS0tLSBUeXBvXG5AZWFjaCAkaG4sICR2YWx1ZSBpbiAkaG9tZS1mb250LXNpemVzIHtcbiAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAjeyRobn0sIC4jeyRobn0ge1xuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKCR2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbi5ob21lIHtcbiAgLS1mZWF0dXJlZC1pbWFnZS1oZWlnaHQ6ICN7JGhvbWUtZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0fTtcbiAgLS1hbHBoYS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQ6ICN7JGhvbWUtcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0fTtcblxuICBAaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAgIG1haW4uY29udGFpbmVyLFxuICAgIG1haW4gLmNvbnRhaW5lciB7XG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGhvbWUtY29udGFpbmVyLW1heC13aWR0aHMge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgICAgIC0tY29udGFpbmVyLW1heC13aWR0aDogI3skY29udGFpbmVyLW1heC13aWR0aH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AaWYgJGhvbWUtZmVhdHVyZWQtaW1hZ2UtdGV4dC10cmFuc2l0aW9uIHtcbiAgLmhvbWUge1xuICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAuY29udGVudC1hYm92ZSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG5cbiAgICAgICAgQGlmICRob21lLWZlYXR1cmVkLWltYWdlLXRleHQtYW5pbWF0aW9uLWR1cmF0aW9uIHtcbiAgICAgICAgICBhbmltYXRpb246ICRob21lLWZlYXR1cmVkLWltYWdlLXRleHQtYW5pbWF0aW9uLWR1cmF0aW9uIGxpbmVhciAuMjVzIGFscGhhLWZlYXR1cmVkLXRleHQtb3BhY2l0eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZS1zY3JvbGxlZCB7XG4gICAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAuY29udGVudC1hYm92ZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kaW1lbnNpb24tbm8tbm9uLW51bWVyaWMtdmFsdWVzXG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIHJlc3BvbnNpdmUgdmFsdWVzIGZvciBmb250IHNpemVzLCBwYWRkaW5ncywgbWFyZ2lucyBhbmQgbXVjaCBtb3JlXG4vL1xuLy8gTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvYmxvYi9tYWluL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsICRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHJlbSB7XG4gICRyZnMtYmFzZS12YWx1ZTogZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSwgZGl2aWRlKCRyZnMtYmFzZS12YWx1ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcHgge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtYnJlYWtwb2ludCAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHJlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6IGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQsIGRpdmlkZSgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FsY3VsYXRlIHRoZSBtZWRpYSBxdWVyeSB2YWx1ZVxuJHJmcy1tcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG4kcmZzLW1xLXByb3BlcnR5LXdpZHRoOiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCBtYXgtd2lkdGgsIG1pbi13aWR0aCk7XG4kcmZzLW1xLXByb3BlcnR5LWhlaWdodDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LWhlaWdodCwgbWluLWhlaWdodCk7XG5cbi8vIEludGVybmFsIG1peGluIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIG1lZGlhIHF1ZXJ5IG5lZWRzIHRvIGJlIHVzZWRcbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICBAaWYgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pLCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkgYW5kICgjeyRyZnMtbXEtcHJvcGVydHktaGVpZ2h0fTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5ICgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgQGlmICR1bml0ID09IHB4IHtcbiAgICAgICAgLy8gQ29udmVydCB0byByZW0gaWYgbmVlZGVkXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArICRyZnMtcmVtLXZhbHVlKX1yZW0sICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkdW5pdCA9PSByZW0ge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHB4IGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcHgsICN7ZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZW1vdmUgZmlyc3Qgc3BhY2VcbiAgQHJldHVybiB1bnF1b3RlKHN0ci1zbGljZSgkdmFsLCAyKSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBnZXQgdGhlIHJlc3BvbnNpdmUgdmFsdWUgY2FsY3VsYXRlZCBieSBSRlNcbkBmdW5jdGlvbiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiBcIlwiO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgXCIgMFwiO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgQGlmIG5vdCAkdW5pdCBvciAkdW5pdCAhPSBweCBhbmQgJHVuaXQgIT0gcmVtIHtcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgJHZhbHVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkdmFsdWUgKiAwICsgaWYoJHVuaXQgPT0gcHgsIDEsIGRpdmlkZSgxLCAkcmZzLXJlbS12YWx1ZSkpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHJlbSwgI3tkaXZpZGUoJHZhbHVlLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZX1weCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1taW46ICRyZnMtYmFzZS12YWx1ZSArIGRpdmlkZShhYnMoJHZhbHVlKSAtICRyZnMtYmFzZS12YWx1ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiAkdmFsdWUgYW5kIHRoZSBtaW5pbXVtIHZhbHVlXG4gICAgICAgICAgJHZhbHVlLWRpZmY6IGFicygkdmFsdWUpIC0gJHZhbHVlLW1pbjtcblxuICAgICAgICAgIC8vIEJhc2UgdmFsdWUgZm9ybWF0dGluZ1xuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZS1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JHZhbHVlLW1pbn1weCk7XG5cbiAgICAgICAgICAvLyBVc2UgbmVnYXRpdmUgdmFsdWUgaWYgbmVlZGVkXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHZhbHVlIDwgMCwgLSRtaW4td2lkdGgsICRtaW4td2lkdGgpO1xuXG4gICAgICAgICAgLy8gVXNlIGB2bWluYCBpZiB0d28tZGltZW5zaW9uYWwgaXMgZW5hYmxlZFxuICAgICAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgICAgICR2YXJpYWJsZS13aWR0aDogI3tkaXZpZGUoJHZhbHVlLWRpZmYgKiAxMDAsICRyZnMtYnJlYWtwb2ludCl9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgXCIgY2FsYyhcIiArICRtaW4td2lkdGggKyBpZigkdmFsdWUgPCAwLCBcIiAtIFwiLCBcIiArIFwiKSArICR2YXJpYWJsZS13aWR0aCArIFwiKVwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBSRlMgbWl4aW5cbkBtaXhpbiByZnMoJHZhbHVlcywgJHByb3BlcnR5OiBmb250LXNpemUpIHtcbiAgQGlmICR2YWx1ZXMgIT0gbnVsbCB7XG4gICAgJHZhbDogcmZzLXZhbHVlKCR2YWx1ZXMpO1xuICAgICRmbHVpZC12YWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWQtdmFsIHtcbiAgICAgICN7JHByb3BlcnR5fTogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgX3Jmcy1ydWxlICgpIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiBpZigkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5LCAkdmFsLCAkZmx1aWQtdmFsKTtcblxuICAgICAgICAvLyBJbmNsdWRlIHNhZmFyaSBpZnJhbWUgcmVzaXplIGZpeCBpZiBuZWVkZWRcbiAgICAgICAgbWluLXdpZHRoOiBpZigkcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXgsICgwICogMXZ3KSwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnktcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJGZsdWlkLXZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiLy8gQWR1bHRzXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRkZXNrdG9wLWJyZWFrcG9pbnQpIHtcbiAgLm92ZXJsYXktaG92ZXItZWZmZWN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNnMgZWFzZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgaW1nIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgcm90YXRlKDFkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRlZW5hZ2Vyc1xuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkZGVza3RvcC1icmVha3BvaW50KSB7XG4gIC50ZWVuYWdlcnMtbGVzc29uLWNhcmRzOm50aC1jaGlsZCgxKSB7XG4gICAgcm90YXRlOiAzZGVnO1xuICB9XG5cbiAgLnRlZW5hZ2Vycy1sZXNzb24tY2FyZHM6bnRoLWNoaWxkKDIpIHtcbiAgICByb3RhdGU6IC0xM2RlZztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbiAgfVxuXG4gIC50ZWVuYWdlcnMtbGVzc29uLWNhcmRzOm50aC1jaGlsZCgzKSB7XG4gICAgcm90YXRlOiA4ZGVnO1xuICB9XG5cbiAgLnRlZW5hZ2Vycy1sZXNzb24tY2FyZHM6bnRoLWNoaWxkKDQpIHtcbiAgICByb3RhdGU6IC0yMWRlZztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1NCUsIDclKTtcbiAgfVxuXG4gIC50ZWVuYWdlcnMtbGVzc29uLWNhcmRzOm50aC1jaGlsZCg1KSB7XG4gICAgcm90YXRlOiAxNWRlZztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MiUsIC0yMSUpO1xuICB9XG5cbiAgLnBvbGFyb2lkLW92ZXItZWZmZWN0IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaW1nIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuNnMgZWFzZTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgaW1nIHtcbiAgICAgICAgZmlsdGVyOiBzZXBpYSguNSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSkgcm90YXRlKDFkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGlsZFxuLmJ1YmJsZS1lZmZlY3Qge1xuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxufVxuXG4vL0BpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGRlc2t0b3AtYnJlYWtwb2ludCkge1xuLy8gIC5jaGlsZC1sZXNzb24tY2FyZHM6bnRoLWNoaWxkKDEpIHtcbi8vICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQlLCA3JSk7XG4vLyAgfVxuLy9cbi8vICAuY2hpbGQtbGVzc29uLWNhcmRzOm50aC1jaGlsZCgyKSB7XG4vLyAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0JSwgNyUpO1xuLy8gIH1cbi8vXG4vLyAgLmNoaWxkLWxlc3Nvbi1jYXJkczpudGgtY2hpbGQoMykge1xuLy8gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNCUsIDclKTtcbi8vICB9XG4vL1xuLy8gIC5jaGlsZC1sZXNzb24tY2FyZHM6bnRoLWNoaWxkKDQpIHtcbi8vICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDQlLCA3JSk7XG4vLyAgfVxuLy9cbi8vfVxuXG4uY2hpbGR2Mi1ibG9jayB7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIG1heC1oZWlnaHQ6IDQ1MHB4O1xufVxuXG4uY2hpbGR2Mi1ibG9jazpoYXMoLmNoaWxkcmVuLWxlc3Nvbi1jYXJkczpob3Zlcikge1xuICAuY2hpbGRyZW4tbGVzc29uLWNhcmRzIHtcbiAgICBmaWx0ZXI6IGJsdXIoMnB4KTtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgLjZzIGVhc2U7XG4gIH1cbn1cblxuLmNoaWxkcmVuLWxlc3Nvbi1jYXJkcyB7XG4gICY6aG92ZXIge1xuICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jb250ZW50LWFib3ZlLWNoaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uY2hpbGR2Mi1ibG9jayB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tOiAtMTBweDtcbn1cbiIsIi5tZWRpYS10ZXh0LTE6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjUlO1xuICByaWdodDogNSU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogNjUlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaW1hZ2VzL2ZpbGlncmFuZXMvc2lsaG91ZXR0ZS1hc3Npc2UucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBvcGFjaXR5OiAuMTU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGRlc2t0b3AtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmdhbGxlcnktYmxvY2staGVhZGluZzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC02NSU7XG4gIHJpZ2h0OiA1JTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiA2NSU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvZmlsaWdyYW5lcy9wb3J0cmFpdC1wcm9maWwucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBvcGFjaXR5OiAuMTU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGRlc2t0b3AtYnJlYWtwb2ludCkge1xuICAgIHRvcDogLTUwJTtcbiAgICByaWdodDogLTUlO1xuICAgIHdpZHRoOiAzNSU7XG4gIH1cbn1cblxuLmNoaWxkLWJsb2NrLWxpc3Q6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNSU7XG4gIHJpZ2h0OiA1JTtcbiAgbGVmdDogdW5zZXQ7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMjglO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaW1hZ2VzL2ZpbGlncmFuZXMvcG9ydHJhaXQucG5nXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBvcGFjaXR5OiAuMTU7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGRlc2t0b3AtYnJlYWtwb2ludCkge1xuICAgIHJpZ2h0OiB1bnNldDtcbiAgICBsZWZ0OiA1JTtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5cbi5jaGlsZC1ibG9jay1saXN0OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1JTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvZmlsaWdyYW5lcy9wZXJzcGVjdGl2ZS5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG9wYWNpdHk6IC4xNTtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkZGVza3RvcC1icmVha3BvaW50KSB7XG4gICAgcmlnaHQ6IDI5JTtcbiAgICBsZWZ0OiB1bnNldDtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5cbi5uZXdzLWJsb2NrOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTUlO1xuICBsZWZ0OiA1JTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaW1hZ2VzL2ZpbGlncmFuZXMvc2lsaG91ZXR0ZS5wbmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG9wYWNpdHk6IC4xNTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkZGVza3RvcC1icmVha3BvaW50KSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogdW5zZXQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuIiwiQGltcG9ydCBcImNvbmZpZy9ncmlkLnlhbWxcIjtcclxuQGltcG9ydCBcImNvbmZpZy90ZW1wbGF0ZXMueWFtbFwiO1xyXG5AaW1wb3J0IFwiY29uZmlnL3RoZW1lLnlhbWxcIjtcclxuQGltcG9ydCBcImNvbmZpZy93b29jb21tZXJjZS55YW1sXCI7XHJcbkBpbXBvcnQgXCJ+QG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL3lhbWwtdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJhc3NldHMvc2Fzcy9pbml0XCI7XG5AaW1wb3J0IFwiLi4vaW5pdFwiO1xuXG4vLyA9PT0gV1AgQUxQSEEgQVNTRVRTXG5AaW1wb3J0IFwifkBuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3BhZ2VzL2hvbWVcIjtcblxuLy8gPT09IENPTVBPTkVOVFNcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2xlc3NvbnMtYmxvY2tzXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy93YXRlcm1hcmtcIjtcblxuLnBhcmFsbGF4LWxlc3Nvbi1hZG86OmJlZm9yZSB7XG4gIC0tYXNwLW92ZXJsYXktYmctY29sb3ItcmdiOiByZ2JhKDAsIDAsIDAsIC4zKTtcbn1cblxuLmZhcS1ibG9jayB7XG4gIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICBidXR0b24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gIH1cbn1cblxuLncteGwtOTAge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxufVxuXG4vLy5nYWxsZXJ5LWltZy1ibG9jayB7XG4vLyAgaW1nOmJlZm9yZSB7XG4vLyAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICBib3R0b206IDA7XG4vLyAgICBsZWZ0OiAtNTAlO1xuLy8gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuLy8gICAgd2lkdGg6IDEwMCU7XG4vLyAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICBjb250ZW50OiBhdHRyKGRhdGEtbGVnZW5kKTtcbi8vICB9XG4vL31cblxuLy8ubmV3cy1ibG9jayB7XG4vLyAgaW1nLCAudGVhc2UtaG9tZS1uZXdzIHtcbi8vICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuLy8gIH1cbi8vfVxuXG4uaW1hZ2UtbGVnZW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwgeHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIHJlZHVjZWQgYnkgMC4wMnB4IHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZlxuLy8gYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChtZCwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1heCBhbmQgJG1heCA+IDAsICRtYXggLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46ICBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogIGJyZWFrcG9pbnQtbWF4KCRuZXh0LCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/