/**
 * Usage:
 *
 *   background-color: color(white);
 */
.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
.c-navigation__toggle {
  font-size: 16px;
}

.c-navigation {
  background-color: #da251d;
}

.c-navigation li:not(.c-navigation__list-item):not(.c-navigation__more-list-item) {
  display: none;
}

.c-navigation, .c-navigation a {
  color: #ffffff;
  text-decoration: none;
}

.c-navigation .navigation-title {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.6rem;
  line-height: 20px;
  font-style: normal;
  font-weight: 500;
}

@media (min-width: 768px) {
  .c-navigation .navigation-title {
    font-size: 2rem;
    line-height: 32px;
  }
}

.c-navigation .navigation-icon--close {
  height: 27px;
  width: 24px;
}

.c-navigation.c-navigation--white {
  background-color: #ffffff;
}

.c-navigation.c-navigation--white, .c-navigation.c-navigation--white a {
  color: #000000;
}

.c-navigation.c-navigation--white svg {
  fill: black;
}

.c-navigation.c-navigation--white a:hover, .c-navigation.c-navigation--white a:focus {
  background-color: #ededed;
}

.c-navigation.c-navigation--white .c-navigation__list-item.active > a {
  background-color: #ededed;
}

.c-navigation.c-navigation--white .c-navigation__list-item > a:hover, .c-navigation.c-navigation--white .c-navigation__list-item > a:focus {
  background-color: #ededed;
}

.c-navigation__list {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
}

.c-navigation__list.iOS9 .c-navigation__list-item:not(:last-child) {
  max-width: 33%;
  word-break: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.c-navigation__list-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  text-align: left;
}

.c-navigation__list-item.active > a {
  background-color: #da251d;
}

.c-navigation__list-item > a {
  display: block;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  padding: 14px 8px 14px;
  min-height: 100%;
}

.c-navigation__list-item > a:hover, .c-navigation__list-item > a:focus {
  background-color: #740000;
  border: none;
  border-bottom: 4px solid #ffffff;
}

.c-navigation__list-item:last-child > a {
  height: 100%;
}

.c-navigation__more-list {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #da251d;
  z-index: 11;
}

.c-navigation__more-list .navigation-title {
  font-family: Verdana, Tahoma, sans-serif;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-size: 1.8rem;
  line-height: 28px;
  font-style: normal;
  font-weight: 500;
}

@media (min-width: 768px) {
  .c-navigation__more-list .navigation-title {
    font-size: 2rem;
    line-height: 32px;
  }
}

.c-navigation--white .c-navigation__more-list {
  background-color: #ffffff;
}

.c-navigation__more-list--open {
  display: block;
}

.c-navigation__parent--open {
  background-color: #740000;
}

.c-navigation--white .c-navigation__parent--open {
  background-color: #ededed;
}

.c-navigation__more-list {
  width: 280px;
}

.c-navigation__more-list-item {
  text-align: left;
}

.c-navigation__more-list-item > a {
  display: -webkit-box;
  display: flex;
  padding: 16px;
  border-top: 1px solid #a3001c;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.c-navigation__more-list-item > a:hover, .c-navigation__more-list-item > a:focus {
  background-color: #a3001c;
  border: none;
  border-bottom: 2px solid #ffffff;
}

.c-navigation__more-list-item > a > div {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}

.c-navigation--white .c-navigation__more-list-item > a {
  border-top: 1px solid #ededed;
}

.c-navigation__more-list-item > a .navigation-title {
  margin-top: 0;
}

.c-navigation__more-list-item > a .navigation-icon {
  margin-right: 16px;
}

@media (max-width: 639px) {
  .c-navigation__list {
    height: 72px;
  }
  .c-navigation__list li:last-child {
    height: 100%;
  }
  .c-navigation__list-item {
    -webkit-box-flex: 1;
            flex: 1 1 auto;
  }
  .c-navigation__list-item > a {
    padding: 16px 12%;
  }
  .c-navigation__toggle {
    padding: 0 !important;
    position: relative;
  }
  .c-navigation__toggle .navigation-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .c-navigation__toggle .navigation-title {
    display: none;
  }
  .c-navigation__list-item:last-child {
    -webkit-box-flex: 0;
            flex: 0 1 56px;
  }
  .c-navigation__more-list-item:last-child {
    -webkit-box-shadow: 0px 19px 34px rgba(0, 0, 0, 0.7);
            box-shadow: 0px 19px 34px rgba(0, 0, 0, 0.7);
  }
  .navigation-icon--open {
    height: 40px;
    width: 40px;
    max-width: 100%;
  }
  .c-navigation__list > li > a .navigation-title {
    max-width: 76px;
  }
  .navigation-icon:not(.navigation-icon--open) {
    display: none;
  }
  .c-navigation__parent--open .navigation-icon--close {
    display: block;
  }
  .c-navigation__parent--open .navigation-icon--open {
    display: none;
  }
  .c-navigation__more-list {
    width: 100%;
  }
  .c-header__open {
    position: relative;
    z-index: 9999;
  }
  .c-navigation__more-backdrop {
    visibility: hidden;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }
  .c-navigation__more-backdrop.c-navigation__more-backdrop--open {
    z-index: 9998;
    opacity: 1;
    visibility: visible;
  }
}

@media (max-width: 767px) {
  .c-navigation__list-item:not(:last-child) {
    -webkit-box-shadow: inset -1px 0 0 0 #740000;
            box-shadow: inset -1px 0 0 0 #740000;
  }
  .c-navigation--white .c-navigation__list-item:not(:last-child) {
    -webkit-box-shadow: inset -1px 0 0 0 #ededed;
            box-shadow: inset -1px 0 0 0 #ededed;
  }
  .navigation-icon--close {
    display: none;
  }
}

@media (max-width: 459px) {
  .c-navigation__list-item:last-child {
    -webkit-box-flex: 1;
            flex: 1 0 40px;
  }
  .c-navigation__list > li > a .navigation-title {
    max-width: 100%;
  }
  .c-navigation__list-item > a {
    padding: 16px 6px;
  }
}

@media (min-width: 640px) {
  .c-navigation__parent--open {
    position: relative;
  }
  .c-navigation__parent--open::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: 9px;
    left: 50%;
    z-index: 12;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #740000;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
  }
  .c-navigation--white .c-navigation__parent--open::before {
    border-bottom: 10px solid #ffffff;
  }
  .c-navigation__more-list-first--hover::before {
    border-bottom: 10px solid #a3001c;
  }
  .c-navigation--white .c-navigation__more-list-first--hover::before {
    border-bottom: 10px solid #ededed;
  }
  .c-navigation__more-list {
    top: calc(100% - 10px);
    right: 24px;
    -webkit-filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
  }
  .c-navigation__list-item {
    -webkit-box-flex: 1;
            flex: 1;
    text-align: center;
  }
  .navigation-icon {
    width: 38px;
    height: 38px;
    margin: 0 auto 2px;
  }
  .navigation-icon img {
    width: 100%;
    height: 100%;
  }
}

@media (min-width: 768px) {
  .c-navigation {
    height: 12rem;
    min-height: 120px;
  }
  .c-navigation .navigation-icon {
    margin: 0 auto;
    width: 56px;
    height: 56px;
  }
  /*Defect 110839 Start Abdul 28Mar22*/
}

@media (min-width: 768px) and (max-width: 795px) {
  .c-navigation {
    height: 14rem;
    min-height: 120px;
  }
}

