.p-contents {
  background-color: rgba(113, 183, 225, 0.15);
}
@media (min-width: 48em) {
  .p-contents {
    background-image: url("../../../../assets/images/pages/faq/contents_bg.png");
    background-position: 50% 0;
    background-size: contain;
  }
}

.p-contents__container {
  padding: 136px 20px 65px;
}
@media (min-width: 48em) {
  .p-contents__container {
    width: 1100px;
    padding: 150px 0 120px;
    margin: 0 auto;
  }
}

.p-contents__inner {
  margin-top: 45px;
}
@media (min-width: 48em) {
  .p-contents__inner {
    margin-top: 42px;
  }
}

.p-contents__list {
  border-bottom: 1px solid #71b7e1;
}

.p-contents__heading {
  position: relative;
  display: flex;
  align-items: center;
  padding: 15px 30px 15px 0;
}
@media (min-width: 48em) {
  .p-contents__heading {
    padding: 24px 140px 25px 0;
    cursor: pointer;
    transition: color 0.3s;
  }
}
.p-contents__heading::before, .p-contents__heading::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 2px;
  content: "";
  background-color: #2f6ec6;
  transition: transform 0.3s;
  transform: translateY(-50%);
}
@media (min-width: 48em) {
  .p-contents__heading::before, .p-contents__heading::after {
    width: 30px;
  }
}
.p-contents__heading::after {
  margin-top: -1px;
  transform: rotate(-90deg);
}
@media (min-width: 48em) {
  .p-contents__heading:hover {
    color: #004098;
  }
}
.p-contents__heading.is-active {
  color: #004098;
}
.p-contents__heading.is-active::after {
  transform: rotate(0);
}

.p-contents__heading-en {
  margin-right: 12px;
  font-size: 2.2rem;
  font-weight: 800;
  color: #71b7e1;
}
@media (min-width: 48em) {
  .p-contents__heading-en {
    margin-right: 17px;
    font-size: 3rem;
  }
}

.p-contents__heading-ja {
  font-size: 1.4rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media (min-width: 48em) {
  .p-contents__heading-ja {
    font-size: 1.6rem;
  }
}

.p-contents__content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s;
}
.p-contents__content.is-active {
  overflow: visible;
}

.p-contents__content-inner {
  display: flex;
  padding-bottom: 20px;
}
@media (min-width: 48em) {
  .p-contents__content-inner {
    padding-right: 80px;
    padding-bottom: 40px;
  }
}

.p-contents__content-en {
  margin-top: -9px;
  margin-right: 12px;
  font-size: 2.2rem;
  font-weight: 800;
  color: #2f6ec6;
}
@media (min-width: 48em) {
  .p-contents__content-en {
    margin-top: -14px;
    margin-right: 17px;
    font-size: 3rem;
  }
}

