@import url("../typography/font-face.css");
/* ul */
/* xl */
/* lg */
/* md */
/* sm */
/* xs */
/* xx */
._container {
  position: relative;
}

.pdf_link {
    color: #000;
    text-decoration: none;
    display: block;
    text-align: center;
    padding-bottom: 20px;
}

.portfolioMain {
  padding-top: 0;
  padding-bottom: 55px;
}

.portfolio__container {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.portfolio__blocks-container {
  display: block;
  width: 100%;
  margin: 0 auto;
}

@supports (display: grid) {
  .portfolio__blocks-container {
    display: grid;
    justify-content: center;
    width: 100%;
    margin-top: 50px;
    grid-template-columns: repeat(3, min-content);
  }
  @media (max-width: 1339.8px) and (min-width: 768px) {
    .portfolio__blocks-container {
      grid-template-columns: repeat(2, min-content);
    }
  }
  @media (max-width: 767.8px) and (min-width: 320px) {
    .portfolio__blocks-container {
      grid-template-columns: repeat(1, min-content);
    }
  }
  .portfolio__container {
    display: flex;
    align-items: normal;
    justify-content: center;
  }
}

.portfolio__block {
  position: relative;
  float: left;
  overflow: hidden;
  width: 400px;
  height: 400px;
  margin: 7px;
  background-image: url("../img/project_one.jpg");
  background-repeat: no-repeat;
  background-position: center center;
}

@media (max-width: 991.8px) and (min-width: 378px) {
  .portfolio__block {
    width: 330px;
    height: 330px;
    background-size: contain;
  }
}

@media (min-width: 320px) and (max-width: 430px) {
  .portfolio__block {
    width: 226px !important;
    height: 226px !important;
  }
}

.portfolio__block:nth-of-type(1) {
  overflow: visible;
}

.portfolio__block:nth-of-type(2) {
  background-image: url("../img/project_two.jpg");
  background-position-x: 81%;
}

.portfolio__block:nth-of-type(3) {
  background-image: url("../img/project_three.jpg");
}

.portfolio__block:nth-of-type(4) {
  background-image: url("../img/project_four.jpg");
}

.portfolio__block:nth-of-type(5) {
  background-image: url("../img/project_five.jpg");
}

.portfolio__block:nth-of-type(6) {
  background-image: url("../img/project_six.jpg");
  background-position: 45% 44%;
}

.portfolio__block:nth-of-type(7) {
  background-image: url("../img/project_four.jpg");
  background-position: 45% 44%;
}

.portfolio__block:nth-of-type(8) {
  background-image: url("../img/project_five.jpg");
  background-position: 45% 44%;
}

.portfolio__block:nth-of-type(9) {
  background-image: url("../img/project_six.jpg");
  background-position: 45% 44%;
}

.portfolio__block:nth-of-type(10) {
  background-image: url("../img/project_four.jpg");
  background-position: 45% 44%;
}

@media (min-width: 1340px) {
  .portfolio__block:nth-of-type(10) {
    display: none;
  }
}

@media (max-width: 1339.8px) and (min-width: 768px) {
  .portfolio__block:nth-of-type(10) {
    display: block;
  }
}

@media (max-width: 767.8px) and (min-width: 320px) {
  .portfolio__block:nth-of-type(10) {
    display: none;
  }
}

.portfolio__block::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  content: "";
  opacity: 0.7;
  background-color: black;
}