@media (min-width: 768px) {
  /*Defect 110839 end Abdul 28Mar22*/
  .navigation-icon--close {
    display: none;
  }
  .c-navigation__list-item {
    position: relative;
  }
  .c-navigation__list-item > a {
    display: block;
    padding: 16px 0 calc(16px - 2px);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fdHlwZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudC1uYXZpZ2F0aW9uLnNjc3MiLCJhYnN0cmFjdHMvdmFycy9fY29sb3JzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvQGNvbW1vbi11aS90eXBvZ3JhcGh5L19taXhpbnMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9pb3RhY3NzL21vZHVsZXMvaW90YWNzcy10b29scy1jb3JlL3V0aWxpdGllcy9fZXh0cmFjdC10eXBlLXNpemVzLnNjc3MiLCJhYnN0cmFjdHMvZnVuY3Rpb25zL19weC10by1yZW0uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9pb3RhY3NzL21vZHVsZXMvaW90YWNzcy10b29scy1jb3JlL2xpYnJhcmllcy9fZ2VuZXJhdGUtdHlwZS1zaXplcy5zY3NzIiwiY29tcG9uZW50LW5hdmlnYXRpb24uY3NzIiwiYWJzdHJhY3RzL3ZhcnMvX3RyYW5zaXRpb25zLnNjc3MiLCJhYnN0cmFjdHMvZnVuY3Rpb25zL19zcGFjZS5zY3NzIiwiYWJzdHJhY3RzL21peGlucy9fc2Fzcy1tcS1tb2Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FDOFBEO0VBQ0UsaUJBQWE7Q0FDZDs7QUFGRDtFQUNFLGlCQUFhO0NBQ2Q7O0FBRkQ7RUFDRSxpQkFBYTtDQUNkOztBQUZEO0VBQ0UsaUJBQWE7Q0FDZDs7QUN4UEgsaUJBQWlCO0FDVmpCO0VBQ0UsZ0JBQWU7Q0FDaEI7O0FBRUQ7RUFDRSwwQkNGbUI7Q0RtRHBCOztBQWxERDtFQUlJLGNBQWE7Q0FDZDs7QUFMSDtFQVFJLGVDWFk7RURZWixzQkFBcUI7Q0FDdEI7O0FBVkg7RUVGRSx5Q0pKdUQ7RUlLdkQsbUNBQWtDO0VBQ2xDLG9DQUFtQztFQ0hqQyxrQkNVcUQ7RURUckQsa0JMMks0QjtFSXpKMUIsbUJKUGM7RUlP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RSxjQUFhO0lBQ2Isa0JBQWlCO0dBQ2xCO0NNa0JKOztBRzlJTztFVDhITixtQ0FBbUM7RUFFbkM7SUFDRSxjQUFhO0dBQ2Q7RUFFRDtJQUNFLG1CQUFrQjtHQU1uQjtFQVBEO0lBSUksZUFBYztJQUNkLGlDQUEyQztHQUM1QztDTWtCSiIsImZpbGUiOiJjb21wb25lbnQtbmF2aWdhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogVXNhZ2U6XHJcbiAqXHJcbiAqICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gKi9cclxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XHJcbiRmdW5jdGlvbmFsLWNvbG9yczogKCkgIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7XHJcbiAgQGlmIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcclxuICB9IEBlbHNlIGlmIG1hcC1nZXQoJGZ1bmN0aW9uYWwtY29sb3JzLCAkY29sb3IpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkZnVuY3Rpb25hbC1jb2xvcnMsICRjb2xvcik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAvKiBTdHlsZWZtdCBjaGFuZ2VzIHRoZSBxdW90ZXMgZXZlcnkgdGltZSwgc28gdHVybmluZyBvZmYgdGhlIGVycm9yIGhlcmUgKi9cclxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzdHJpbmctcXVvdGVzICovXHJcbiAgICBAZXJyb3IgXCJDb2xvciBcXFwiI3skY29sb3J9XFxcImNvdWxkIG5vdCBiZSBmb3VuZFwiO1xyXG4gIH1cclxufVxyXG4iLCIkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0OiBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5nczogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzOiAoXHJcbiAgLy8gdGhpbjogMTAwLFxyXG4gIGxpZ2h0OiAzMDAsXHJcbiAgcmVndWxhcjogNDAwLFxyXG4gIG1lZGl1bTogNTAwLFxyXG4gIGJvbGQ6IDcwMCxcclxuICAvLyBibGFjazogOTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdWktdHlwb2dyYXBoeS1kZWZhdWx0OiAoXHJcbiAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWRlZmF1bHQsXHJcbiAgZm9udC1zdHlsZTogbm9ybWFsLFxyXG4gIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbWVkaXVtKSxcclxuICBtYXJnaW46IDAsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJHVpLXR5cG9ncmFwaHktc3R5bGVzOiAoXHJcbiAgLy9ob21lcGFnZSBoZWFkZXJcclxuICBkNi1saC1sZzogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMzJweCksIDQwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNjFweCksIDc2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMzJweCksIDQwcHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNTBweCksIDU2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjlweCksIDM2cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNDFweCksIDQ0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNS1saWdodDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjlweCksIDM2cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oNDFweCksIDQ0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyxsaWdodCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkNDogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjZweCksIDMycHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMzRweCksIDQwcHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMzogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjNweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjhweCksIDM2cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMjogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMjFweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjRweCksIDMwcHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBkMTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI0cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDI0cHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBoMnN6OiAoXHJcbiAgICBzaXplczogMi45cmVtLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBib2xkKSxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGgzc3o6IChcclxuICAgIHNpemVzOiAyLjJyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcblxyXG4gIGg0c3o6IChcclxuICAgIHNpemVzOiAxLjdyZW0sXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICAgbWFyZ2luOiAwIDAgc3BhY2UoKSAwLFxyXG4gICksXHJcbiAgaDVzejogKFxyXG4gICAgc2l6ZXM6IDIuNHJlbSxcclxuICAgIGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1oZWFkaW5ncyxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgYm9sZCksXHJcbiAgICBtYXJnaW46IDAgMCBzcGFjZSgpIDAsXHJcbiAgKSxcclxuICBsZWFkOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgyMnB4KSwgMzJweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyNHB4KSwgMzZweCksXHJcbiAgICApLFxyXG4gICAgZm9udC1mYW1pbHk6ICR1aS10eXBvZ3JhcGh5LXN0YWNrLWhlYWRpbmdzLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYyxcclxuICAgIG1hcmdpbjogMCAwIHNwYWNlKCkgMCxcclxuICApLFxyXG4gIGQtc21hbGw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJHVpLXR5cG9ncmFwaHktc3RhY2staGVhZGluZ3MsXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIGJvbGQpLFxyXG4gICksXHJcbiAgZC14c21hbGw6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAxNnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgYm9keTogKFxyXG4gICAgc2l6ZXM6IChcclxuICAgICAgbnVsbDogKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICAgICBtZDogKGdldC1yZW0oMjBweCksIDMycHgpLFxyXG4gICAgKSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgYm9keTI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBsaW5rOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGRhdGU6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgaGVhZGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNnB4KSwgMjBweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc3ViaGVhZGVyOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgyMHB4KSwgMzJweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgc2l0ZS1zZWFyY2g6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDIwcHgpLCAzMnB4KSxcclxuICAgICAgc206IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgaW5wdXQ6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgYnJlYWRjcnVtYjogKFxyXG4gICAgc2l6ZXM6ICAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgZmVhdHVyZWQ6IChcclxuICAgIHNpemVzOiAgKGdldC1yZW0oMThweCksIDI4cHgpLFxyXG4gICksXHJcbiAgY29weXJpZ2h0OiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxNHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxM3B4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCByZWd1bGFyKSxcclxuICApLFxyXG4gIGNhcHRpb246IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgKSxcclxuICBmb3JtLWxhYmVsOiAoXHJcbiAgICBzaXplczogKFxyXG4gICAgICBudWxsOiAoZ2V0LXJlbSgxOHB4KSwgMjhweCksXHJcbiAgICAgIG1kOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICApLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBtZWRpdW0pLFxyXG4gICksXHJcbiAgZm9ybS1oZWxwZXI6IChcclxuICAgIHNpemVzOiAoXHJcbiAgICAgIG51bGw6IChnZXQtcmVtKDE4cHgpLCAyOHB4KSxcclxuICAgICAgbWQ6IChnZXQtcmVtKDE2cHgpLCAyNHB4KSxcclxuICAgICksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIHJlZ3VsYXIpLFxyXG4gICksXHJcbiAgcGRmOiAoXHJcbiAgICBzaXplczogKGdldC1yZW0oMTZweCksIDI0cHgpLFxyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktZm9udC13ZWlnaHRzLCBsaWdodCksXHJcbiAgKSxcclxuICBtYXAtcmVzdWx0czogKFxyXG4gICAgc2l6ZXM6IChnZXQtcmVtKDE2cHgpLCAyMHB4KSxcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cywgbGlnaHQpLFxyXG4gICksXHJcbiAgYmV0YS1ub3RpY2U6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuICBzaXRlLXdpZGUtYWxlcnQ6IChcclxuICAgIHNpemVzOiAoZ2V0LXJlbSgxNnB4KSwgMjRweCksXHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMsIG1lZGl1bSksXHJcbiAgKSxcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5AZWFjaCAkbmFtZSwgJHN0eWxlIGluICR1aS10eXBvZ3JhcGh5LXN0eWxlcyB7XHJcbiAgJHVpLXR5cG9ncmFwaHktc3R5bGVzOiBtYXAtbWVyZ2UoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAoXHJcbiAgICAjeyRuYW1lfTogbWFwLW1lcmdlKCR1aS10eXBvZ3JhcGh5LWRlZmF1bHQsICRzdHlsZSlcclxuICApKTtcclxufVxyXG5cclxuQGVhY2ggJG5hbWUsICRzdHlsZSBpbiAkdWktdHlwb2dyYXBoeS1mb250LXdlaWdodHMge1xyXG4gIC51LXR5cGUtLSN7JG5hbWV9IHtcclxuICAgIGZvbnQtd2VpZ2h0OiAjeyRzdHlsZX07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiLy8gQGltcG9ydCAnfnNhc3MtbXEvbXEnO1xyXG5AaW1wb3J0ICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBpbXBvcnQgJ35AY29tbW9uLXVpL3R5cG9ncmFwaHkvbWl4aW5zJztcclxuQGltcG9ydCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AaW1wb3J0ICdtaXhpbnMvYnV0dG9uJztcclxuQGltcG9ydCAnbWl4aW5zL2xpbmsnO1xyXG5AaW1wb3J0ICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBpbXBvcnQgJ21peGlucy90cmFuc2l0aW9ucyc7XHJcbkBpbXBvcnQgJ21peGlucy9zaGFkb3dzJztcclxuQGltcG9ydCAnbWl4aW5zL3RhZyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcbkBtaXhpbiB3cmFwcGVyKCkge1xyXG4gICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5AbWl4aW4gb3BlbnNhbnMtZm9udC1zdGFjaygpIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EsIFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcclxufVxyXG5AbWl4aW4gbG9hZGluZy1naWYoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek1pQXpNaUlnZDJsa2RHZzlJak15SWlCb1pXbG5hSFE5SWpNeUlpQm1hV3hzUFNKaWJHRmpheUkrRFFvZ0lEeHdZWFJvSUNCdmNHRmphWFI1UFNJdU1qVWlJR1E5SWsweE5pQXdJRUV4TmlBeE5pQXdJREFnTUNBeE5pQXpNaUJCTVRZZ01UWWdNQ0F3SURBZ01UWWdNQ0JOTVRZZ05DQkJNVElnTVRJZ01DQXdJREVnTVRZZ01qZ2dRVEV5SURFeUlEQWdNQ0F4SURFMklEUWlMejROQ2lBZ1BIQmhkR2dnWm1sc2JEMG5JekZoT0RCaU5pY2daRDBpVFRFMklEQWdRVEUySURFMklEQWdNQ0F4SURNeUlERTJJRXd5T0NBeE5pQkJNVElnTVRJZ01DQXdJREFnTVRZZ05Ib2lQZzBLSUNBZ0lEeGhibWx0WVhSbFZISmhibk5tYjNKdElHRjBkSEpwWW5WMFpVNWhiV1U5SW5SeVlXNXpabTl5YlNJZ2RIbHdaVDBpY205MFlYUmxJaUJtY205dFBTSXdJREUySURFMklpQjBiejBpTXpZd0lERTJJREUySWlCa2RYSTlJakF1T0hNaUlISmxjR1ZoZEVOdmRXNTBQU0pwYm1SbFptbHVhWFJsSWlBdlBnMEtJQ0E4TDNCaGRHZytEUW84TDNOMlp6NE5DZz09KTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBib3JkZXItYmFzaWMoJHBvc2l0aW9uOmFsbCwgJGJvcmRlci1jb2xvcjokYm9yZGVyLWdyYXksICRib3JkZXItd2lkdGg6MXB4KSB7XHJcbiAgICBAaWYoJHBvc2l0aW9uPT10b3ApIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PWJvdHRvbSkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09bGVmdCkge1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZigkcG9zaXRpb249PXJpZ2h0KSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OjI0MHB4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcG9zO1xyXG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcclxuICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XHJcbiAgICAvLyBEaXJlY3Rpb24gaGFzIGJlZW4gb21pdHRlZCBhbmQgaGFwcGVucyB0byBiZSBhIGNvbG9yLXN0b3BcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcclxuICAgICAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcclxuICAgICAgICAkZGlyZWN0aW9uOiAxODBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xyXG59XHJcbiIsIkBpbXBvcnQgXCJhYnN0cmFjdHNcIjtcclxuXHJcbi5jLW5hdmlnYXRpb25fX3RvZ2dsZSB7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuXHJcbiAgbGk6bm90KC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSk6bm90KC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJiwgYSB7XHJcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgdWktdHlwb2dyYXBoeShoZWFkZXIpO1xyXG4gIH1cclxuXHJcbiAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xyXG4gICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgfSAgXHJcblxyXG4gICYuYy1uYXZpZ2F0aW9uLS13aGl0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcblxyXG4gICAgJiwgYSB7XHJcbiAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgZmlsbDogYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyZXktbWVudSk7XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICAgICYuYWN0aXZlID4gYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JleS1tZW51KTtcclxuICAgICAgfVxyXG4gICAgICA+IGEge1xyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JleS1tZW51KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbl9fbGlzdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICYuaU9TOSB7XHJcbiAgICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1heC13aWR0aDogMzMlO1xyXG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcbiAgICAgIC1tb3otaHlwaGVuczogYXV0bztcclxuICAgICAgLW1zLWh5cGhlbnM6IGF1dG87XHJcbiAgICAgIGh5cGhlbnM6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgLy8gQWN0aXZlIG1lbnUgbGluayB3aWxsIGJlIHRoZSBzYW1lIGFzIHRoZSBub3JtYWwgbWVudSBsaW5rcy5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xyXG4gIH1cclxuXHJcbiAgPiBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgcGFkZGluZzogc3BhY2UoMS43NSkgc3BhY2UoKSBzcGFjZSgxLjc1KTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnktZGFyayk7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkIGNvbG9yKHdoaXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICA+IGEge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcclxuICB6LWluZGV4OiAxMTtcclxuICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSB1aS10eXBvZ3JhcGh5KHN1YmhlYWRlcik7XHJcbiAgfVxyXG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xyXG4gIH1cclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LS1vcGVuIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LWRhcmspO1xyXG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JleS1tZW51KTtcclxuICB9XHJcbn1cclxuXHJcbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XHJcbiAgd2lkdGg6IDI4MHB4O1xyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgPiBhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiBzcGFjZSgyKTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvcihwcmltYXJ5LWRhcmtlcik7XHJcbiAgICB0cmFuc2l0aW9uOiAkZ2xvYmFsLXRyYW5zaXRpb247XHJcbiAgICBcclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5LWRhcmtlcik7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGNvbG9yKHdoaXRlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgPiBkaXYge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IoZ3JleS1tZW51KTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmlnYXRpb24taWNvbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogc3BhY2UoMik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcSgkdW50aWw6IHNtKSB7XHJcbiAgLy9pcGhvbmU1Zml4XHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCB7XHJcbiAgICBoZWlnaHQ6IDcycHg7XHJcbiAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICA+IGEge1xyXG4gICAgICBwYWRkaW5nOiBzcGFjZSgyKSAxMiU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYy1uYXZpZ2F0aW9uX190b2dnbGUge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLm5hdmlnYXRpb24taWNvbiB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB9XHJcbiAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgIGZsZXg6IDAgMSA1NnB4O1xyXG4gIH1cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMTlweCAzNHB4IGNvbG9yKGJhY2tkcm9wKTtcclxuICB9XHJcbiAgXHJcbiAgLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcbiAgXHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCA+bGkgPmEge1xyXG4gICAgLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgICBtYXgtd2lkdGg6IDc2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5uYXZpZ2F0aW9uLWljb246bm90KC5uYXZpZ2F0aW9uLWljb24tLW9wZW4pIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XHJcbiAgICAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5jLWhlYWRlcl9fb3BlbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gIH1cclxuICBcclxuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWJhY2tkcm9wIHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihiYWNrZHJvcCk7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBcclxuICAgICYuYy1uYXZpZ2F0aW9uX19tb3JlLWJhY2tkcm9wLS1vcGVuIHtcclxuICAgICAgei1pbmRleDogOTk5ODtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICB9ICBcclxufVxyXG5cclxuQGluY2x1ZGUgbXEoJHVudGlsOiBtZCkge1xyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwIDAgY29sb3IocHJpbWFyeS1kYXJrKTtcclxuICAgIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAwIGNvbG9yKGdyZXktbWVudSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYXZpZ2F0aW9uLWljb24tLWNsb3NlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcSgkdW50aWw6IHhzKSB7XHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xyXG4gICAgZmxleDogMSAwIDQwcHg7XHJcbiAgfVxyXG4gIC5jLW5hdmlnYXRpb25fX2xpc3QgPmxpID5hIHtcclxuICAgIC5uYXZpZ2F0aW9uLXRpdGxlIHtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gICAgPiBhIHtcclxuICAgICAgcGFkZGluZzogc3BhY2UoMikgNnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbXEoc20pIHtcclxuICAuYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMDsgXHJcbiAgICAgIGhlaWdodDogMDsgXHJcbiAgICAgIGJvdHRvbTogOXB4O1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHotaW5kZXg6IDEyO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgY29sb3IocHJpbWFyeS1kYXJrKTtcclxuICAgICAgdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgICAuYy1uYXZpZ2F0aW9uLS13aGl0ZSAmIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIGNvbG9yKHdoaXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtZmlyc3QtLWhvdmVyIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgY29sb3IocHJpbWFyeS1kYXJrZXIpO1xyXG4gICAgICAuYy1uYXZpZ2F0aW9uLS13aGl0ZSAmIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIGNvbG9yKGdyZXktbWVudSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0IHtcclxuICAgIHRvcDogY2FsYygxMDAlIC0gMTBweCk7XHJcbiAgICByaWdodDogc3BhY2UoMyk7XHJcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggMTBweCByZ2JhKDAsMCwwLDAuNSkpO1xyXG4gIH1cclxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gICAgZmxleDogMTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLm5hdmlnYXRpb24taWNvbiB7XHJcbiAgICB3aWR0aDogMzhweDtcclxuICAgIGhlaWdodDogMzhweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDJweDtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcShtZCkge1xyXG4gIC5jLW5hdmlnYXRpb24ge1xyXG4gICAgaGVpZ2h0OiAxMnJlbTtcclxuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG5cclxuICAgIC5uYXZpZ2F0aW9uLWljb24ge1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgd2lkdGg6IDU2cHg7XHJcbiAgICAgIGhlaWdodDogNTZweDtcclxuICAgIH1cclxuICB9XHJcbiAgLypEZWZlY3QgMTEwODM5IFN0YXJ0IEFiZHVsIDI4TWFyMjIqL1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3OTVweCkge1xyXG4gICAgLmMtbmF2aWdhdGlvbiB7XHJcbiAgICAgIGhlaWdodDogMTRyZW07XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAvKkRlZmVjdCAxMTA4MzkgZW5kIEFiZHVsIDI4TWFyMjIqL1xyXG5cclxuICAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICA+IGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcGFkZGluZzogc3BhY2UoMikgMCBjYWxjKCN7c3BhY2UoMil9IC0gMnB4KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gVXNlIGNvbG9yIGZ1bmN0aW9ucyBmb3IgVFRDXHJcbi8vIE5hbWVzIHRha2VuIGZyb20gaHRtbGNzc2NvbG9yLmNvbSBpZiBub3QgZGVzY3JpcHRpdmUgZW5vdWdoIGZyb20gemVwbGluXHJcbiRjb2xvcnM6IChcclxuICB3aGl0ZTogI2ZmZmZmZixcclxuICB3aGl0ZS1zbW9rZTogI2YzZjNmMyxcclxuICBjaGVycnktcmVkOiAjZGEyNTFkLFxyXG4gIHNjYXJsZXQ6Izc0MDAwMCxcclxuICBjYXJtaW5lOiAjYTMwMDFjLFxyXG4gIGNlcnVsZWFuOiMwMDcwY2QsXHJcbiAgb2NlYW4tYmx1ZTogIzA2NTZhNSxcclxuICBjZXJ1bGVhbi10d286ICMwMDlhZGUsXHJcbiAgZ29sZGVuLXllbGxvdzogI2ZmYzYyNyxcclxuICB3YXJtLWdyZXk6ICM3Njc2NzYsXHJcbiAgZ3JleTI5OiAjNGE0YTRhLFxyXG4gIGdyZXk3MDogI2IzYjNiMyxcclxuICBkdXN0eS1ncmV5OiAjZWRlZGVkLFxyXG4gIHdhcm0tZ3JleS0yOiAjOTc5Nzk3LFxyXG4gIGRpbS1ncmV5OiAjNjk2OTY5LFxyXG4gIHdoaXRlLXR3bzogI2Q1ZDVkNSxcclxuICB3aGl0ZS10aHJlZTogI2QyZDJkMixcclxuICBnYWluc2Jvcm86ICNkOGQ4ZDgsXHJcbiAgbmVybzogIzFlMWUxZSxcclxuICBnb2xkZW4tcG9wcHk6ICNmOGMzMDAsXHJcbiAgZXhwcmVzcy1ncmVlbjogIzAwOTIzZixcclxuICBuaWdodC1ibHVlOiAjMDI0MTgyLFxyXG4gIGNvbW11bml0eS1ncmV5OiAjODA4MDgwLFxyXG4gIG1hdXZlLXRhdXBlOiAjOTc1ODZCLFxyXG4gIGJsYWNrOiAjMDAwMDAwLFxyXG4pO1xyXG5cclxuJGZ1bmN0aW9uYWwtY29sb3JzOiAoXHJcbiAgcHJpbWFyeS1jb250cmFzdDogY29sb3Iod2hpdGUpLFxyXG4gIHByaW1hcnktY29udHJhc3QtZGFyazogY29sb3Iod2hpdGUtc21va2UpLFxyXG4gIHByaW1hcnk6IGNvbG9yKGNoZXJyeS1yZWQpLFxyXG4gIHByaW1hcnktZGFyazogY29sb3Ioc2NhcmxldCksXHJcbiAgcHJpbWFyeS1kYXJrZXI6IGNvbG9yKGNhcm1pbmUpLFxyXG4gIHNlY29uZGFyeTogY29sb3IoY2VydWxlYW4pLFxyXG4gIHNlY29uZGFyeS1kYXJrOiBjb2xvcihvY2Vhbi1ibHVlKSxcclxuICBzZWNvbmRhcnktbGlnaHQ6IGNvbG9yKGNlcnVsZWFuLXR3byksXHJcbiAgYWNjZW50LXllbGxvdzogY29sb3IoZ29sZGVuLXllbGxvdyksXHJcbiAgZ3JleTogY29sb3IoZ3JleTI5KSxcclxuICBncmV5LW1lbnU6IGNvbG9yKGR1c3R5LWdyZXkpLFxyXG4gIGdyZXktYm9yZGVyOiBjb2xvcih3YXJtLWdyZXkpLFxyXG4gIGdyZXktYm9yZGVyLTI6IGNvbG9yKHdoaXRlLXRocmVlKSxcclxuICBncmV5LXBsYWNlaG9sZGVyOiBjb2xvcihncmV5NzApLFxyXG4gIGdyZXktMjogY29sb3Iod2FybS1ncmV5LTIpLFxyXG4gIGNhcm91c2VsLWRvdHM6IGNvbG9yKGRpbS1ncmV5KSxcclxuICBncmV5LWxpZ2h0OiBjb2xvcihnYWluc2Jvcm8pLFxyXG4gIHRhYi0tZGlzYWJsZWQ6IGNvbG9yKHdoaXRlLXR3byksXHJcbiAgYmFja2Ryb3A6IHJnYmEoMCwwLDAsMC43KSxcclxuICBibGFjazogY29sb3IoYmxhY2spLFxyXG4gIHNpdGUtd2lkZS1hbGVydDogY29sb3IoZ29sZGVuLXBvcHB5KSxcclxuICB2aXNpdGVkLS1saW5rOiBjb2xvcihtYXV2ZS10YXVwZSksXHJcbik7XHJcblxyXG4vL0JhY2tncm91bmRzIGNvbG9yc1xyXG4kYmctdHJhbnNwYXJlbnQ6dHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRiZy1iYXNpYy1jb2xvcjojRkZGRkZGICFkZWZhdWx0O1xyXG4kYmctYmFzaWMtY29sb3ItYWN0aXZlOiAjY2NjY2NjICFkZWZhdWx0O1xyXG4kYmctbGlnaHQtZ3JheTogI2Y3ZjdmNyAhZGVmYXVsdDtcclxuJGJnLWxpZ2h0LWdyYXktYWN0aXZlOiAjZGFkYWRhICFkZWZhdWx0O1xyXG4kYmctYmx1ZTojODlDNkNDO1xyXG4kYmctYmx1ZS1hY3RpdmU6ICMxNTkwOWMgIWRlZmF1bHQ7XHJcbiRiZy1zdWJtZW51OiNlZGViZWIgIWRlZmF1bHQ7XHJcbiRiZy1zdWJtZW51LWFjdGl2ZTojZjZmNmY2ICFkZWZhdWx0O1xyXG4kYmctYmxhY2s6IzAwMDAwMDtcclxuJGJnLWJsYWNrLWFjdGl2ZTojM2QzZDNkO1xyXG4vL1RleHQgY29sb3JzXHJcbiR0ZXh0LXdoaXRlOiNmZmYgIWRlZmF1bHQ7XHJcbiR0ZXh0LWhlYWRpbmctY29sb3I6ICMyMjIgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJhc2ljOiM3NDc0NzQgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJhc2ljLWFjdGl2ZTojODc4Nzg3ICFkZWZhdWx0O1xyXG4kdGV4dC1ibHVlOiM4OUM2Q0MgIWRlZmF1bHQ7XHJcbiR0ZXh0LWJsdWUtYWN0aXZlOiMxNTkwOWMgIWRlZmF1bHQ7XHJcbiR0ZXh0LXN1Ym1lbnUtYWN0aXZlOiAjMjIyICFkZWZhdWx0O1xyXG4kdGV4dC1kaXNhYmxlZDogI2FhYSAhZGVmYXVsdDtcclxuJHRleHQtYmxhY2s6ICMwMDAwMDAgIWRlZmF1bHQ7XHJcbi8vQm9yZGVyIGNvbG9yc1xyXG4kYm9yZGVyLWdyYXk6ICNkMmQyZDIgIWRlZmF1bHQ7XHJcbiRib3JkZXItd2hpdGU6ICNmZmZmZmYgIWRlZmF1bHQ7XHJcbiRib3JkZXItYmFzaWMtY29sb3I6ICM4OUM2Q0MgIWRlZmF1bHQ7XHJcbiRib3JkZXItYmFzaWMtYWN0aXZlOiMxNTkwOWMgIWRlZmF1bHQ7XHJcblxyXG4vL1N0eWxlcyBmb3IgZWFjaCBjb21wb25lbnQgc2VwYXJhdGVseVxyXG4vL0FjY29yZGlvblxyXG4kYWNjb3JkaW9uLWhlYWRlci1iZzogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24taGVhZGVyLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24tdG9nZ2xlZC1iZzogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24taGVhZGVyLWJvcmRlcjogJGJvcmRlci1ncmF5O1xyXG4vL0JyZWFkY3J1bWJcclxuJGJyZWFkY3J1bWItZHJvcGRvd24tYmc6JGJnLWJhc2ljLWNvbG9yO1xyXG4kYnJlYWRjcnVtYi1kcm9wZG93bi1iZy1hY3RpdmU6JGJnLWJsdWU7XHJcbiRicmVhZGNydW1iLWRyb3Bkb3duLXRleHQtYWN0aXZlOiR0ZXh0LXdoaXRlO1xyXG4kYnJlYWRjcnVtYi1iZzp0cmFuc3BhcmVudDtcclxuJGJyZWFkY3J1bWItY29sb3I6JHRleHQtYmFzaWM7XHJcbiRicmVhZGNydW1iLWNvbG9yLWFjdGl2ZTokdGV4dC1ibHVlLWFjdGl2ZTtcclxuLy9CdXR0b25zIGNvbG9yc1xyXG4kYnRuLWdyZWVuLWxpZ2h0OiAjYTBjZTRlO1xyXG4kYnRuLWdyZWVuOiAjOTJiZTQzO1xyXG4kYnRuLXJlZC1hY3RpdmU6ICNjMzRlMzA7XHJcbiRidG4tcmVkOiAjYmM0NTI2O1xyXG4vL0Nhcm91c2VsXHJcbiRjYXJvdXNlbC1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRjYXJvdXNlbC1uYXYtYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGNhcm91c2VsLW5hdi1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9Db250YWluZXIgY29tcG9uZW50XHJcbiRjb250YWluZXItdGl0bGUtcm93LWJnOiAkYmctbGlnaHQtZ3JheTtcclxuLy9FdmVudCBMaXN0XHJcbiRldmVudC1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kZXZlbnQtbGlzdC1pdGVtLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGV2ZW50LWxpc3QtaXRlbS1jb2xvcjokdGV4dC1iYXNpYztcclxuJGV2ZW50LWxpc3QtdGl0bGUtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vQ2FsZW5kYXJcclxuJGNhbGVuZGFyLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGNhbGVuZGFyLWhlYWRlci1iZzokYmctYmFzaWMtY29sb3ItYWN0aXZlO1xyXG4kY2FsZW5kYXItZGF5LWNvbG9yLWFjdGl2ZTokdGV4dC13aGl0ZTtcclxuLy9GZWVkXHJcbiRmZWVkLWJnOnRyYW5zcGFyZW50O1xyXG4kZmVlZC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4vL0ZpZWxkIEVkaXRvclxyXG4kZmllbGQtZWRpdG9yLWJnOnRyYW5zcGFyZW50O1xyXG4kZmllbGQtZWRpdG9yLXRhYmxlLWJvcmRlcjokYmctbGlnaHQtZ3JheTtcclxuJGZpZWxkLWVkaXRvci10ZXh0LWhlYWRlcjokdGV4dC1ibGFjaztcclxuJGZpZWxkLWVkaXRvci10ZXh0OiR0ZXh0LWJhc2ljO1xyXG4vL0ZpbGUgTGlzdFxyXG4kZmlsZS1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kZmlsZS1saXN0LWl0ZW0tYmc6dHJhbnNwYXJlbnQ7XHJcbiRmaWxlLWxpc3QtdGl0bGUtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRmaWxlLWxpc3QtdGl0bGUtYm9yZGVyOnRyYW5zcGFyZW50O1xyXG4kZmlsZS1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRmaWxlLWxpc3QtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kZmlsZS1saXN0LWl0ZW0tc2l6ZTokdGV4dC1iYXNpYztcclxuJGZpbGUtbGlzdC1pdGVtLWJvcmVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vRmxpcFxyXG4kZmxpcC1iZzp0cmFuc3BhcmVudDtcclxuJGZsaXAtc2xpZGVzLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuLy9HYWxsZXJ5XHJcbiRnYWxsZXJpYS1jb250YWluZXItYmc6JGJnLWJsYWNrO1xyXG4kZ2FsbGVyeS1pbmZvLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJGdhbGxlcnktaW5mby1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kZ2FsbGVyeS1pbmZvLXRleHQ6JHRleHQtYmFzaWM7XHJcbiRnYWxsZXJ5LW5hdi1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbiRnYWxsZXJ5LW5hdjokdGV4dC1iYXNpYztcclxuJGdhbGxlcnktY291bnRlci1jb2xvcjokdGV4dC13aGl0ZTtcclxuLy9MYW5ndWFnZSBzZWxlY3RvclxyXG4kbGFuZy1zZWxlY3Rvci1iZzokYmctYmFzaWMtY29sb3I7XHJcbiRsYW5nLXNlbGVjdG9yLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbGFuZy1zZWxlY3Rvci1pdGVtLWJnLWFjdGl2ZTokYmctYmFzaWMtY29sb3I7XHJcbiRsYW5nLXNlbGVjdG9yLWl0ZW0tYm9yZGVyOiRib3JkZXItd2hpdGU7XHJcbiRsYW5nLXNlbGVjdG9yLWl0ZW0tYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWFjdGl2ZTtcclxuLy9TaXRlIHNlbGVjdG9yXHJcbiRzaXRlLXNlbGVjdG9yLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4vL0xpbmsgTGlzdFxyXG4kbGluay1saXN0LWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay1saXN0LWhlYWRlci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJGxpbmstbGlzdC1pdGVtcy1iZzp0cmFuc3BhcmVudDtcclxuJGxpbmstbGlzdC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4kbGluay1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRsaW5rLWxpc3QtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWMtYWN0aXZlO1xyXG4kbGluay1saXN0LWl0ZW0tYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL0xvZ2luXHJcbiRsb2dpbi1iZzp0cmFuc3BhcmVudDtcclxuLy9Mb2dvdXRcclxuJGxvZ291dC1iZzp0cmFuc3BhcmVudDtcclxuJGxvZ291dC1saW5rLXRleHQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRsb2dvdXQtbGluay10ZXh0LWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbiRsb2dvdXQtbGluay1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9NYXBcclxuJG1hcC1iZzp0cmFuc3BhcmVudDtcclxuJG1hcC1ib3JkZXI6bm9uZTtcclxuLy9QYWdlIExpc3RcclxuJHBhZ2UtbGlzdC1iZzokYmctdHJhbnNwYXJlbnQ7XHJcbiRwYWdlLWxpc3QtaXRlbS1iZzokYmctdHJhbnNwYXJlbnQ7XHJcbiRwYWdlLWxpc3QtaXRlbS10aXRsZS10ZXh0OiR0ZXh0LWJsYWNrO1xyXG4kcGFnZS1saXN0LWl0ZW0tYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vUGFnaW5hdGlvblxyXG4kbGlzdC1wYWdpbmF0aW9uLWJnOnRyYW5zcGFyZW50O1xyXG4kbGlzdC1wYWdpbmF0aW9uLWFjdGl2ZS1iZzokYmctYmx1ZTtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6JHRleHQtd2hpdGU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiR0ZXh0LWJsdWU7XHJcbiRsaXN0LXBhZ2luYXRpb24tYWN0aXZlLWJnOiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJGxpc3QtcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4vL1BsYXkgbGlzdCBcclxuJHBsYXktbGlzdC1iZzp0cmFuc3BhcmVudDtcclxuJHBsYXktbGlzdC1pdGVtLWJnOnRyYW5zcGFyZW50O1xyXG4kcGxheS1saXN0LWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRwbGF5LWxpc3QtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtd2hpdGU7XHJcbiRwbGF5LWxpc3QtbmF2LWFjdGl2ZTokdGV4dC1ibHVlO1xyXG4kcGxheS1saXN0LWl0ZW0tYmc6JGJnLWxpZ2h0LWdyYXk7XHJcbiRwbGF5LWxpc3QtaXRlbS1hY3RpdmUtYmc6JGJnLWJsdWU7XHJcbiRwbGF5LWxpc3QtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRwbGF5LWxpc3QtdGl0bGUtYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vUHJvbW9cclxuJHByb21vLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHByb21vLWJnLWhlcm86cmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4kcHJvbW8tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHByb21vLWhlcm8tdGV4dC1jb2xvcjokdGV4dC13aGl0ZTtcclxuJHByb21vLXNoYWRvdy1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9SaWNoIFRleHQgQ29udGVudFxyXG4kcmljaC1jb250ZW50LWJnOnRyYW5zcGFyZW50O1xyXG4kcmljaC1jb250ZW50LWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kcmljaC1jb250ZW50LWJvcmRlcjpub25lO1xyXG4vL1NlYXJjaFxyXG4kc2VhcmNoLWZpbHRlcjokdGV4dC1iYXNpYztcclxuJHNlYXJjaC1maWx0ZXItYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vTWVudSBjb2xvcnNcclxuJG1lbnUtaG92ZXItY29sb3I6IzFiODA5ZTtcclxuJG1lbnUtYWN0aXZlLWNvbG9yOiMxNzZmODk7XHJcbi8vTmF2aWdhdGlvblxyXG4kbmF2LWJnOnRyYW5zcGFyZW50O1xyXG4kbmF2LWNvbG9yLXJvb3Q6JHRleHQtYmFzaWM7XHJcbiRuYXYtY29sb3Itcm9vdC1hY3RpdmU6JHRleHQtYmFzaWM7XHJcbiRuYXYtYm9yZGVyLXJvb3Q6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG5hdi1ib3JkZXItcm9vdC1hY3RpdmU6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJG5hdi1jb2xvci1zdWJtZW51OiR0ZXh0LXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWNvbG9yLXN1Ym1lbnUtYWN0aXZlOiR0ZXh0LXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJnLXJvb3Q6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJnLXN1Ym1lbnU6JGJnLXN1Ym1lbnUtYWN0aXZlO1xyXG4kbmF2LWJnLXN1Ym1lbnUtYWN0aXZlOiRiZy1zdWJtZW51LWFjdGl2ZTtcclxuJG5hdi1ib3JkZXItc3VibWVudTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbmF2LXN1Ym1lbnUtaXRlbS1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kbmF2LXN1Ym1lbnUtYm9yZGVyLWFjdGl2ZTokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4vL1NvY2lhbCBNZWRpYSBTaGFyZVxyXG4kc29jaWFsLW1lZGlhLXNoYXJlLWJnOnRyYW5zcGFyZW50O1xyXG4vL1RhYnNcclxuJHRhYi1oZWFkaW5nLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kdGFiLWhlYWRpbmctYWN0aXZlLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHRhYi1oZWFkaW5nLWNvbG9yOiR0ZXh0LWhlYWRpbmctY29sb3I7XHJcbiR0YWItaGVhZGluZy1hY3RpdmUtY29sb3I6JHRleHQtYmxhY2s7XHJcbiR0YWItY29udGFpbmVyLWJnOnRyYW5zcGFyZW50O1xyXG4kdGFiLWNvbnRhaW5lci1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuLy9UaXRsZVxyXG4kdGl0bGUtYmc6dHJhbnNwYXJlbnQ7XHJcbiR0aXRsZS1jb2xvcjokdGV4dC1iYXNpYztcclxuJHRpdGxlLWNvbG9yLWFjdGl2ZTokdGV4dC1iYXNpYy1hY3RpdmU7XHJcbi8vVG9nZ2xlXHJcbiR0b2dnbGUtaGVhZGVyLWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHRvZ2dsZS1jb250ZW50LWJnOiRiZy1iYXNpYy1jb2xvcjtcclxuJHRvZ2dsZS1zaG93LWNvbG9yOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuLy9TZWFyY2ggQ29tcG9uZW50c1xyXG4kc2VhcmNoLWJ0bi1iZzp0cmFuc3BhcmVudDtcclxuJHNlYXJjaC1idG4tYWN0aXZlLWJnOiNlMGUwZTA7XHJcbiRzZWFyY2gtYnRuLWFjdGl2ZS1ib3JkZXI6I2FkYWRhZDtcclxuLy9JbWFnZSBjb21wb25lbnRcclxuJGltYWdlLWNhcHRpb24tY29sb3I6JHRleHQtYmFzaWM7XHJcbi8vTWVkaWEgTGluayBDb21wb25lbnRcclxuJG1lZGlhLWxpbmstYmc6dHJhbnNwYXJlbnQ7XHJcbiRtZWRpYS1saW5rLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kbWVkaWEtbGluay1jb2xvcjokdGV4dC1iYXNpYztcclxuJG1lZGlhLWxpbmstY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuLy9UYWcgQ29tcG9uZW50XHJcbiR0YWctY29sb3I6JHRleHQtYmFzaWM7XHJcbiR0YWctY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJHRhZy1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtYWN0aXZlO1xyXG4kdGFnLWxpbmstYmcgOiRiZy1ibHVlO1xyXG4kdGFnLWxpbmstYmctYWN0aXZlIDokYmctYmx1ZS1hY3RpdmU7XHJcbiR0YWctbGluay1jb2xvciA6JHRleHQtd2hpdGU7XHJcbi8vTGluayBDb21wb25lbnRcclxuJGxpbmstYmc6dHJhbnNwYXJlbnQ7XHJcbiRsaW5rLXRleHQtY29sb3I6JHRleHQtYmFzaWM7XHJcbiRsaW5rLXRleHQtY29sb3ItYWN0aXZlOiR0ZXh0LWJhc2ljLWFjdGl2ZTtcclxuJGxpbmstYm9yZGVyOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbi8vT3ZlcmxheVxyXG4kb3ZlcmxheS1iZzokYmctbGlnaHQtZ3JheTtcclxuLy9TZWFyY2ggQ29tcG9uZW50c1xyXG4kc2VhcmNoLXRpdGxlLWJvcmRlcjokYm9yZGVyLWJhc2ljLWNvbG9yO1xyXG4kc2VhcmNoLXRpdGxlLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kc2VhcmNoLWl0ZW0tY29sb3I6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtaXRlbS1jb2xvci1hY3RpdmU6JHRleHQtYmFzaWM7XHJcbiRzZWFyY2gtaXRlbS1ib3JkZXI6JGJvcmRlci1iYXNpYy1jb2xvcjtcclxuJHNlYXJjaC1pdGVtLWJvcmRlci1hY3RpdmU6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vXHJcbiRzZWFyY2gtZmlsdGVyLXJhZGl1cy1hY3RpdmU6JHRleHQtYmx1ZTtcclxuJHNlYXJjaC1maWx0ZXItcmFkaXVzLWJvcmRlcjokYm9yZGVyLWdyYXk7XHJcbiRzZWFyY2gtZmlsdGVyLXJhZGl1cy1iZzokYm9yZGVyLWdyYXk7XHJcbi8vXHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1ib3JkZXItYWN0aXZlOiRib3JkZXItYmFzaWMtY29sb3I7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1iZy1hY3RpdmU6JGJnLWJsdWU7XHJcbiRzZWFyY2gtZmlsdGVyLXNsaWRlci1idG4tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJ0bi1iZzokYmctbGlnaHQtZ3JheTtcclxuJHNlYXJjaC1maWx0ZXItc2xpZGVyLWJ0bi1iZy1hY3RpdmU6JGJnLWxpZ2h0LWdyYXktYWN0aXZlO1xyXG4vL1NlcmFjaCBQYWdpbmF0aW9uXHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1iZzp0cmFuc3BhcmVudDtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWFjdGl2ZS1iZzokYmctYmx1ZTtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjokdGV4dC13aGl0ZTtcclxuJHNlYXJjaC1wYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiR0ZXh0LWJsdWU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1ob3Zlci1iZzokYmctc3VibWVudS1hY3RpdmU7XHJcbiRzZWFyY2gtcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6JGJvcmRlci1iYXNpYy1hY3RpdmU7XHJcbi8vU2VhcmNoIHNlbGVjdG9yXHJcbiRzZXJhY2gtc2VsZWN0b3ItdmFyaWFudC1jb2xvci1hY3RpdmU6ICR0ZXh0LWJsdWUtYWN0aXZlO1xyXG4vL1R5cGVoZWFkXHJcbiR0dC1jb2xvcjokdGV4dC1iYXNpYztcclxuJHR0LWNvbG9yLWFjdGl2ZTokdGV4dC1ibHVlO1xyXG4kdHQtcHJpY2UtY29sb3I6JHRleHQtYmx1ZTtcclxuJHR0LWRyb3Bkb3duLWJnOiRiZy1saWdodC1ncmF5O1xyXG4kdHQtc3VnZ2VzdGlvbi1iZy1hY3RpdmU6JGJnLWxpZ2h0LWdyYXktYWN0aXZlO1xyXG4kdHQtZHJvcGRvd24tYm9yZGVyOiRib3JkZXItZ3JheTtcclxuLy9WaWRlb1xyXG4kdmlkZW8tY29udHJvbC1iZzokYmctYmFzaWMtY29sb3I7XHJcbiR2aWRlby10aW1lLWNvbG9yOiR0ZXh0LWJhc2ljO1xyXG4kdmlkZW8tdGltZS10b3RhbC1iZzokYmctYmxhY2s7XHJcbiR2aWRlby10aW1lLWhhbmRsZS1ib3JkZXI6JGJvcmRlci1ncmF5O1xyXG4kdmlkZW8tdGltZS1oYW5kbGUtYmc6JGJnLWJsYWNrO1xyXG4vL01haW5cclxuJHBhZ2UtYmc6ICRiZy1iYXNpYy1jb2xvcjtcclxuJHBhZ2UtYmctZWRpdG9yOm5vbmU7XHJcbiIsIkBpbXBvcnQgJy4vdmFyaWFibGVzJztcbkBpbXBvcnQgJ35pb3RhY3NzLXRvb2xzLXR5cGUvdG9vbHMudHlwZSc7XG5cbkBtaXhpbiB1aS10eXBvZ3JhcGh5LWJhc2UoJGZvbnQtZmFtaWx5OiAkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0KSB7XG4gIGZvbnQtZmFtaWx5OiBpZigkZm9udC1mYW1pbHkgIT0gbnVsbCwgJGZvbnQtZmFtaWx5LCAkdWktdHlwb2dyYXBoeS1zdGFjay1kZWZhdWx0KTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbkBtaXhpbiB1aS10eXBvZ3JhcGh5KCRzdHlsZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpIHtcbiAgICAkc3R5bGU6IG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpO1xuICAgICRmb250LWZhbWlseTogbWFwLWdldCgkc3R5bGUsIGZvbnQtZmFtaWx5KTtcblxuICAgIEBpbmNsdWRlIHVpLXR5cG9ncmFwaHktYmFzZSgkZm9udC1mYW1pbHkpO1xuICAgIEBpbmNsdWRlIGlvdGEtdHlwZShtYXAtZ2V0KCRzdHlsZSwgc2l6ZXMpKTtcblxuICAgIC8vIFJlbW92ZSBwcm9wZXJ0aWVzIHRoYXQgZG8gbm90IG5lZWQgdG8gYmUgZ2VuZXJhdGVkIGJlbG93XG4gICAgJHByb3BzOiBtYXAtcmVtb3ZlKCRzdHlsZSwgZm9udC1mYW1pbHksIG1hcmdpbiwgc2l6ZXMpO1xuICAgICRrZXlzOiBtYXAta2V5cygkcHJvcHMpO1xuXG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAjeyRrZXl9OiBtYXAtZ2V0KCRwcm9wcywgJGtleSk7XG4gICAgfVxuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuKCdDb3VsZCBub3QgZmluZCBgI3skc3R5bGV9YCBpbiBgJHVpLXR5cG9ncmFwaHktc3R5bGVzYCcpO1xuICB9XG59XG5cbkBtaXhpbiB1aS10eXBvZ3JhcGh5LW1hcmdpbigkc3R5bGUpIHtcbiAgbWFyZ2luOiBtYXAtZ2V0KG1hcC1nZXQoJHVpLXR5cG9ncmFwaHktc3R5bGVzLCAkc3R5bGUpLCBtYXJnaW4pO1xufVxuIiwiQG1peGluIF9pb3RhLWV4dHJhY3QtdHlwZS1zaXplcygkc2l6ZXMpIHtcblxuICBAaWYgKCBsZW5ndGgoJHNpemVzKSA9PSAyICkge1xuICAgIGZvbnQtc2l6ZTogbnRoKCRzaXplcywgMSk7XG4gICAgbGluZS1oZWlnaHQ6IG50aCgkc2l6ZXMsIDIpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogJHNpemVzOyAgXG4gIH1cbiAgXG59XG4iLCIvLyBodHRwczovL2pvZWNpYW5mbG9uZS5jby9hcnRpY2xlL3Nhc3MtcHgtdG8tcmVtc1xyXG4vLyBCdXQgTm8gbmVlZCBmb3IgcGl4ZWwgZmFsbGJhY2sgYW55bW9yZSBzZWUgc3VwcG9ydFxyXG4vLyBhbmQgZm9yIGludWl0IHR5cGUgdG9vbCAocmVzcG9uc2l2ZSkgd2UgbmVlZCBqdXN0IGEgcmV0dXJuZWQgcmVtIHZhbHVlLCBubyBuZWVkIGZvciBtaXhpbnNcclxuXHJcbiRiYXNlOiA2Mi41JTtcclxuXHJcbkBmdW5jdGlvbiBnZXQtdmFsdWUoJG4pIHtcclxuICBAcmV0dXJuICRuIC8gKCRuICogMCArIDEpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gZ2V0LXJlbSgkZm9udC1zaXplKSB7XHJcbiAgJGJhc2Utc2l6ZTogZ2V0LXZhbHVlKCRiYXNlIC8gMTAwKTtcclxuICAkYmFzZS1weC1zaXplOiAxNiAqICRiYXNlLXNpemU7XHJcbiAgQHJldHVybiAoKGdldC12YWx1ZSgkZm9udC1zaXplKSAvICRiYXNlLXB4LXNpemUpICsgcmVtKTtcclxufSIsIkBtaXhpbiBfaW90YS1nZW5lcmF0ZS10eXBlLXNpemVzKCR2YWx1ZXMsICRicmVha3BvaW50cykge1xuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcblxuICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBudWxsKSB7XG5cbiAgICAgIEBpbmNsdWRlIF9pb3RhLWV4dHJhY3QtdHlwZS1zaXplcyhtYXAtZ2V0KCR2YWx1ZXMsIG51bGwpKTtcblxuICAgIH1cbiAgXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICRzaXplcyBpbiAkdmFsdWVzIHtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgIFxuICAgICAgICBAbWVkaWEgI3ttYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSB7XG4gICAgICBcbiAgICAgICAgICBAaW5jbHVkZSBfaW90YS1leHRyYWN0LXR5cGUtc2l6ZXMoJHNpemVzKTtcblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ251bWJlcicgb3IgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuXG4gICAgQGluY2x1ZGUgX2lvdGEtZXh0cmFjdC10eXBlLXNpemVzKCR2YWx1ZXMpO1xuXG4gIH1cbn1cbiIsIi8qKlxyXG4gKiBVc2FnZTpcclxuICpcclxuICogICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XHJcbiAqL1xuLnUtdHlwZS0tbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udS10eXBlLS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnUtdHlwZS0tbWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnUtdHlwZS0tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIGJyZWFrcG9pbnRzICovXG4uYy1uYXZpZ2F0aW9uX190b2dnbGUge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5jLW5hdmlnYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEyNTFkO1xufVxuXG4uYy1uYXZpZ2F0aW9uIGxpOm5vdCguYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0pOm5vdCguYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1uYXZpZ2F0aW9uLCAuYy1uYXZpZ2F0aW9uIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmMtbmF2aWdhdGlvbiAubmF2aWdhdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi5jLW5hdmlnYXRpb24gLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xuICBoZWlnaHQ6IDI3cHg7XG4gIHdpZHRoOiAyNHB4O1xufVxuXG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUsIC5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSBzdmcge1xuICBmaWxsOiBibGFjaztcbn1cblxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIGE6aG92ZXIsIC5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cblxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbS5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cblxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGE6aG92ZXIsIC5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0gPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cblxuLmMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19saXN0LmlPUzkgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXgtd2lkdGg6IDMzJTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbW96LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0uYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYTI1MWQ7XG59XG5cbi5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICBwYWRkaW5nOiAxNHB4IDhweCAxNHB4O1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0gPiBhOmhvdmVyLCAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0gPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0MDAwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZmZmZjtcbn1cblxuLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQgPiBhIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYTI1MWQ7XG4gIHotaW5kZXg6IDExO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QgLm5hdmlnYXRpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QgLm5hdmlnYXRpb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0MDAwMDtcbn1cblxuLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cblxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0IHtcbiAgd2lkdGg6IDI4MHB4O1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYTMwMDFjO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYTpob3ZlciwgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EzMDAxYztcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZmZmZjtcbn1cblxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhID4gZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZGVkZWQ7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYSAubmF2aWdhdGlvbi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYSAubmF2aWdhdGlvbi1pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYSB7XG4gICAgcGFkZGluZzogMTZweCAxMiU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3RvZ2dsZSAubmF2aWdhdGlvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3RvZ2dsZSAubmF2aWdhdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgZmxleDogMCAxIDU2cHg7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDE5cHggMzRweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIH1cbiAgLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0ID4gbGkgPiBhIC5uYXZpZ2F0aW9uLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDc2cHg7XG4gIH1cbiAgLm5hdmlnYXRpb24taWNvbjpub3QoLm5hdmlnYXRpb24taWNvbi0tb3Blbikge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIC5uYXZpZ2F0aW9uLWljb24tLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW4gLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jLWhlYWRlcl9fb3BlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcC5jLW5hdmlnYXRpb25fX21vcmUtYmFja2Ryb3AtLW9wZW4ge1xuICAgIHotaW5kZXg6IDk5OTg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgMCAjNzQwMDAwO1xuICB9XG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAwICNlZGVkZWQ7XG4gIH1cbiAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ1OXB4KSB7XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBmbGV4OiAxIDAgNDBweDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0ID4gbGkgPiBhIC5uYXZpZ2F0aW9uLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYSB7XG4gICAgcGFkZGluZzogMTZweCA2cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3Blbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm90dG9tOiA5cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjNzQwMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW46OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjZmZmZmZmO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1maXJzdC0taG92ZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjYTMwMDFjO1xuICB9XG4gIC5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1maXJzdC0taG92ZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjZWRlZGVkO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSAxMHB4KTtcbiAgICByaWdodDogMjRweDtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLm5hdmlnYXRpb24taWNvbiB7XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDJweDtcbiAgfVxuICAubmF2aWdhdGlvbi1pY29uIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1uYXZpZ2F0aW9uIHtcbiAgICBoZWlnaHQ6IDEycmVtO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICB9XG4gIC5jLW5hdmlnYXRpb24gLm5hdmlnYXRpb24taWNvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDU2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICB9XG4gIC8qRGVmZWN0IDExMDgzOSBTdGFydCBBYmR1bCAyOE1hcjIyKi9cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogNzk1cHgpIHtcbiAgLmMtbmF2aWdhdGlvbiB7XG4gICAgaGVpZ2h0OiAxNHJlbTtcbiAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLypEZWZlY3QgMTEwODM5IGVuZCBBYmR1bCAyOE1hcjIyKi9cbiAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTZweCAwIGNhbGMoMTZweCAtIDJweCk7XG4gIH1cbn1cbiIsIiRnbG9iYWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XHJcbiRnbG9iYWwtdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UtaW4tb3V0O1xyXG4kZ2xvYmFsLXRyYW5zaXRpb246IGFsbCAkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQ7IiwiJHNwYWNlOiA4cHggIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gc3BhY2UoJHNpemU6IDEpIHtcclxuICBAcmV0dXJuICRzcGFjZSAqICRzaXplO1xyXG59XHJcbiIsIi8vbW9kZGVkIHRvIHVzZSBweFxyXG5cclxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XHJcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcclxuXHJcbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxyXG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxyXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcblxyXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXHJcbi8vL1xyXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXHJcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxyXG4vLy9cclxuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2VycyxcclxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIG9sZC1pZS5zY3NzXHJcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xyXG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxyXG4vLy9cclxuLy8vIEB0eXBlIEJvb2xlYW5cclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9mZiBEaXNhYmxlZCByZXNwb25zaXZlIG1vZGUgZG9jdW1lbnRhdGlvblxyXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vLyBCcmVha3BvaW50IGxpc3RcclxuLy8vXHJcbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxyXG4vLy8gYWNyb3NzIHRlYW0gbWVtYmVycy4gSXQgd2lsbCBpbXByb3ZlIGNvbW11bmljYXRpb24gYmV0d2VlblxyXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxyXG4vLy9cclxuLy8vIEB0eXBlIE1hcFxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1icmVha3BvaW50czogKFxyXG4gICAgbW9iaWxlOiAgMzIwcHgsXHJcbiAgICB0YWJsZXQ6ICA3NDBweCxcclxuICAgIGRlc2t0b3A6IDk4MHB4LFxyXG4gICAgd2lkZTogICAgMTMwMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxyXG4vLy9cclxuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxyXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XHJcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3NcclxuLy8vICAvL1xyXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxyXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcclxuXHJcbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXHJcbi8vL1xyXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3BcclxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXHJcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGgsIGUuZy4gKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKS5cclxuLy8vXHJcbi8vLyBAdHlwZSBtYXBcclxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXHJcbi8vLyBCeSBkZWZhdWx0IHNhc3MtbXEgdXNlcyBhbiBcImFsbFwiIG1lZGlhIHR5cGUgKGBAbWVkaWEgYWxsIGFuZCDigKZgKVxyXG4vLy9cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNjaGFuZ2luZy1tZWRpYS10eXBlIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcclxuXHJcbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSAoJG1xLWJhc2UtZm9udC1zaXplKSAtIGA8Ym9keT5gIGZvbnQgc2l6ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAkZm9udC1zaXplLWluLWVtczogbXEtcHgyZW0oMTZweCk7XHJcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMgJG1xLWJhc2UtZm9udC1zaXplXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxyXG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xyXG4gICAgQGlmIHVuaXRsZXNzKCRweCkge1xyXG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xyXG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xyXG4gICAgfSBAZWxzZSBpZiB1bml0KCRweCkgPT0gZW0ge1xyXG4gICAgICAgIEByZXR1cm4gJHB4O1xyXG4gICAgfVxyXG4gICAgQHJldHVybiAoJHB4IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTtcclxufVxyXG5cclxuLy8vIEdldCBhIGJyZWFrcG9pbnQncyB3aWR0aFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoZGVza3RvcCkpIHt9XHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXHJcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRuYW1lKSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlICgkbXEtbWVkaWEtdHlwZSkgLSBNZWRpYSB0eXBlOiBzY3JlZW4sIHByaW504oCmXHJcbi8vL1xyXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cylcclxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxyXG4vLy9cclxuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcclxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1nZXQtYnJlYWtwb2ludC13aWR0aFxyXG4vLy9cclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAuZWxlbWVudCB7XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogbW9iaWxlKSB7XHJcbi8vLyAgICAgIGNvbG9yOiByZWQ7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogYmx1ZTtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKG1vYmlsZSwgdGFibGV0KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQsICRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XHJcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoOTUwcHgpIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSh0YWJsZXQsICRtZWRpYS10eXBlOiBzY3JlZW4pIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgICAvLyBBZHZhbmNlZCB1c2U6XHJcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XHJcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuQG1peGluIG1xKFxyXG4gICAgJGZyb206IGZhbHNlLFxyXG4gICAgJHVudGlsOiBmYWxzZSxcclxuICAgICRhbmQ6IGZhbHNlLFxyXG4gICAgJGVtcy1vbjogZmFsc2UsXHJcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXHJcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcclxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcclxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbikge1xyXG4gICAgJG1pbi13aWR0aDogMDtcclxuICAgICRtYXgtd2lkdGg6IDA7XHJcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xyXG5cclxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxyXG4gICAgQGlmICRmcm9tIHtcclxuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcclxuICAgICAgICAgICAgJG1pbi13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJGZyb20pLCAoJGZyb20pKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJG1pbi13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJGZyb20sICRicmVha3BvaW50cykpLCBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcclxuICAgIEBpZiAkdW50aWwge1xyXG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcclxuICAgICAgICAgICAgJG1heC13aWR0aDogaWYoJGVtcy1vbiwgbXEtcHgyZW0oJHVudGlsKSwoJHVudGlsKSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IGlmKCRlbXMtb24sIG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSkgLSAuMDFlbSwgbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpIC0gMXB4KTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXHJcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxyXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcclxuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBpZigkZW1zLW9uLCBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpLCAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xyXG5cclxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxyXG4gICAgICAgIEBpZiAoXHJcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcclxuICAgICAgICAgICAgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aFxyXG4gICAgICAgICAgICBhbmQgKFxyXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxyXG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxyXG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XHJcblxyXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xyXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xyXG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XHJcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBRdWljayBzb3J0XHJcbi8vL1xyXG4vLy8gQGF1dGhvciBTYW0gUmljaGFyZHNcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge0xpc3R9IFNvcnRlZCBMaXN0XHJcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xyXG4gICAgJGxlc3M6ICAoKTtcclxuICAgICRlcXVhbDogKCk7XHJcbiAgICAkbGFyZ2U6ICgpO1xyXG5cclxuICAgIEBpZiBsZW5ndGgoJGxpc3QpID4gMSB7XHJcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xyXG5cclxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XHJcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA8ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRsYXJnZTogYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuXHJcbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XHJcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXHJcbkBmdW5jdGlvbiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1hcCkge1xyXG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xyXG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XHJcblxyXG4gICAgLy8gUmVvcmRlciBrZXkvdmFsdWUgcGFpcnMgYmFzZWQgb24ga2V5IHZhbHVlc1xyXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XHJcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcclxuICAgICAgICAka2V5OiBudGgoJG1hcC1rZXlzLCAkaW5kZXgpO1xyXG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcclxuXHJcbiAgICAgICAgLy8gVW5zZXQgdGhlIHZhbHVlIGluICRtYXAtdmFsdWVzIHRvIHByZXZlbnQgdGhlIGxvb3BcclxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcclxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xyXG59XHJcblxyXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcclxuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cclxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcclxuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XHJcbiAgICAkbXEtYnJlYWtwb2ludHM6IF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbXEtYnJlYWtwb2ludHMpICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xyXG4vLy9cclxuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xyXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xyXG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBib2R5OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XHJcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG5cclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXHJcbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XHJcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xyXG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxufVxyXG4iXX0= */