.p-contents__content-body {
  font-size: 1.4rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
@media (min-width: 48em) {
  .p-contents__content-body {
    font-size: 1.6rem;
  }
}
.p-contents__content-body:nth-child(n+2) {
  margin-top: 20px;
}
@media (min-width: 48em) {
  .p-contents__content-body:nth-child(n+2) {
    margin-top: 25px;
  }
}

.p-contents__content img {
  width: 100%;
  height: auto;
  margin: 10px 0 30px;
}

.p-contents__content-body a {
  color: #004098;
  text-decoration: underline;
}

.p-contents__content-body a:hover {
  text-decoration: none;
}

.p-contents__content-body a.link_faq {
  position: relative;
  display: inline-block;
  padding: 0 0 0 20px;
  vertical-align: middle;
}
.p-contents__content-body a.link_faq::before {
  position: absolute;
  top: 11px;
  left: 3px;
  width: 8px;
  height: 8px;
  vertical-align: middle;
  content: "";
  border-top: 2px solid #004098;
  border-right: 2px solid #004098;
  transform: rotate(45deg);
}
.p-contents__content-body a.link_faq::after {
  position: absolute;
  top: 0;
  bottom: 0;
  vertical-align: middle;
  content: "";
}

.p-header__heading {
  line-height: 1;
}

.p-header__heading-en {
  display: block;
}

.p-header__heading-en img {
  width: 28px;
}
@media (min-width: 48em) {
  .p-header__heading-en img {
    width: 37px;
  }
}

.p-header__heading-ja {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-top: 15px;
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.07em;
}
@media (min-width: 48em) {
  .p-header__heading-ja {
    margin-top: 31px;
    font-size: 6rem;
  }
}
.p-header__heading-ja::before {
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 14px;
  content: "";
  background-color: #fdeb5e;
}
@media (min-width: 48em) {
  .p-header__heading-ja::before {
    bottom: -5px;
    height: 28px;
  }
}

.p-header__anchors {
  margin-top: 15px;
}
@media (min-width: 48em) {
  .p-header__anchors {
    margin-top: 50px;
  }
}

.p-header__anchor {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 54px;
  font-size: 1.5rem;
  font-weight: 700;
  color: #004098;
  letter-spacing: 0.15em;
  border: 2px solid currentColor;
  border-radius: 999px;
}
@media (min-width: 48em) {
  .p-header__anchor {
    width: 31.4%;
    height: 70px;
    font-size: 1.8rem;
    transition: all 0.3s;
  }
}
.p-header__anchor:nth-child(2) {
  margin-top: 15px;
}
@media (min-width: 48em) {
  .p-header__anchor:nth-child(2) {
    margin-top: 0;
    margin-left: 25px;
  }
}
.p-header__anchor:nth-child(3) {
  margin-top: 15px;
}
@media (min-width: 48em) {
  .p-header__anchor:nth-child(3) {
    margin-top: 0;
    margin-left: 25px;
  }
}
.p-header__anchor:nth-child(4) {
  margin-top: 15px;
}
@media (min-width: 48em) {
  .p-header__anchor:nth-child(4) {
    margin-top: 25px;
    margin-left: 0;
  }
}
.p-header__anchor:nth-child(5) {
  margin-top: 15px;
}
@media (min-width: 48em) {
  .p-header__anchor:nth-child(5) {
    margin-top: 25px;
    margin-left: 25px;
  }
}
@media (min-width: 48em) {
  .p-header__anchor:hover {
    color: #fff;
    background-color: #004098;
    border: 2px solid #004098;
  }
}

.p-header__anchor svg {
  position: absolute;
  top: 50%;
  right: 27px;
  stroke: #004098;
  transform: translateY(-50%) rotate(90deg);
}
@media (min-width: 48em) {
  .p-header__anchor svg {
    right: 29px;
    width: 12px;
    height: 15px;
    transition: stroke 0.3s;
  }
}

@media (min-width: 48em) {
  .p-header__anchor:hover svg {
    stroke: #fff;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zdHlsZXMvcGFnZXMvZmFxL19jb250ZW50cy5zY3NzIiwiYXNzZXRzL3N0eWxlcy9wYWdlcy9mYXEvc3R5bGUuY3NzIiwibm9kZV9tb2R1bGVzL3Nhc3MtbXEvX21xLnNjc3MiLCJhc3NldHMvc3R5bGVzL3BhZ2VzL2ZhcS9faGVhZGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSwyQ0FBQTtBQ0NGO0FDK09RO0VGalBSO0lBSUksOEVBQUE7SUFDQSwwQkFBQTtJQUNBLHdCQUFBO0VDRUY7QUFDRjs7QURDQTtFQUNFLHdCQUFBO0FDRUY7QUNvT1E7RUZ2T1I7SUFJSSxhQUFBO0lBQ0Esc0JBQUE7SUFDQSxjQUFBO0VDR0Y7QUFDRjs7QURBQTtFQUNFLGdCQUFBO0FDR0Y7QUN5TlE7RUY3TlI7SUFJSSxnQkFBQTtFQ0lGO0FBQ0Y7O0FEREE7RUFDRSxnQ0FBQTtBQ0lGOztBRERBO0VBQ0Usa0JBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtBQ0lGO0FDeU1RO0VGak5SO0lBT0ksMEJBQUE7SUFDQSxlQUFBO0lBQ0Esc0JBQUE7RUNLRjtBQUNGO0FESEU7RUFFRSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtFQUNBLDJCQUFBO0FDSUo7QUN1TFE7RUZyTU47SUFhSSxXQUFBO0VDS0o7QUFDRjtBREZFO0VBQ0UsZ0JBQUE7RUFDQSx5QkFBQTtBQ0lKO0FDOEtRO0VGL0tOO0lBRUksY0FBQTtFQ0dKO0FBQ0Y7QURBRTtFQUNFLGNBQUE7QUNFSjtBREFJO0VBQ0Usb0JBQUE7QUNFTjs7QURHQTtFQUNFLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7QUNBRjtBQzRKUTtFRmhLUjtJQU9JLGtCQUFBO0lBQ0EsZUFBQTtFQ0NGO0FBQ0Y7O0FERUE7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0VB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SUFRSSxXQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSx1QkFBQTtFRjRNRjtBQUNGOztBQ2hHUTtFQ3pHUjtJQUVJLFlBQUE7RUY0TUY7QUFDRiIsImZpbGUiOiJhc3NldHMvc3R5bGVzL3BhZ2VzL2ZhcS9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucC1jb250ZW50cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEzLCAxODMsIDIyNSwgMC4xNSk7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9jcm93ZGZ1bmRpbmcvYXNzZXRzL2ltYWdlcy9wYWdlcy9mYXEvY29udGVudHNfYmcucG5nJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG59XG5cbi5wLWNvbnRlbnRzX19jb250YWluZXIge1xuICBwYWRkaW5nOiAxMzZweCAyMHB4IDY1cHg7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICB3aWR0aDogMTEwMHB4O1xuICAgIHBhZGRpbmc6IDE1MHB4IDAgMTIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLnAtY29udGVudHNfX2lubmVyIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIG1hcmdpbi10b3A6IDQycHg7XG4gIH1cbn1cblxuLnAtY29udGVudHNfX2xpc3Qge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzcxYjdlMTtcbn1cblxuLnAtY29udGVudHNfX2hlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHggMzBweCAxNXB4IDA7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBwYWRkaW5nOiAyNHB4IDE0MHB4IDI1cHggMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY2ZWM2O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgIGNvbG9yOiAjMDA0MDk4O1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogIzAwNDA5ODtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgfVxufVxuXG4ucC1jb250ZW50c19faGVhZGluZy1lbiB7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjNzFiN2UxO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG4ucC1jb250ZW50c19faGVhZGluZy1qYSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuXG4ucC1jb250ZW50c19fY29udGVudCB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3M7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWVuIHtcbiAgbWFyZ2luLXRvcDogLTlweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICMyZjZlYzY7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICBtYXJnaW4tdG9wOiAtMTRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWJvZGllcyB7XG4gIC8vXG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWJvZHkge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cblxuICAmOm50aC1jaGlsZChuICsgMikge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICB9XG4gIH1cbn1cblxuLnAtY29udGVudHNfX2NvbnRlbnQgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAxMHB4IDAgMzBweDtcbn1cblxuLnAtY29udGVudHNfX2NvbnRlbnQtYm9keSBhIHtcbiAgY29sb3I6ICMwMDQwOTg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucC1jb250ZW50c19fY29udGVudC1ib2R5IGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWJvZHkgYS5saW5rX2ZhcSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiAzcHg7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDA0MDk4O1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMwMDQwOTg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cbiIsIi5wLWNvbnRlbnRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMTMsIDE4MywgMjI1LCAwLjE1KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wLWNvbnRlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY3Jvd2RmdW5kaW5nL2Fzc2V0cy9pbWFnZXMvcGFnZXMvZmFxL2NvbnRlbnRzX2JnLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbn1cblxuLnAtY29udGVudHNfX2NvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEzNnB4IDIwcHggNjVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wLWNvbnRlbnRzX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMTAwcHg7XG4gICAgcGFkZGluZzogMTUwcHggMCAxMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG4ucC1jb250ZW50c19faW5uZXIge1xuICBtYXJnaW4tdG9wOiA0NXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtY29udGVudHNfX2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiA0MnB4O1xuICB9XG59XG5cbi5wLWNvbnRlbnRzX19saXN0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM3MWI3ZTE7XG59XG5cbi5wLWNvbnRlbnRzX19oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDMwcHggMTVweCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtY29udGVudHNfX2hlYWRpbmcge1xuICAgIHBhZGRpbmc6IDI0cHggMTQwcHggMjVweCAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuICB9XG59XG4ucC1jb250ZW50c19faGVhZGluZzo6YmVmb3JlLCAucC1jb250ZW50c19faGVhZGluZzo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY2ZWM2O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtY29udGVudHNfX2hlYWRpbmc6OmJlZm9yZSwgLnAtY29udGVudHNfX2hlYWRpbmc6OmFmdGVyIHtcbiAgICB3aWR0aDogMzBweDtcbiAgfVxufVxuLnAtY29udGVudHNfX2hlYWRpbmc6OmFmdGVyIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wLWNvbnRlbnRzX19oZWFkaW5nOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwNDA5ODtcbiAgfVxufVxuLnAtY29udGVudHNfX2hlYWRpbmcuaXMtYWN0aXZlIHtcbiAgY29sb3I6ICMwMDQwOTg7XG59XG4ucC1jb250ZW50c19faGVhZGluZy5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG59XG5cbi5wLWNvbnRlbnRzX19oZWFkaW5nLWVuIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICM3MWI3ZTE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1jb250ZW50c19faGVhZGluZy1lbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG4ucC1jb250ZW50c19faGVhZGluZy1qYSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1jb250ZW50c19faGVhZGluZy1qYSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cblxuLnAtY29udGVudHNfX2NvbnRlbnQge1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjNzO1xufVxuLnAtY29udGVudHNfX2NvbnRlbnQuaXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1jb250ZW50c19fY29udGVudC1pbm5lciB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4ucC1jb250ZW50c19fY29udGVudC1lbiB7XG4gIG1hcmdpbi10b3A6IC05cHg7XG4gIG1hcmdpbi1yaWdodDogMTJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjMmY2ZWM2O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtY29udGVudHNfX2NvbnRlbnQtZW4ge1xuICAgIG1hcmdpbi10b3A6IC0xNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTdweDtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuLnAtY29udGVudHNfX2NvbnRlbnQtYm9keSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1jb250ZW50c19fY29udGVudC1ib2R5IHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuLnAtY29udGVudHNfX2NvbnRlbnQtYm9keTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1jb250ZW50c19fY29udGVudC1ib2R5Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMTBweCAwIDMwcHg7XG59XG5cbi5wLWNvbnRlbnRzX19jb250ZW50LWJvZHkgYSB7XG4gIGNvbG9yOiAjMDA0MDk4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnAtY29udGVudHNfX2NvbnRlbnQtYm9keSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucC1jb250ZW50c19fY29udGVudC1ib2R5IGEubGlua19mYXEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5wLWNvbnRlbnRzX19jb250ZW50LWJvZHkgYS5saW5rX2ZhcTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDExcHg7XG4gIGxlZnQ6IDNweDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDA0MDk4O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMDA0MDk4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4ucC1jb250ZW50c19fY29udGVudC1ib2R5IGEubGlua19mYXE6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnAtaGVhZGVyX19oZWFkaW5nIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5wLWhlYWRlcl9faGVhZGluZy1lbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucC1oZWFkZXJfX2hlYWRpbmctZW4gaW1nIHtcbiAgd2lkdGg6IDI4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1oZWFkZXJfX2hlYWRpbmctZW4gaW1nIHtcbiAgICB3aWR0aDogMzdweDtcbiAgfVxufVxuXG4ucC1oZWFkZXJfX2hlYWRpbmctamEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19oZWFkaW5nLWphIHtcbiAgICBtYXJnaW4tdG9wOiAzMXB4O1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgfVxufVxuLnAtaGVhZGVyX19oZWFkaW5nLWphOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTNweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGViNWU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1oZWFkZXJfX2hlYWRpbmctamE6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAtNXB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgfVxufVxuXG4ucC1oZWFkZXJfX2FuY2hvcnMge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3JzIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG59XG5cbi5wLWhlYWRlcl9fYW5jaG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU0cHg7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwNDA5ODtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wLWhlYWRlcl9fYW5jaG9yIHtcbiAgICB3aWR0aDogMzEuNCU7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICB9XG59XG4ucC1oZWFkZXJfX2FuY2hvcjpudGgtY2hpbGQoMikge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3I6bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICB9XG59XG4ucC1oZWFkZXJfX2FuY2hvcjpudGgtY2hpbGQoMykge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3I6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICB9XG59XG4ucC1oZWFkZXJfX2FuY2hvcjpudGgtY2hpbGQoNCkge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3I6bnRoLWNoaWxkKDQpIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4ucC1oZWFkZXJfX2FuY2hvcjpudGgtY2hpbGQoNSkge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3I6bnRoLWNoaWxkKDUpIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucC1oZWFkZXJfX2FuY2hvcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDA5ODtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA0MDk4O1xuICB9XG59XG5cbi5wLWhlYWRlcl9fYW5jaG9yIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAyN3B4O1xuICBzdHJva2U6ICMwMDQwOTg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoOTBkZWcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3Igc3ZnIHtcbiAgICByaWdodDogMjlweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlIDAuM3M7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnAtaGVhZGVyX19hbmNob3I6aG92ZXIgc3ZnIHtcbiAgICBzdHJva2U6ICNmZmY7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy9cbi8vLyBEbyBub3Qgb3ZlcnJpZGUgdGhpcyB2YWx1ZSwgb3IgdGhpbmdzIHdpbGwgYnJlYWtcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMlxuLy8vIEBkZXByZWNhdGVkIFRoaXMgc2V0dGluZyB3aWxsIGJlIHJlbW92ZWQgaW4gc2Fzcy1tcSB2Ni4wLjBcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoc3VjaCBhcyB0aGUgbGF5b3V0KSBhdCB0YWJsZXQgd2lkdGhcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gdGFibGV0XG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcblxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vL1xuLy8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcbi8vLyB0byB0aGlzIGxpc3QsIG9yZGVyZWQgYnkgd2lkdGguIEZvciBleGFtcGxlOiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgJG1xLXNob3ctYnJlYWtwb2ludHM6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCk7XG4vLy8gICBAaW1wb3J0ICdwYXRoL3RvL21xJztcbi8vL1xuLy8vIEB0eXBlIG1hcFxuJG1xLXNob3ctYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChmb3IgZXhhbXBsZTogYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAaWdub3JlIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgWyRtcS1iYXNlLWZvbnQtc2l6ZV0gLSBgPGJvZHk+YCBmb250IHNpemUgKGRlcHJlY2F0ZWQpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgKCRtcS1iYXNlLWZvbnQtc2l6ZSAhPSAxNnB4KSB7XG4gICAgICAgIEB3YXJuIFwiT3ZlcnJpZGluZyAkbXEtYmFzZS1mb250LXNpemUgd2lsbCBicmVhayB0aGluZ3MsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjIuXCI7XG4gICAgfVxuICAgIEBpZiAoJGJhc2UtZm9udC1zaXplICE9IDE2cHgpIHtcbiAgICAgICAgQHdhcm4gXCJUaGUgJGJhc2UtZm9udC1zaXplIGFyZ3VtZW50IHdpbGwgYmUgcmVtb3ZlZCBpbiBzYXNzLW1xIHY2LjAuMCwgYXMgb3ZlcnJpZGluZyBpdCBicmVha3MgdGhpbmdzLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyLlwiO1xuICAgIH1cbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSBbZmFsc2VdIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIFtmYWxzZV0gLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIFtmYWxzZV0gLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgWyRtcS1tZWRpYS10eXBlXSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJG1xLWJyZWFrcG9pbnRzXVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCBbJG1xLXN0YXRpYy1icmVha3BvaW50XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgWyRtcS1zaG93LWJyZWFrcG9pbnRzXSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgWyRtcS1icmVha3BvaW50c10gLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsIi5wLWhlYWRlcl9faGVhZGluZyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4ucC1oZWFkZXJfX2hlYWRpbmctZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnAtaGVhZGVyX19oZWFkaW5nLWVuIGltZyB7XG4gIHdpZHRoOiAyOHB4O1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgd2lkdGg6IDM3cHg7XG4gIH1cbn1cblxuLnAtaGVhZGVyX19oZWFkaW5nLWphIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIG1hcmdpbi10b3A6IDMxcHg7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtM3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGViNWU7XG5cbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucC1oZWFkZXJfX2FuY2hvcnMge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxufVxuXG4ucC1oZWFkZXJfX2FuY2hvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1NHB4O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMwMDQwOTg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG5cbiAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICB3aWR0aDogMzEuNCU7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoMikge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gICY6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgbXEobWQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICB9XG4gIH1cblxuICAmOm50aC1jaGlsZCg0KSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpudGgtY2hpbGQoNSkge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtcShtZCkge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIG1xKG1kKSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDQwOTg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDA0MDk4O1xuICAgIH1cbiAgfVxufVxuXG4ucC1oZWFkZXJfX2FuY2hvciBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogMjdweDtcbiAgc3Ryb2tlOiAjMDA0MDk4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTtcblxuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHJpZ2h0OiAyOXB4O1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICB0cmFuc2l0aW9uOiBzdHJva2UgMC4zcztcbiAgfVxufVxuXG4ucC1oZWFkZXJfX2FuY2hvcjpob3ZlciBzdmcge1xuICBAaW5jbHVkZSBtcShtZCkge1xuICAgIHN0cm9rZTogI2ZmZjtcbiAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIvLiJ9 */