@media (max-width: 767.8px) and (min-width: 320px) {
  .portfolio__block::before {
    display: block;
    background-color: transparent;
    background-image: linear-gradient(to bottom, transparent, #000000 88%);
  }
}

.portfolio__hoverMain {
  visibility: hidden;
  height: 100%;
  padding: 17px 30px;
  transition: transform 0.2s ease-in-out;
  transform: translateX(-400px);
  opacity: 0.999;
  color: #ffffff;
  font-family: "Panton";
  font-weight: bold;
  line-height: 25px;
}

@media (max-width: 767.8px) and (min-width: 320px) {
  .portfolio__hoverMain {
    display: flex;
    visibility: visible;
    flex-direction: column;
    transform: translateX(0);
  }
}

.portfolio__hoverMain .portfolio__descriptionMain {
  margin: 0;
  margin-bottom: 10px;
  padding: 0;
}

@media (max-width: 767.8px) and (min-width: 320px) {
  .portfolio__hoverMain .portfolio__descriptionMain,
  .portfolio__hoverMain a {
    display: none;
  }
}

.portfolio__hoverMain .portfolio__titleMain {
  margin: 0;
  margin-bottom: 27px;
  padding: 0;
  font-size: 24px;
}

@media (max-width: 991.8px) and (min-width: 768px) {
  .portfolio__hoverMain .portfolio__titleMain {
    margin-bottom: 12px;
    font-size: 18px;
  }
}

@media (max-width: 767.8px) and (min-width: 320px) {
  .portfolio__hoverMain .portfolio__titleMain {
    display: block;
    margin-top: 90%;
    text-decoration: none;
  }
}

.portfolio__hoverMain h4 {
  margin-top: 0;
  margin-bottom: 3px;
  padding: 0;
  font-size: 14px;
}

.portfolio__hoverMain p {
  margin: 0;
  padding: 0;
  color: #cccccc;
  font-family: "Panton Light Caps", sans-serif;
  font-size: 12px;
}

@media (max-width: 767.8px) and (min-width: 320px) {
  .portfolio__hoverMain p {
    font-size: 12px;
  }
}

.portfolio__hoverMain a {
  color: inherit;
}

.portfolio__hoverMain a:hover, .portfolio__hoverMain a:focus {
  text-decoration: underline;
}

.portfolio__hoverMain a:active {
  color: #f2f2f2;
}

.portfolio__block:hover,
.portfolio__block:focus {
  cursor: pointer;
  outline: none;
}

.portfolio__block:hover::before,
.portfolio__block:focus::before {
  display: block;
}

.portfolio__block:hover .portfolio__hoverMain,
.portfolio__block:focus .portfolio__hoverMain {
  display: block;
  visibility: visible;
  transform: translateX(0);
}

.nav {
  position: fixed;
  z-index: 7;
}

@media (min-width: 992px) {
  .nav {
    top: 50px;
    right: 50px;
  }
  .nav .menu .menu__button-active {
    transform: translateX(-49px);
  }
}

@media (max-width: 991.8px) and (min-width: 768px) {
  .nav {
    top: 50px;
    right: 70px;
  }
  .nav .menu .menu__button-active {
    transform: translateX(-49px);
  }
}

@media (min-width: 1341px) and (max-width: 1500px) {
  .nav {
    right: 40px !important;
  }
  .nav .menu .menu__button-active {
    transform: translateX(-49px);
  }
}

@media (min-width: 767.5px) and (max-width: 1000px) {
  .nav {
    right: 40px !important;
  }
  .nav .menu .menu__button-active {
    transform: translateX(-49px);
  }
}

@media (min-width: 320px) and (max-width: 767px) {
  .nav {
    top: 50px;
    right: 35px;
  }
  .nav .menu .menu__button-active {
    transform: translateX(-54px);
  }
}

.menu__button {
  cursor: pointer;
}

.menu .menu__button:focus svg,
.menu .menu__button:hover svg {
  fill: #000000;
}

.menu__button:hover svg {
  fill: #000000 !important;
}

.fill {
  fill: #ffffff !important;
}

.menu .menu__button-active {
  transform: translateX(-39px);
}

.language {
  margin-left: 3px;
  color: #000000;
  font-size: 14px;
  line-height: 17px;
}

.language__title {
  margin-left: 0;
  padding: 0;
  cursor: pointer;
  transition: transform 0.05s ease-in;
  text-align: center;
  letter-spacing: 0;
  color: #000000;
  border: none;
  border-bottom: 2px solid #000000;
  outline: none;
  background-color: transparent;
  font: inherit;
  font-family: Panton;
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
  line-height: 17px;
}

.language__title:focus,
.language__title:hover {
  color: #000000;
  border-bottom-color: #000000;
  outline: none;
}

.language__title:active {
  transform: scale(0.95);
}

.language__dropdown {
  display: none;
  width: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
  letter-spacing: 0;
  font-family: Panton;
  font-size: 14px;
  font-weight: 700;
  font-style: normal;
  line-height: 17px;
  margin-left: -6px;
}

.language__dropdown-active {
  display: block;
}

.language__dropdown li {
  padding-top: 12px;
  margin-bottom: 10px;
}

.language__dropdown button {
  margin: 0;
  padding: 0;
  transition: transform 0.05s ease-in;
  color: #000000;
  border: none;
  background-color: transparent;
  font: inherit;
}

.language__dropdown button:hover {
  cursor: pointer;
  color: #000000 !important;
}

.language__dropdown button:active {
  transform: scale(0.95);
}

.language__dropdown button:last-child {
  margin-bottom: 0;
}

.arrowdown {
  position: fixed;
  z-index: 666;
  bottom: 50px;
}

@media (min-width: 1340px) {
  .arrowdown {
    right: 20px;
  }
}

@media (max-width: 1339.8px) and (min-width: 992px) {
  .arrowdown {
    right: 20px;
  }
}

@media (max-width: 991.8px) and (min-width: 768px) {
  .arrowdown {
    right: 10px;
  }
}

@media (min-width: 1341px) and (max-width: 1500px) {
  .arrowdown {
    right: 15px;
  }
}

@media (min-width: 465px) and (max-width: 767px) {
  .arrowdown {
    right: 10px;
  }
}

@media (min-width: 320px) and (max-width: 464px) {
  .arrowdown {
    display: none;
  }
}

.arrowup {
  position: absolute;
  z-index: 6;
}

@media (min-width: 992px) {
  .arrowup {
    right: 30px;
    bottom: -340px;
  }
}

@media (max-width: 991.8px) and (min-width: 768px) {
  .arrowup {
    right: 10px;
    bottom: -340px;
  }
}

@media (min-width: 768px) and (max-width: 830px) {
  .arrowup {
    bottom: -350px !important;
    right: 10px;
  }
}

@media (min-width: 532px) and (max-width: 767.5px) {
  .arrowup {
    bottom: -350px !important;
    right: 15px;
  }
}

@media (min-width: 320px) and (max-width: 531px) {
  .arrowup {
    bottom: -495px !important;
    right: 10px;
  }
}

.portfolio-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.portfolio-wrapper a.portfolio__link {
  position: relative;
  padding-bottom: 6px;
  cursor: pointer;
  color: #000000;
  font-family: "Panton";
  font-size: 24px;
  font-weight: bold;
  line-height: 29px;
}

.portfolio-wrapper a.portfolio__link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  border-radius: 3px;
  background-color: #000000;
}

.portfolio-wrapper a.portfolio__link:hover, .portfolio-wrapper a.portfolio__link:focus {
  text-decoration: none;
  color: #3c3636;
}

.portfolio-wrapper a.portfolio__link:hover::after, .portfolio-wrapper a.portfolio__link:focus::after {
  background-color: #3c3636;
}

.portfolio-wrapper a.portfolio__link:active {
  color: #948686;
}

.logoblock {
  position: absolute;
  top: 0;
  left: -13%;
}

@media (max-width: 991.8px) and (min-width: 768px) {
  .logoblock {
    left: -15%;
    top: 0;
  }
}

@media (max-width: 767.8px) and (min-width: 576px) {
  .logoblock {
    left: -17%;
    top: 0;
  }
}

@media (max-width: 430px) and (min-width: 320px) {
  .logoblock {
    top: 0;
    left: -19%;
  }
}

.overflowblock {
  overflow: hidden;
  height: 100%;
}

.page__footer .footer__wrapper .footer__info .socials__list polygon {
  fill: #fff !important;
}

.slider__arrow-static {
  display: none;
}

@media (max-width: 2600px) and (min-width: 1921px) {
  .retina {
    display: none;
  }
}

@media (max-width: 1920px) and (min-width: 320px) {
  .retina {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGZvbGlvLmNzcyIsInNvdXJjZXMiOlsicG9ydGZvbGlvLnNjc3MiLCJfbWl4aW5zLW1lZGlhLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCIuLi90eXBvZ3JhcGh5L2ZvbnQtZmFjZS5jc3NcIik7XHJcbkBpbXBvcnQgXCJtaXhpbnMtbWVkaWFcIjtcclxuJHVsOiAxMzQwcHg7XHJcbiR4bDogMTIwMHB4O1xyXG4kbGc6IDk5MnB4O1xyXG4kbWQ6IDc2OHB4O1xyXG4kc206IDU3NnB4O1xyXG4keHM6IDM3OHB4O1xyXG4keHg6IDMyMHB4O1xyXG5cclxuLl9jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnBvcnRmb2xpb01haW4ge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiA1NXB4O1xyXG59XHJcblxyXG4ucG9ydGZvbGlvX19jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4ucG9ydGZvbGlvX19ibG9ja3MtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcblxyXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcclxuICAucG9ydGZvbGlvX19ibG9ja3MtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcblxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWluLWNvbnRlbnQpO1xyXG4gICAgQGluY2x1ZGUgdWwtbWQge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW4tY29udGVudCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZC14eCB7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbi1jb250ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wb3J0Zm9saW9fX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnBvcnRmb2xpb19fYmxvY2sge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgd2lkdGg6IDQwMHB4O1xyXG4gIGhlaWdodDogNDAwcHg7XHJcbiAgbWFyZ2luOiA3cHg7XHJcblxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9qZWN0X29uZS5qcGdcIik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG5cclxuICBAaW5jbHVkZSBsZy14cyB7XHJcbiAgICB3aWR0aDogMzMwcHg7XHJcbiAgICBoZWlnaHQ6IDMzMHB4O1xyXG5cclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQzMHB4KSB7XHJcbiAgICB3aWR0aDogMjI2cHghaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAyMjZweCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgJjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvamVjdF90d28uanBnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA4MSU7XHJcbiAgfVxyXG5cclxuICAmOm50aC1vZi10eXBlKDMpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9qZWN0X3RocmVlLmpwZ1wiKTtcclxuICB9XHJcblxyXG4gICY6bnRoLW9mLXR5cGUoNCkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2plY3RfZm91ci5qcGdcIik7XHJcbiAgfVxyXG5cclxuICAmOm50aC1vZi10eXBlKDUpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9qZWN0X2ZpdmUuanBnXCIpO1xyXG4gIH1cclxuXHJcbiAgJjpudGgtb2YtdHlwZSg2KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvamVjdF9zaXguanBnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDUlIDQ0JTtcclxuICB9XHJcblxyXG4gICY6bnRoLW9mLXR5cGUoNykge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2plY3RfZm91ci5qcGdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0NSUgNDQlO1xyXG4gIH1cclxuXHJcbiAgJjpudGgtb2YtdHlwZSg4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvcHJvamVjdF9maXZlLmpwZ1wiKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQ1JSA0NCU7XHJcbiAgfVxyXG5cclxuICAmOm50aC1vZi10eXBlKDkpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9wcm9qZWN0X3NpeC5qcGdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0NSUgNDQlO1xyXG4gIH1cclxuXHJcbiAgJjpudGgtb2YtdHlwZSgxMCkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Byb2plY3RfZm91ci5qcGdcIik7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0NSUgNDQlO1xyXG5cclxuICAgIEBpbmNsdWRlIHVsLW1pbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSB1bC1tZCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWQteHgge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG5cclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG5cclxuICAgIEBpbmNsdWRlIG1kLXh4IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQsICMwMDAwMDAgODglKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wb3J0Zm9saW9fX2hvdmVyTWFpbiB7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcGFkZGluZzogMTdweCAzMHB4O1xyXG5cclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcclxuXHJcbiAgb3BhY2l0eTogMC45OTk7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcblxyXG4gIGZvbnQtZmFtaWx5OiBcIlBhbnRvblwiO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG5cclxuICBAaW5jbHVkZSBtZC14eCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gIH1cclxuXHJcbiAgLnBvcnRmb2xpb19fZGVzY3JpcHRpb25NYWluIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLnBvcnRmb2xpb19fZGVzY3JpcHRpb25NYWluLFxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgbWQteHgge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBvcnRmb2xpb19fdGl0bGVNYWluIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI3cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuXHJcbiAgICBAaW5jbHVkZSBsZy1tZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcblxyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZC14eCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgbWFyZ2luLXRvcDogOTAlO1xyXG5cclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaDQge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDNweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGNvbG9yOiAjY2NjY2NjO1xyXG5cclxuICAgIGZvbnQtZmFtaWx5OiBcIlBhbnRvbiBMaWdodCBDYXBzXCIsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWQteHgge1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogI2YyZjJmMjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wb3J0Zm9saW9fX2Jsb2NrOmhvdmVyLFxyXG4ucG9ydGZvbGlvX19ibG9jazpmb2N1cyB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBvdXRsaW5lOiBub25lO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAucG9ydGZvbGlvX19ob3Zlck1haW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4ubmF2IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDc7XHJcblxyXG4gICAgQGluY2x1ZGUgbGctbWluIHtcclxuICAgICAgICB0b3A6IDUwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDUwcHg7XHJcblxyXG4gICAgICAgIC5tZW51IC5tZW51X19idXR0b24tYWN0aXZlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00OXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbGctbWQge1xyXG4gICAgICAgIHRvcDogNTBweDtcclxuICAgICAgICByaWdodDogNzBweDtcclxuXHJcbiAgICAgICAgLm1lbnUgLm1lbnVfX2J1dHRvbi1hY3RpdmUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQ5cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQG1lZGlhIChtYXgtd2lkdGg6IDI2MDBweCkgYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xyXG4gICAgLy8gIHJpZ2h0OiAyMjBweDtcclxuICAgIC8vfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6MTM0MXB4KSBhbmQgKG1heC13aWR0aDoxNTAwcHgpIHtcclxuICAgICAgICByaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAubWVudSAubWVudV9fYnV0dG9uLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDlweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOjc2Ny41cHgpIGFuZCAobWF4LXdpZHRoOjEwMDBweCkge1xyXG4gICAgICAgIHJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5tZW51IC5tZW51X19idXR0b24tYWN0aXZlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00OXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICB0b3A6IDUwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDM1cHg7XHJcblxyXG4gICAgICAgIC5tZW51IC5tZW51X19idXR0b24tYWN0aXZlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01NHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51X19idXR0b24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuXHJcbi5tZW51IC5tZW51X19idXR0b246Zm9jdXMgc3ZnLFxyXG4ubWVudSAubWVudV9fYnV0dG9uOmhvdmVyIHN2ZyB7XHJcbiAgZmlsbDogIzAwMDAwMDtcclxufVxyXG5cclxuLm1lbnVfX2J1dHRvbjpob3ZlciBzdmcge1xyXG4gIGZpbGw6ICMwMDAwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZpbGwge1xyXG4gIGZpbGw6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1lbnVfX2J1dHRvbiBzdmcge1xyXG4gIC8vcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLm1lbnUgLm1lbnVfX2J1dHRvbi1hY3RpdmUge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zOXB4KTtcclxuXHJcbn1cclxuXHJcbi5sYW5ndWFnZSB7XHJcblxyXG4gIG1hcmdpbi1sZWZ0OiAzcHg7XHJcblxyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG5cclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbn1cclxuXHJcbi5sYW5ndWFnZV9fdGl0bGUge1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNXMgZWFzZS1pbjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcblxyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDAwMDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICBmb250OiBpbmhlcml0O1xyXG4gIGZvbnQtZmFtaWx5OiBQYW50b247XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG59XHJcblxyXG4ubGFuZ3VhZ2VfX3RpdGxlOmZvY3VzLFxyXG4ubGFuZ3VhZ2VfX3RpdGxlOmhvdmVyIHtcclxuICBjb2xvcjogIzAwMDAwMDtcclxuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwMDAwO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4ubGFuZ3VhZ2VfX3RpdGxlOmFjdGl2ZSB7XHJcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcclxufVxyXG5cclxuLmxhbmd1YWdlX19kcm9wZG93biB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIGZvbnQtZmFtaWx5OiBQYW50b247XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTZweFxyXG59XHJcblxyXG4ubGFuZ3VhZ2VfX2Ryb3Bkb3duLWFjdGl2ZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5sYW5ndWFnZV9fZHJvcGRvd24gbGkge1xyXG4gICAgcGFkZGluZy10b3A6IDEycHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmxhbmd1YWdlX19kcm9wZG93biBidXR0b24ge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNXMgZWFzZS1pbjtcclxuXHJcbiAgY29sb3I6ICMwMDAwMDA7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICBmb250OiBpbmhlcml0O1xyXG59XHJcblxyXG4ubGFuZ3VhZ2VfX2Ryb3Bkb3duIGJ1dHRvbjpob3ZlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLmxhbmd1YWdlX19kcm9wZG93biBidXR0b246YWN0aXZlIHtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xyXG59XHJcblxyXG4ubGFuZ3VhZ2VfX2Ryb3Bkb3duIGJ1dHRvbjpsYXN0LWNoaWxkIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uYXJyb3dkb3duIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogNjY2O1xyXG4gIGJvdHRvbTogNTBweDtcclxuXHJcbiAgQGluY2x1ZGUgdWwtbWluIHtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSB1bC1sZyB7XHJcbiAgICByaWdodDogMjBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbGctbWQge1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAvL0BtZWRpYSAobWF4LXdpZHRoOiAyNjAwcHgpIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcclxuICAvLyAgcmlnaHQ6IDE5NXB4O1xyXG4gIC8vfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDoxMzQxcHgpIGFuZCAobWF4LXdpZHRoOjE1MDBweCkge1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogNDY1cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0NjRweCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5hcnJvd3VwIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogNjtcclxuXHJcbiAgQGluY2x1ZGUgbGctbWluIHtcclxuICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgYm90dG9tOiAtMzQwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGxnLW1kIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgYm90dG9tOiAtMzQwcHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA4MzBweCkge1xyXG4gICAgYm90dG9tOiAtMzUwcHghaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogNTMycHgpIGFuZCAobWF4LXdpZHRoOiA3NjcuNXB4KSB7XHJcbiAgICBib3R0b206IC0zNTBweCFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMTVweDtcclxuICB9XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNTMxcHgpIHtcclxuICAgIGJvdHRvbTogLTQ5NXB4IWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnBvcnRmb2xpby13cmFwcGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICBtYXJnaW4tdG9wOiA0MHB4O1xyXG5cclxuICBhLnBvcnRmb2xpb19fbGluayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcclxuXHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgY29sb3I6ICMwMDAwMDA7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6IFwiUGFudG9uXCI7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAycHg7XHJcblxyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG5cclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgY29sb3I6ICMzYzM2MzY7XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNjMzYzNjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6ICM5NDg2ODY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubG9nb2Jsb2NrIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IC0xMyU7XHJcblxyXG4gIEBpbmNsdWRlIGxnLW1kIHtcclxuICAgIGxlZnQ6IC0xNSU7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZC1zbSB7XHJcbiAgICBsZWZ0OiAtMTclO1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQzMHB4KSBhbmQgKG1pbi13aWR0aDogMzIwcHgpIHtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IC0xOSU7XHJcbiAgfVxyXG59XHJcblxyXG4ub3ZlcmZsb3dibG9jayB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ucGFnZV9fZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9faW5mbyAuc29jaWFsc19fbGlzdCBwb2x5Z29uIHtcclxuICAgIGZpbGw6ICNmZmYhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2xpZGVyX19hcnJvdy1zdGF0aWMge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5yZXRpbmEge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAyNjAwcHgpIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcclxuICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy90b3A6IDA7XHJcbiAgICAvL2xlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDE5MjBweCkgYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8ucmV0aW5hLW5vbmUge1xyXG4vLyAgQG1lZGlhIChtYXgtd2lkdGg6IDI2MDBweCkgYW5kIChtaW4td2lkdGg6IDE5MjFweCkge1xyXG4vLyAgICBkaXNwbGF5OiBub25lO1xyXG4vLyAgfVxyXG4vL31cclxuIiwiLyogdWwgKi9cclxuQG1peGluIHVsLW1pbiB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICR1bCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWwge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdWwgLSAwLjIpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHVsLXhsIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHVsIC0gMC4yKSBhbmQgKG1pbi13aWR0aDogJHhsKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1bC1sZyB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR1bCAtIDAuMikgYW5kIChtaW4td2lkdGg6ICRsZykge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdWwtbWQge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkdWwgLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkbWQpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHVsLXNtIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHVsIC0gMC4yKSBhbmQgKG1pbi13aWR0aDogJHNtKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1bC14cyB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR1bCAtIDAuMikgYW5kIChtaW4td2lkdGg6ICR4cykge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKiB4bCAqL1xyXG5AbWl4aW4geGwtbWluIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHhsKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4bCB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR4bCAtIDAuMikge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4geGwtbGcge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwgLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkbGcpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHhsLW1kIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHhsIC0gMC4yKSBhbmQgKG1pbi13aWR0aDogJG1kKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4bC1zbSB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR4bCAtIDAuMikgYW5kIChtaW4td2lkdGg6ICRzbSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4geGwteHMge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwgLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkeHMpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLyogbGcgKi9cclxuQG1peGluIGxnLW1pbiB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRsZykge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcgLSAwLjIpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGxnLW1kIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJGxnIC0gMC4yKSBhbmQgKG1pbi13aWR0aDogJG1kKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBsZy1zbSB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRsZyAtIDAuMikgYW5kIChtaW4td2lkdGg6ICRzbSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGcteHMge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcgLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkeHMpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5AbWl4aW4gbGcteHgge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRsZyAtIDAuMikgYW5kIChtaW4td2lkdGg6ICR4eCkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBtZCAqL1xyXG5AbWl4aW4gbWQtbWluIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJG1kKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZCB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZCAtIDAuMikge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWQtc20ge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQgLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkc20pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1kLXhzIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJG1kIC0gMC4yKSBhbmQgKG1pbi13aWR0aDogJHhzKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZC14eCB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZCAtIDAuMikgYW5kIChtaW4td2lkdGg6ICR4eCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBzbSAqL1xyXG5AbWl4aW4gc20tbWluIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNtKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBzbSB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbSAtIDAuMikge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc20teHMge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc20gLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkeHMpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNtLXh4IHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtIC0gMC4yKSBhbmQgKG1pbi13aWR0aDogJHh4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiB4cyAqL1xyXG5AbWl4aW4geHMtbWluIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogJHhzKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4cyB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cyAtIDAuMikge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4geHMteHgge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMgLSAwLjIpIGFuZCAobWluLXdpZHRoOiAkeHgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIHh4ICovXHJcbkBtaXhpbiB4eC1taW4ge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkeHgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5AbWl4aW4geHgge1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkeHggLSAwLjIpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxDQUFDLGtDQUFJO0FDQVosUUFBUTtBQTJDUixRQUFRO0FBcUNSLFFBQVE7QUFvQ1IsUUFBUTtBQStCUixRQUFRO0FBMEJSLFFBQVE7QUFvQlIsUUFBUTtBRHZMUixBQUFBLFdBQVcsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0NBQ25COztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsV0FBVyxFQUFFLENBQUM7RUFDZCxjQUFjLEVBQUUsSUFBSTtDQUNyQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsY0FBYyxFQUFF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 */
