@charset "UTF-8";
/* ======================================================================
 p-top
====================================================================== */
.l-header {
  opacity: 0;
  -webkit-transition: opacity 1.5s ease, background-color 0.4s ease;
  transition: opacity 1.5s ease, background-color 0.4s ease;
  /* SP では transform を当てない。
     親に transform があると内側の position:fixed (ハンバーガー) が
     ビューポート基準ではなく親基準になり追従しなくなるため。 */
}
@media screen and (min-width: 768px) {
  .l-header {
    -webkit-transition: opacity 1.5s ease, background-color 0.4s ease, -webkit-transform 1s ease;
    transition: opacity 1.5s ease, background-color 0.4s ease, -webkit-transform 1s ease;
    transition: opacity 1.5s ease, transform 1s ease, background-color 0.4s ease;
    transition: opacity 1.5s ease, transform 1s ease, background-color 0.4s ease, -webkit-transform 1s ease;
    -webkit-transform: translateY(-3rem);
    transform: translateY(-3rem);
  }
}
.l-header.is-visible {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .l-header.is-visible {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.l-content {
  background: transparent;
}

/* =================================
 main-visual-bg-bottom (main-visual 直下から続く背景。
   mv-bg.jpg を上下反転して main-visual 末端と色を揃え、
   そこから元の画像上端方向（明るい側）へ滑らかに繋ぐ。
   フェードインは .main-visual の .is-finished と同タイミング)
================================= */
.main-visual-bg-bottom {
  position: absolute;
  top: calc(max(100vh, 104.5833333333vw) - 1px);
  left: 0;
  z-index: -2;
  width: 100%;
  height: max(100vh, 104.5833333333vw);
  background: url("/contents/assets/img/p-top/mv-bg.jpg") center/100% 100% no-repeat;
  opacity: 0;
  -webkit-transition: opacity 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out;
  -webkit-transform: scaleY(-1);
  transform: scaleY(-1);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .main-visual-bg-bottom {
    top: calc(444.5333333333vw - 1px);
    height: 444.5333333333vw;
    background-image: url("/contents/assets/img/p-top/sp/mv-bg.jpg");
  }
}
.main-visual-bg-bottom.is-finished {
  opacity: 1;
}

/* =================================
 main-visual
================================= */
.main-visual-wrap {
  position: relative;
  z-index: -1;
  overflow: visible;
  width: 100%;
  height: max(100vh, 52.0833333333vw);
}
@media screen and (max-width: 767px) {
  .main-visual-wrap {
    max-height: 100vh;
    height: 210.9333333333vw;
  }
}

.main-visual {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: max(100vh, 104.5833333333vw);
}
@media screen and (max-width: 767px) {
  .main-visual {
    height: 444.5333333333vw;
  }
}
.main-visual__splash {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  -webkit-transition: visibility 0s 1.5s;
  transition: visibility 0s 1.5s;
}
.main-visual__splash::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("/contents/assets/img/p-top/sp/mv-bg.jpg") center/cover no-repeat;
  content: "";
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
.main-visual__splash-inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 60rem;
  height: 40rem;
}
.main-visual__logo {
  z-index: 101;
  width: 34.5rem;
  opacity: 0;
  -webkit-transition: opacity 1s ease-out 0.5s, -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1s ease-out 0.5s, -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1s ease-out 0.5s, transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1s ease-out 0.5s, transform 1s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (max-width: 767px) {
  .main-visual__logo {
    width: 51.2vw;
  }
}
.main-visual__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.main-visual__circle {
  position: absolute;
  width: 50.9rem;
  height: 50.9rem;
  -webkit-transition: opacity 1s cubic-bezier(0.65, 0, 0.35, 1);
  transition: opacity 1s cubic-bezier(0.65, 0, 0.35, 1);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
@media screen and (max-width: 767px) {
  .main-visual__circle {
    width: 80vw;
    height: 80vw;
  }
}
.main-visual__circle-path {
  -webkit-transition: stroke-dashoffset 0.85s cubic-bezier(0.65, 0, 0.35, 1);
  transition: stroke-dashoffset 0.85s cubic-bezier(0.65, 0, 0.35, 1);
  fill: none;
  stroke: #2da4e3;
  stroke-width: 2.2;
  stroke-dasharray: 1445; /* 2 * PI * 230 */
  stroke-linecap: round;
  stroke-dashoffset: 1450;
  stroke-opacity: 0;
}
.main-visual__viewport {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .main-visual__viewport {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: none;
    transform: none;
  }
}
.main-visual__canvas {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* Three.js が生成する canvas を 1枚の画像のように cover で伸縮 */
}
.main-visual__canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.main-visual__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.main-visual__title {
  position: absolute;
  /* iOS Safari 等でアドレスバーを含む 100vh だと h1 が画面外に見切れるため、
     実表示域基準の dvh を使う。dvh 非対応ブラウザ用に vh を先に書いてフォールバックする。 */
  top: calc(100vh - 4.39238653vw);
  top: calc(100dvh - 4.39238653vw);
  right: max(6rem, 4.39238653vw);
  z-index: 10;
  width: max(56.333rem, 41.2393850659vw);
  height: auto;
  opacity: 0;
  -webkit-filter: brightness(0);
  filter: brightness(0);
  -webkit-transition: opacity 1.5s ease, -webkit-transform 1s ease, -webkit-filter 0.3s ease;
  transition: opacity 1.5s ease, -webkit-transform 1s ease, -webkit-filter 0.3s ease;
  transition: opacity 1.5s ease, transform 1s ease, filter 0.3s ease;
  transition: opacity 1.5s ease, transform 1s ease, filter 0.3s ease, -webkit-transform 1s ease, -webkit-filter 0.3s ease;
  -webkit-transform: translateY(-70%);
  transform: translateY(-70%);
}
.main-visual__title:has(.main-visual__title-link:hover) {
  -webkit-filter: none;
  filter: none;
}
@media screen and (max-width: 767px) {
  .main-visual__title {
    top: calc(100vh - 4vw);
    top: calc(100dvh - 4vw);
    right: 4vw;
    width: 92vw;
  }
}
@media screen and (max-height: 700px) and (min-width: 768px) {
  .main-visual__title {
    top: calc(100vh - 2vw);
    top: calc(100dvh - 2vw);
    right: max(4rem, 2.9282576867vw);
  }
}
.main-visual__title img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}
.main-visual__title-link {
  display: block;
}
.main-visual {
  /* 起動アニメーション */
}
.main-visual.is-loading .main-visual__logo {
  /* フェードインは遅延なし */
  -webkit-transition: opacity 1s ease-out, -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1s ease-out, -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1s ease-out, transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1s ease-out, transform 1.2s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.main-visual {
  /* 完了後のフェードアウト
     - splash::before（背景）と circle は同時にフェード
     - logo は &__logo の transition-delay により遅れてフェード
     - splash 自体は visibility:hidden で全フェード完了後に非表示 */
}
.main-visual.is-finished .main-visual__splash {
  visibility: hidden;
}
.main-visual.is-finished .main-visual__splash::before {
  opacity: 0;
}
.main-visual.is-finished .main-visual__circle {
  opacity: 0;
}
.main-visual.is-finished .main-visual__viewport {
  opacity: 1;
  -webkit-transition: opacity 1.5s ease-in-out;
  transition: opacity 1.5s ease-in-out;
}
.main-visual.is-title-visible .main-visual__title {
  opacity: 1;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

/* =================================
 about
================================= */
.about {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 20rem 56rem 17.5rem 0;
  max-width: 152.1rem;
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .about {
    padding-right: calc((100vw - 10rem) * 56 / 123);
  }
}
@media screen and (max-width: 767px) {
  .about {
    padding: 8.5rem 0 0;
  }
}
.about .title-1__ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.about .title-1__ja > :nth-child(1),
.about .title-1__ja > :nth-child(2) {
  width: 100%;
}
.about__text {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .about__text {
    margin-top: 2rem;
  }
}
.about__media {
  position: absolute;
  top: 22rem;
  right: 5.3rem;
  z-index: -1;
  width: 54.4rem;
  height: 60.7rem;
  pointer-events: none;
}
@media screen and (min-width: 768px) and (max-width: 1620px) {
  .about__media {
    right: -2rem;
  }
}
@media screen and (min-width: 1547px) and (max-width: 1620px) {
  .about__media {
    right: calc(100vw - 156.7rem);
  }
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .about__media {
    top: 50%;
    right: calc((100vw - 10rem) * -2 / 123);
    width: calc((100vw - 10rem) * 54.4 / 123);
    height: calc((100vw - 10rem) * 60.7 / 123);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  .about__media {
    position: relative;
    top: auto;
    right: auto;
    margin: 3rem auto 0;
    width: 22.8rem;
    height: 25.8rem;
    -webkit-transform: none;
    transform: none;
  }
}
.about__mask {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
  -webkit-mask: url("/contents/assets/img/p-top/about-mask.svg") 0 0/100% 100% no-repeat;
  mask: url("/contents/assets/img/p-top/about-mask.svg") 0 0/100% 100% no-repeat;
}
.about__image {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -38rem;
  width: 100%;
  height: 76rem;
  background: url("/contents/assets/img/p-top/about-image-2.jpg") center/cover no-repeat;
  will-change: transform;
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .about__image {
    margin-top: calc((100vw - 10rem) * -38 / 123);
    height: calc((100vw - 10rem) * 76 / 123);
  }
}
@media screen and (max-width: 767px) {
  .about__image {
    margin-top: -16rem;
    height: 32rem;
    background-image: url("/contents/assets/img/p-top/sp/about-image-2.jpg");
  }
}
.about__frame {
  position: absolute;
  top: 50%;
  left: calc(50% - 1px);
  width: 133.3rem;
  height: 127rem;
  background: url("/contents/assets/img/p-top/about-frame.svg") 0 0/100% 100% no-repeat;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .about__frame {
    width: calc((100vw - 10rem) * 133.3 / 123);
    height: calc((100vw - 10rem) * 127 / 123);
  }
}
@media screen and (max-width: 767px) {
  .about__frame {
    width: 55.9rem;
    height: 53.2rem;
  }
}

/* =================================
 title-1
================================= */
.title-1__en {
  position: relative;
  margin-left: 2.5rem;
  color: #222;
  font-weight: 400;
  font-size: 1.6rem;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .title-1__en {
    margin-left: 2rem;
    font-size: 1.4rem;
  }
}
.title-1__en::before {
  position: absolute;
  top: 0;
  left: -2.5rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.3rem;
  background: -webkit-gradient(linear, left top, right top, from(#2da4e3), to(#78dade));
  background: linear-gradient(to right, #2da4e3, #78dade);
  content: "";
}
@media screen and (max-width: 767px) {
  .title-1__en::before {
    top: 0.05rem;
    left: -1.8rem;
    width: 1rem;
    height: 1rem;
  }
}
.title-1__ja {
  margin-top: 5.5rem;
  font-weight: bold;
  font-size: 5.2rem;
  line-height: 1.6538461538;
  word-break: auto-phrase;
}
@media screen and (min-width: 768px) and (max-width: 1330px) {
  .title-1__ja {
    margin-top: calc((100vw - 10rem) * 5.5 / 123);
    letter-spacing: calc((100vw - 10rem) * 0.2 / 123);
    font-size: calc((100vw - 10rem) * 5.2 / 123);
  }
}
@media screen and (max-width: 767px) {
  .title-1__ja {
    margin-top: 2rem;
    font-size: 3rem;
    line-height: 1.6;
  }
}

/* =================================
 l-contact（トップ専用マスク）
================================= */
#p-top .l-contact {
  margin: 0 auto;
  max-width: 130rem;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  #p-top .l-contact {
    max-width: none;
    border-radius: 0;
  }
}

/* =================================
 logo-list
================================= */
.logo-list {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .logo-list {
    margin-top: 3rem;
  }
}
.logo-list__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 152.1rem;
  color: #00b5e2;
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767px) {
  .logo-list__title {
    padding-left: 2.6rem;
    font-size: 2.4rem;
    line-height: 1.5833333333;
  }
}
.logo-list__title {
  /* コンテナ左端から 16px 左外側に右辺をそろえて置く 13×13 の白い正方形。
     自身の幅 1.3rem を差し引いて left を負方向にオフセットする */
}
.logo-list__title::before {
  position: absolute;
  top: 50%;
  left: -2.9rem;
  width: 1.3rem;
  height: 1.3rem;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  /* SP は 2 行に折り返るので、1 行目の中央 (= line-height/2 = 1.9rem) に合わせる */
}
@media screen and (max-width: 767px) {
  .logo-list__title::before {
    top: 1.9rem;
    left: 0;
  }
}
.logo-list__title {
  /* 正方形の左端から画面左端まで伸びる 1px の白い水平線。
     width で「ビューポート左端 → 正方形の左端 (= コンテナ左端 − 16px − 1.3rem)」までの距離を確保する。 */
}
.logo-list__title::after {
  position: absolute;
  top: 50%;
  left: calc(50% - 50vw);
  width: calc(50vw - 50% - 1.6rem - 1.3rem);
  height: 1px;
  background: #fff;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .logo-list__title::after {
    top: 1.9rem;
    left: -2rem;
    width: 2.6rem;
  }
}

/* =================================
 content-bg (solution + expertise を包む共通背景)
================================= */
.content-bg {
  position: relative;
  display: flow-root;
  isolation: isolate;
}
.content-bg::before {
  position: absolute;
  top: 0;
  left: calc(50% - 50vw);
  z-index: -1;
  width: 100vw;
  height: 100%;
  background: url("/contents/assets/img/p-top/content-bg.jpg") center/cover no-repeat;
  content: "";
}

/* =================================
 expertise
================================= */
.expertise {
  position: relative;
  z-index: 0;
  margin: 13.5rem auto 17rem;
  width: 100%;
  max-width: 162rem;
}
@media screen and (max-width: 767px) {
  .expertise {
    margin: 8rem auto 10rem;
    padding: 0;
  }
}
.expertise__inner {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: 50% 50%;
}
@media screen and (max-width: 767px) {
  .expertise__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}
.expertise__visual {
  position: relative;
  width: 76rem;
  height: auto;
  max-width: 100%;
}
.expertise__visual-base {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
.expertise__visual-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .expertise__visual {
    margin: 0 4rem 0 -4rem;
  }
}
.expertise__body {
  position: relative;
  padding: 0 3rem 0 12rem;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .expertise__body {
    padding: 0 2rem 0 5rem;
  }
}
@media screen and (max-width: 1150px) {
  .expertise__body {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .expertise__body {
    padding-right: 0;
    margin-left: 0;
    margin-top: 3rem;
  }
}
.expertise__title {
  font-weight: bold;
  font-size: 4.6rem;
  line-height: 1.7391304348;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .expertise__title {
    font-size: 3.8333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .expertise__title {
    font-size: 2.6rem;
    line-height: 1.6153846154;
  }
}
.expertise__desc {
  margin-top: 3.5rem;
  font-size: 1.8rem;
  line-height: 1.7777777778;
}
@media screen and (min-width: 768px) and (max-width: 1050px) {
  .expertise__desc br.u-pc {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .expertise__desc {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.expertise__button {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .expertise__button {
    margin: 3rem auto 0;
    max-width: 34.5rem;
  }
}
.expertise__label {
  position: absolute;
  top: 50%;
  right: 5rem;
  font-size: 1.6rem;
  font-family: "Montserrat", sans-serif;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .expertise__label {
    right: -3rem;
  }
}
@media screen and (max-width: 767px) {
  .expertise__label {
    display: none;
  }
}

/* =================================
 solution
================================= */
.solution {
  position: relative;
  isolation: isolate;
  margin: 16rem auto 0;
  padding: 0 2rem;
  max-width: 176rem;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}
.solution .title-1__en {
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}
.solution .title-1__ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.solution.is-bg-active {
  color: #fff;
}
.solution.is-bg-active .title-1__en {
  color: #fff;
}
.solution.is-bg-active {
  /* 背景画像が出ている間はボタンを白背景・黒文字に反転 */
}
.solution.is-bg-active .c-button-black {
  background: #fff;
  color: #222;
}
.solution.is-bg-active .c-button-black::after {
  /* invert(1) だけだと arrow-under.svg の #02b5e2 (青) が赤に反転するため
     hue-rotate(180deg) を重ねて青系を維持する */
  -webkit-filter: invert(1) hue-rotate(180deg);
  filter: invert(1) hue-rotate(180deg);
}
.solution.is-bg-active .c-button-black {
  /* ホバー時はグラデが乗るので白文字に戻す。
     アイコンも反転を解除して、白背景に青矢印（元ボタンのホバー状態）に */
}
.solution.is-bg-active .c-button-black:hover {
  color: #fff;
}
.solution.is-bg-active .c-button-black:hover::after {
  -webkit-filter: none;
  filter: none;
}
.solution.is-bg-active .solution__indicator {
  opacity: 1;
  visibility: visible;
}
.solution {
  /* 背景切替中に右端に表示するインジケーター（case スライダーのバーを縦向きにしたもの） */
}
.solution__indicator {
  position: fixed;
  top: 50%;
  right: 10rem;
  z-index: 20;
  height: 100vh;
  padding: 0.4rem 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s;
  transition: opacity 0.5s ease, visibility 0.5s;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .solution__indicator {
    display: none;
  }
}
.solution__indicator-track {
  position: relative;
  width: 2px;
  height: 100%;
  background: #fff;
}
.solution__indicator-bar {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 0;
  background: #02b5e2;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
  /* バー先端の四角はバー下端に中心を合わせる（停止位置のドットと完全に重なる） */
}
.solution__indicator-bar::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0.8rem;
  height: 0.8rem;
  background: #02b5e2;
  content: "";
  -webkit-transform: translate(-50%, 50%);
  transform: translate(-50%, 50%);
}
.solution__indicator-dot {
  position: absolute;
  left: 50%;
  z-index: 1;
  width: 0.8rem;
  height: 0.8rem;
  background: #fff;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  /* 全ドットの中心を所定の位置に揃える（バー先端と完全に重なるように） */
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  /* バーが 1/3 ずつ進むので、各ドットも 1/3 / 2/3 / 3/3 の位置に配置 */
}
.solution__indicator-dot[data-step="0"] {
  top: 33.333%;
}
.solution__indicator-dot[data-step="1"] {
  top: 66.666%;
}
.solution__indicator-dot[data-step="2"] {
  top: 100%;
}
.solution__indicator-dot.is-active {
  background: #02b5e2;
}
@media screen and (max-width: 767px) {
  .solution {
    margin-top: 9rem;
    padding: 0;
  }
}
.solution__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .solution__inner {
    display: block;
  }
}
.solution__left {
  position: sticky;
  top: 21rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 47rem;
  flex: 0 0 47rem;
}
@media screen and (max-width: 767px) {
  .solution__left {
    position: static;
    top: auto;
  }
}
.solution__left .title-1__ja {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .solution__left .title-1__ja {
    margin-top: 0.5rem;
  }
}
.solution__lead {
  margin-top: 2rem;
  font-size: 1.8rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .solution__lead {
    margin-top: 1rem;
    font-size: 1.6rem;
  }
}
.solution__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 106rem;
  flex: 0 1 106rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 24rem;
}
@media screen and (max-width: 767px) {
  .solution__right {
    gap: 5rem;
    margin-top: 4rem;
  }
}
.solution__item {
  position: sticky;
  top: 13rem;
  -webkit-transform-origin: center top;
  transform-origin: center top;
  will-change: transform, opacity, filter;
}
@media screen and (max-width: 767px) {
  .solution__item {
    position: static;
    top: auto;
    opacity: 1 !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transform: none !important;
    transform: none !important;
  }
}
.solution__image {
  aspect-ratio: 850/424;
  max-width: 85rem;
  clip-path: polygon(0 0, calc(100% - 60px) 0, 100% calc(100% - 1px), 0 calc(100% - 1px));
}
@media screen and (max-width: 767px) {
  .solution__image {
    clip-path: polygon(0 0, calc(100% - 2.5rem) 0, 100% calc(100% - 1px), 0 calc(100% - 1px));
  }
}
.solution__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.solution__title {
  position: relative;
  margin-top: 3rem;
  padding-left: 10rem;
}
@media screen and (max-width: 767px) {
  .solution__title {
    margin-top: 2rem;
    padding-left: 6.1rem;
  }
}
.solution__num {
  position: absolute;
  top: 0.5rem;
  left: 0;
  color: #00b5e2;
  font-weight: bold;
  font-size: 6rem;
  font-family: "Montserrat", sans-serif;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .solution__num {
    top: 0;
    font-size: 4rem;
  }
}
.solution__title-text {
  display: block;
  font-weight: bold;
  font-size: 4.6rem;
  line-height: 1.4347826087;
}
@media screen and (max-width: 767px) {
  .solution__title-text {
    font-size: 2.6rem;
    line-height: 1.4230769231;
  }
}
@media screen and (max-width: 767px) {
  .solution__item:nth-child(2) .solution__title-text {
    letter-spacing: -0.04em;
  }
}
.solution__catch {
  margin-top: 1.5rem;
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1.7222222222;
}
@media screen and (max-width: 767px) {
  .solution__catch {
    margin-top: 2rem;
    font-size: 2rem;
    line-height: 1.6;
  }
}
.solution__catch-txt {
  padding: 1.2rem 1rem 2.4rem;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), color-stop(1.3rem, transparent), color-stop(1.3rem, #fff), color-stop(6.9rem, #fff), color-stop(6.9rem, transparent), color-stop(7.2rem, transparent));
  background: linear-gradient(to bottom, transparent 0, transparent 1.3rem, #fff 1.3rem, #fff 6.9rem, transparent 6.9rem, transparent 7.2rem);
  color: #222;
  box-decoration-break: clone;
  word-break: auto-phrase;
  line-height: 1;
  -webkit-box-decoration-break: clone;
}
@media screen and (max-width: 767px) {
  .solution__catch-txt {
    padding: 0.8rem 0rem 1rem 0.8rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), color-stop(0.6rem, transparent), color-stop(0.6rem, #fff), color-stop(3.8rem, #fff), color-stop(3.8rem, transparent), color-stop(4.1rem, transparent));
    background: linear-gradient(to bottom, transparent 0, transparent 0.6rem, #fff 0.6rem, #fff 3.8rem, transparent 3.8rem, transparent 4.1rem);
  }
}
.solution__desc {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .solution__desc {
    margin-top: 1.5rem;
  }
}
.solution__button {
  margin-top: 4rem;
  max-width: 85rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .solution__button {
    margin-top: 3rem;
  }
}
.solution {
  /* 中型モニタ向け：左カラム幅圧縮（〜1366px） */
}
@media screen and (min-width: 768px) and (max-width: 1366px) {
  .solution__left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 33.5rem;
    flex: 0 0 33.5rem;
  }
}
.solution {
  /* 小さめモニタ向け縮小（SP 以上 / 幅 1670px 以下 or 高さ 895px 以下） */
}
@media screen and (min-width: 768px) and (max-width: 1670px), screen and (min-width: 768px) and (max-height: 895px) {
  .solution__right {
    gap: 18rem;
  }
  .solution__image {
    aspect-ratio: 850/360;
    max-width: 56rem;
  }
  .solution__title {
    margin-top: 2rem;
    padding-left: 8rem;
  }
  .solution__num {
    font-size: 4.6rem;
  }
  .solution__title-text {
    font-size: 3rem;
  }
  .solution__catch {
    margin-top: 1rem;
    font-size: 2.4rem;
  }
  .solution__catch-txt {
    padding: 0.8rem 0.7rem 1.6rem;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0, transparent), color-stop(0.9rem, transparent), color-stop(0.9rem, #fff), color-stop(4.6rem, #fff), color-stop(4.6rem, transparent), color-stop(4.9rem, transparent));
    background: linear-gradient(to bottom, transparent 0, transparent 0.9rem, #fff 0.9rem, #fff 4.6rem, transparent 4.6rem, transparent 4.9rem);
  }
  .solution__desc {
    margin-top: 1.5rem;
  }
  .solution__button {
    margin-top: 3rem;
    max-width: 56rem;
  }
}

/* =================================
 solution-bg
================================= */
.solution-bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 100vh;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.solution-bg.is-active {
  opacity: 1;
}
.solution-bg__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
}
.solution-bg__image--1 {
  background-image: url("/contents/assets/img/p-top/solution-1.jpg");
}
.solution-bg__image--2 {
  background-image: url("/contents/assets/img/p-top/solution-2.jpg");
}
.solution-bg__image--3 {
  background-image: url("/contents/assets/img/p-top/solution-3.jpg");
}
.solution-bg__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
}

/* =================================
 p-logo-slider
================================= */
.p-logo-slider {
  overflow: hidden;
  margin-top: 4rem;
  margin-left: calc(50% - 50vw);
  padding: 2rem 0;
  width: 100vw;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-logo-slider {
    margin-top: 1.5rem;
    padding: 1rem 0;
  }
}
.p-logo-slider__row + .p-logo-slider__row {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-logo-slider__row + .p-logo-slider__row {
    margin-top: 0;
  }
}
.p-logo-slider__row--bottom .p-logo-slider__track {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.p-logo-slider__row--bottom .p-logo-slider__slide img {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
}
.p-logo-slider__track:not(.slick-initialized) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.p-logo-slider__track .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-logo-slider__track .slick-slide {
  height: auto;
}
.p-logo-slider__slide {
  margin: 0 1rem;
}
.p-logo-slider__slide img {
  display: block;
  max-width: none;
  width: auto;
  height: 7.8rem;
}
@media screen and (max-width: 767px) {
  .p-logo-slider__slide img {
    height: 4.4rem;
  }
}

/* =================================
 case
================================= */
.case {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding-top: 16rem;
  padding-bottom: 16rem;
  max-width: 152rem;
}
@media screen and (max-width: 767px) {
  .case {
    padding: 10rem 0;
  }
}
.case {
  /* セクション全体の背景。ルートコンテナの padding-x を打ち消すため 100vw で中央配置 */
}
.case::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  background: #E2E4E5;
  pointer-events: none;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.case {
  /* 左側にはみ出すスライドアイテムを覆うマスク。case 左端〜ビューポート左端を埋める */
}
.case::before {
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  z-index: 1;
  width: calc(50vw - 50%);
  background: #E2E4E5;
  pointer-events: none;
  content: "";
}
@media screen and (max-width: 767px) {
  .case::before {
    display: none;
  }
}
.case__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .case__inner {
    gap: 3rem;
  }
}
.case .title-1__ja {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .case .title-1__ja {
    margin-top: 0.5rem;
  }
}
.case__button {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .case__button {
    width: 100%;
    max-width: 34.5rem;
    margin: 1rem auto 0;
  }
}

/* =================================
 case__slider（p-case-slider をトップ用にリネーム。スタイルは後で書き換え予定）
================================= */
.case__slider {
  position: relative;
  padding-top: 2rem;
}
.case__slider-list {
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .case__slider-list {
    margin-right: -10px;
  }
}
.case__slider-list .slick-list {
  overflow: unset;
}
.case__slider-list .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.case__slider-list.slick-initialized .slick-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
.case__slider-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-right: 4rem;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__slider-item {
    padding-right: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .case__slider-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 3rem;
    margin-top: 2rem;
  }
}
.case__slider-arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .case__slider-arrows {
    position: absolute;
    top: -10rem;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .case__slider-arrows {
    gap: 2rem;
  }
}
.case__slider-arrows button {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0;
  width: 5rem;
  height: 5rem;
  border: none;
  border-radius: 50%;
  background-color: #222;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
  .case__slider-arrows button {
    width: 3.2rem;
    height: 3.2rem;
  }
}
@media (hover: hover) {
  .case__slider-arrows button:hover {
    background-color: #fff;
  }
  .case__slider-arrows button:hover::before, .case__slider-arrows button:hover::after {
    background-color: #222;
    -webkit-animation: case-slider-arrow-loop 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    animation: case-slider-arrow-loop 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .case__slider-arrows button:hover::after {
    border-color: #222;
    background-color: transparent;
  }
}
.case__slider-arrows button img {
  display: none;
}
.case__slider-arrows button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.6rem;
  height: 2px;
  background-color: #fff;
  content: "";
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.case__slider-arrows button::after {
  position: absolute;
  top: 50%;
  width: 0.9rem;
  height: 0.9rem;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
  -webkit-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
.case__slider-arrows button.is-prev::after {
  left: 50%;
  -webkit-transform: translate(-80%, -50%) rotate(-45deg);
  transform: translate(-80%, -50%) rotate(-45deg);
}
@media (hover: hover) {
  .case__slider-arrows button.is-next:hover::before, .case__slider-arrows button.is-next:hover::after {
    -webkit-animation-name: case-slider-arrow-loop-rev;
    animation-name: case-slider-arrow-loop-rev;
  }
}
.case__slider-arrows button.is-next::after {
  left: 50%;
  -webkit-transform: translate(-20%, -50%) rotate(135deg);
  transform: translate(-20%, -50%) rotate(135deg);
}
.case__slider-scrollbar {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-top: 6rem;
  height: 2px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .case__slider-scrollbar {
    margin-top: 0;
  }
}
.case__slider .c-slider-dot {
  position: absolute;
  top: 50%;
  z-index: 1;
  margin-left: -0.4rem;
  width: 0.8rem;
  height: 0.8rem;
  background: #fff;
  -webkit-transition: opacity 0.7s ease;
  transition: opacity 0.7s ease;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.case__slider .c-slider-dot.is-active {
  background: #02b5e2;
}
.case__slider .c-slider-dot.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.case__slider-bar {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 0;
  height: 100%;
  background: #02b5e2;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
.case__slider-bar::after {
  position: absolute;
  top: 50%;
  right: -0.4rem;
  width: 0.8rem;
  height: 0.8rem;
  background: #02b5e2;
  content: "";
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@-webkit-keyframes case-slider-arrow-loop {
  0% {
    left: 50%;
    opacity: 1;
  }
  40% {
    left: -50%;
    opacity: 0;
  }
  41% {
    left: 150%;
    opacity: 0;
  }
  100% {
    left: 50%;
    opacity: 1;
  }
}

@keyframes case-slider-arrow-loop {
  0% {
    left: 50%;
    opacity: 1;
  }
  40% {
    left: -50%;
    opacity: 0;
  }
  41% {
    left: 150%;
    opacity: 0;
  }
  100% {
    left: 50%;
    opacity: 1;
  }
}
@-webkit-keyframes case-slider-arrow-loop-rev {
  0% {
    left: 50%;
    opacity: 1;
  }
  40% {
    left: 150%;
    opacity: 0;
  }
  41% {
    left: -50%;
    opacity: 0;
  }
  100% {
    left: 50%;
    opacity: 1;
  }
}
@keyframes case-slider-arrow-loop-rev {
  0% {
    left: 50%;
    opacity: 1;
  }
  40% {
    left: 150%;
    opacity: 0;
  }
  41% {
    left: -50%;
    opacity: 0;
  }
  100% {
    left: 50%;
    opacity: 1;
  }
}
/* =================================
 case__card（c-case-card をトップ用にリネーム。後で書き換え予定）
================================= */
.case__card {
  position: relative;
  display: block;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 0 auto;
  padding: 5.5rem;
  width: 100rem;
  max-width: 100%;
  border-radius: 10px;
  background: #fff;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  .case__card {
    padding: 3rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .case__card {
    padding: 2.5rem 1.5rem;
    width: 33rem;
    max-width: calc(100vw - 3rem);
  }
}
@media (hover: hover) {
  .case__card:hover .case__card-img img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  .case__card:hover .case__card-text {
    text-decoration: underline;
  }
  .case__card:hover .case__card-btn {
    opacity: 1;
  }
  .case__card:hover .case__card-btn-icon::before {
    left: 2rem;
  }
  .case__card:hover .case__card-btn-icon::after {
    left: 0;
  }
}
.case__card-label {
  position: absolute;
  top: -2rem;
  left: 0;
  padding: 0.8rem 2rem;
  min-width: 13rem;
  border-radius: 10px 10px 10px 0;
  background-image: -webkit-gradient(linear, left top, right top, from(#2da4e3), to(#78dade));
  background-image: linear-gradient(90deg, #2da4e3, #78dade);
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  font-family: "Montserrat", sans-serif;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-label {
    top: -1.5rem;
    padding: 0.5rem 2rem 0.6rem;
    border-radius: 8px 8px 8px 0;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .case__card-label {
    padding: 0.6rem 1rem;
    min-width: 8rem;
    font-size: 1.6rem;
  }
}
.case__card-inner {
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  grid-template-columns: 1fr 39.7rem;
  gap: 4rem;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .case__card-inner {
    gap: 2rem;
  }
}
.case__card-content {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: -0.5rem 0;
}
.case__card-title {
  font-weight: bold;
  font-size: 2.6rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .case__card-title {
    font-size: 2rem;
    text-align: center;
  }
}
.case__card-term {
  display: inline-block;
  margin-top: 2rem;
  padding: 0 2rem 0.2rem;
  border-radius: 2px;
  background: #eaeaea;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-term {
    margin-top: 1.5rem;
  }
}
.case__card-text + .case__card-term {
  margin-top: 3rem;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-text + .case__card-term {
    margin-top: 2rem;
  }
}
.case__card-text {
  margin-top: 1rem;
  line-height: 1.75;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .case__card-text {
    font-size: 1.6rem;
  }
}
.case__card-tags {
  margin-top: 2rem;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin-top: 1.5rem;
  }
}
.case__card-tag {
  font-size: 1.4rem;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-tag {
    font-size: 1.2rem;
  }
}
.case__card-img {
  overflow: hidden;
  width: 39.7rem;
  height: 29.8rem;
  max-width: 100%;
  border-radius: 10px;
}
@media screen and (min-width: 0px) and (max-width: 1024px) {
  .case__card-img {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    width: 100%;
    height: auto;
    aspect-ratio: 397/298;
  }
}
.case__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.case__card-btn {
  position: absolute;
  right: 0;
  bottom: 0;
  isolation: isolate;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-top: 2rem;
  margin-left: auto;
  padding-left: 2rem;
  width: 17rem;
  height: 4rem;
  border-radius: 1.5rem 0 1rem 0;
  background: -webkit-gradient(linear, left top, right top, from(#2da4e3), to(#78dade));
  background: linear-gradient(to right, #2da4e3, #78dade);
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.case__card-btn-icon {
  position: absolute;
  top: 50%;
  right: 2rem;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: #fff;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.case__card-btn-icon::before, .case__card-btn-icon::after {
  position: absolute;
  top: 0;
  display: block;
  width: 2rem;
  height: 2rem;
  background: url("/contents/assets/img/utility/ico_arrow_blue.svg") no-repeat center center/contain;
  content: "";
  -webkit-transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: 0.3s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.case__card-btn-icon::before {
  left: 0;
}
.case__card-btn-icon::after {
  left: -1rem;
}
@media screen and (max-width: 767px) {
  .case__card-btn {
    display: none;
  }
}

/* =================================
 useful-contents
================================= */
.useful-contents {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  padding: 16rem 0;
  max-width: 152rem;
}
@media screen and (max-width: 767px) {
  .useful-contents {
    padding: 10rem 0;
  }
}
.useful-contents {
  /* 画面幅100%、セクション高さ+6rem の背景。
     はみ出した 6rem は次の news セクションの下に潜り込む */
}
.useful-contents::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  height: calc(100% + 6rem);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#EAEAEA));
  background: linear-gradient(to bottom, #fff, #EAEAEA);
  pointer-events: none;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.useful-contents__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .useful-contents__inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .useful-contents__left, .useful-contents__right {
    display: contents;
  }
}
.useful-contents__right {
  justify-self: end;
  width: 100%;
  max-width: 58.3rem;
}
.useful-contents .title-1__ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 2rem;
  width: calc(100% + 1rem);
}
@media screen and (max-width: 767px) {
  .useful-contents .title-1__ja {
    margin-top: 0.5rem;
  }
}
.useful-contents__lead {
  margin-top: 3rem;
  line-height: 1.75;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .useful-contents__lead {
    margin-top: 1rem;
  }
}
.useful-contents__visual {
  position: relative;
  margin-top: 9rem;
  overflow: hidden;
  max-width: 56rem;
  aspect-ratio: 560/315;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .useful-contents__visual {
    display: none;
  }
}
.useful-contents__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.useful-contents__image.is-active {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .useful-contents__item {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .useful-contents__item ~ .useful-contents__item {
    margin-top: 5rem;
  }
}
.useful-contents__divider {
  position: relative;
  margin: 6rem 0 6rem -1rem;
  width: 100%;
  height: 1px;
  background: #000;
}
@media screen and (max-width: 767px) {
  .useful-contents__divider {
    display: none;
  }
}
.useful-contents__divider::before, .useful-contents__divider::after {
  position: absolute;
  top: 50%;
  width: 5px;
  height: 5px;
  background: #000;
  content: "";
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.useful-contents__divider::before {
  left: 0;
}
.useful-contents__divider::after {
  right: 0;
}
.useful-contents__item-image {
  display: none;
}
@media screen and (max-width: 767px) {
  .useful-contents__item-image {
    display: block;
    overflow: hidden;
    margin-bottom: 1.5rem;
    border-radius: 0.5rem;
  }
  .useful-contents__item-image img {
    display: block;
    width: 100%;
    height: auto;
  }
}
.useful-contents__heading {
  position: relative;
  padding-left: 3.5rem;
  font-weight: bold;
  font-size: 4rem;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  .useful-contents__heading {
    padding-left: 2.5rem;
    font-size: 2.4rem;
    line-height: 1.4583333333;
  }
}
.useful-contents__heading::before, .useful-contents__heading::after {
  position: absolute;
  top: 2.3rem;
  left: 0;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.3rem;
  content: "";
}
@media screen and (max-width: 767px) {
  .useful-contents__heading::before, .useful-contents__heading::after {
    top: calc((1.4583333333em - 1.5rem) / 2);
  }
}
.useful-contents__heading {
  /* ベース: グレー */
}
.useful-contents__heading::before {
  background: #b4b4b4;
}
.useful-contents__heading {
  /* オーバーレイ: 青グラデ。アクティブ時にフェードインで滑らかに切り替え */
}
.useful-contents__heading::after {
  background: -webkit-gradient(linear, left top, right top, from(#2da4e3), to(#78dade));
  background: linear-gradient(to right, #2da4e3, #78dade);
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media screen and (max-width: 767px) {
  .useful-contents__heading::after {
    opacity: 1;
  }
}
.useful-contents {
  /* アクティブ項目: 青グラデオーバーレイを表示 */
}
.useful-contents__item.is-active .useful-contents__heading::after {
  opacity: 1;
}
.useful-contents__desc {
  margin-top: 1rem;
  line-height: 1.75;
  font-size: 1.6rem;
}
.useful-contents__note {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 2;
}
.useful-contents__button {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .useful-contents__button {
    width: 100%;
    max-width: 34.5rem;
    margin: 3rem auto 0;
  }
}

/* =================================
 news
================================= */
.news {
  position: relative;
  z-index: 0;
  margin: auto;
  padding: 16rem 0;
  max-width: 152rem;
}
@media screen and (max-width: 767px) {
  .news {
    padding: 10rem 0;
  }
}
.news {
  /* 画面幅100%の白背景。右上に6remのradius */
}
.news::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  background: #fff;
  border-radius: 0 6rem 0 0;
  pointer-events: none;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .news::after {
    border-radius: 0 3rem 0 0;
  }
}
.news__inner {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: 35rem 1fr;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .news__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.news__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 7rem;
}
@media screen and (max-width: 767px) {
  .news__left {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .news .title-1 {
    grid-row: 1;
  }
}
.news .title-1__ja {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .news .title-1__ja {
    margin-top: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .news__button {
    grid-row: 3;
    width: 100%;
    max-width: 34.5rem;
    margin: 0 auto;
  }
}
.news__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .news__right {
    display: contents;
  }
}
.news .c-news {
  margin-top: -3rem;
  width: 100%;
  max-width: 96rem;
}
@media screen and (max-width: 767px) {
  .news .c-news {
    margin-top: -1rem;
  }
}

/* =================================
 recruit
================================= */
.recruit {
  margin: auto;
  max-width: 152rem;
}
@media screen and (max-width: 767px) {
  .recruit {
    padding: 10rem 0;
  }
}
.recruit__inner {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .recruit__inner {
    grid-template-columns: 100%;
    gap: 3rem;
  }
}
.recruit__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 7rem;
}
@media screen and (max-width: 767px) {
  .recruit__left {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .recruit .title-1 {
    grid-row: 1;
  }
}
.recruit .title-1__ja {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .recruit .title-1__ja {
    margin-top: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .recruit__button {
    grid-row: 3;
    width: 100%;
    max-width: 34.5rem;
    margin: 0 auto;
  }
}
.recruit__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  min-width: 0;
  margin-right: -20rem;
}
@media screen and (min-width: 768px) and (max-width: 1920px) {
  .recruit__right {
    margin-right: min(-50px, 1720px - 100vw);
  }
}
@media screen and (max-width: 767px) {
  .recruit__right {
    display: contents;
    margin-right: 0;
  }
}
.recruit__image {
  display: block;
  width: 100%;
  max-width: 115.8rem;
  aspect-ratio: 1158/572;
}
@media screen and (max-width: 767px) {
  .recruit__image {
    grid-row: 2;
    width: 108vw;
    max-width: none;
    aspect-ratio: 405/200;
    margin: 0;
    margin-left: calc(-1.5rem - 5.8666666667vw);
  }
}
.recruit__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInAtdG9wLnNjc3MiLCJfc2V0dGluZy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTtBQUFBO0FBQUE7QUFJQTtFQUNFO0VBQ0E7QUFFQTtBQUFBO0FBQUE7O0FDc0tBO0VEMUtGO0lBUUk7SUFDQTs7O0FBR0Y7RUFDRTs7QUM2SkY7RUQ5SkE7SUFJSTs7OztBQUtOO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNxSUE7RURoSkY7SUFjSTtJQUNBO0lBQ0E7OztBQUdGO0VBQ0U7OztBQUlKO0FBQUE7QUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNnSEE7RURySEY7SUFRSTtJQUNBOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUNvR0E7RUR4R0Y7SUFPSTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQzJERjtFRC9EQTtJQU9JOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDeUNGO0VEOUNBO0lBUUk7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDV0Y7RURyQkE7SUFhSTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBOztBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7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QUNFOztBQzEzREY7RUR5M0RBO0lBSUk7OztBQzczREo7RURpNERBO0lBRUk7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FDcDZERjtFRGc2REE7SUFPSTs7O0FDajVESjtFRDA0REE7SUFXSTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQzk1REY7RUQwNURBO0lBT0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBIiwiZmlsZSI6InAtdG9wLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCJzZXR0aW5nXCIgYXMgKjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHAtdG9wXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5sLWhlYWRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMS41cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlO1xuXG4gIC8qIFNQIOOBp+OBryB0cmFuc2Zvcm0g44KS5b2T44Gm44Gq44GE44CCXG4gICAgIOimquOBqyB0cmFuc2Zvcm0g44GM44GC44KL44Go5YaF5YG044GuIHBvc2l0aW9uOmZpeGVkICjjg4/jg7Pjg5Djg7zjgqzjg7wpIOOBjFxuICAgICDjg5Pjg6Xjg7zjg53jg7zjg4jln7rmupbjgafjga/jgarjgY/opqrln7rmupbjgavjgarjgorov73lvpPjgZfjgarjgY/jgarjgovjgZ/jgoHjgIIgKi9cbiAgQGluY2x1ZGUgcGMge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS41cyBlYXNlLCB0cmFuc2Zvcm0gMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNyZW0pO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgQGluY2x1ZGUgcGMge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxufVxuXG4ubC1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIG1haW4tdmlzdWFsLWJnLWJvdHRvbSAobWFpbi12aXN1YWwg55u05LiL44GL44KJ57aa44GP6IOM5pmv44CCXG4gICBtdi1iZy5qcGcg44KS5LiK5LiL5Y+N6Lui44GX44GmIG1haW4tdmlzdWFsIOacq+err+OBqOiJsuOCkuaPg+OBiOOAgVxuICAg44Gd44GT44GL44KJ5YWD44Gu55S75YOP5LiK56uv5pa55ZCR77yI5piO44KL44GE5YG077yJ44G45ruR44KJ44GL44Gr57mL44GQ44CCXG4gICDjg5Xjgqfjg7zjg4njgqTjg7Pjga8gLm1haW4tdmlzdWFsIOOBriAuaXMtZmluaXNoZWQg44Go5ZCM44K/44Kk44Of44Oz44KwKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFpbi12aXN1YWwtYmctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMobWF4KDEwMHZoLCBjYWxjKDEwMHZ3ICogMjAwOCAvIDE5MjApKSAtIDFweCk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0yO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBtYXgoMTAwdmgsIGNhbGMoMTAwdncgKiAyMDA4IC8gMTkyMCkpO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9tdi1iZy5qcGdcIikgY2VudGVyIC8gMTAwJSAxMDAlIG5vLXJlcGVhdDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjVzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIEBpbmNsdWRlIHNwIHtcbiAgICB0b3A6IGNhbGMoMTAwdncgKiAxNjY3IC8gMzc1IC0gMXB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAxNjY3IC8gMzc1KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9zcC9tdi1iZy5qcGdcIik7XG4gIH1cblxuICAmLmlzLWZpbmlzaGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIG1haW4tdmlzdWFsXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYWluLXZpc3VhbC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAtMTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IG1heCgxMDB2aCwgY2FsYygxMDB2dyAqIDEwMDAgLyAxOTIwKSk7XG5cbiAgQGluY2x1ZGUgc3Age1xuICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogY2FsYygxMDB2dyAqIDc5MSAvIDM3NSk7XG4gIH1cbn1cblxuLm1haW4tdmlzdWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBtYXgoMTAwdmgsIGNhbGMoMTAwdncgKiAyMDA4IC8gMTkyMCkpO1xuXG4gIEBpbmNsdWRlIHNwIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdncgKiAxNjY3IC8gMzc1KTtcbiAgfVxuXG4gICZfX3NwbGFzaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIDEuNXM7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi9jb250ZW50cy9hc3NldHMvaW1nL3AtdG9wL3NwL212LWJnLmpwZ1wiKSBjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcbiAgICB9XG4gIH1cblxuICAmX19zcGxhc2gtaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDYwcmVtO1xuICAgIGhlaWdodDogNDByZW07XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB6LWluZGV4OiAxMDE7XG4gICAgd2lkdGg6IDM0LjVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0IC41cywgdHJhbnNmb3JtIDFzIGN1YmljLWJlemllciguMjIsIDEsIC4zNiwgMSk7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAqICgxOTIgLyAzNzUpKTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19jaXJjbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNTAuOXJlbTtcbiAgICBoZWlnaHQ6IDUwLjlyZW07XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBjdWJpYy1iZXppZXIoLjY1LCAwLCAuMzUsIDEpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAqICgzMDAgLyAzNzUpKTtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2dyAqICgzMDAgLyAzNzUpKTtcbiAgICB9XG4gIH1cblxuICAmX19jaXJjbGUtcGF0aCB7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjg1cyBjdWJpYy1iZXppZXIoLjY1LCAwLCAuMzUsIDEpO1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiAjMmRhNGUzO1xuICAgIHN0cm9rZS13aWR0aDogMi4yO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDE0NDU7IC8qIDIgKiBQSSAqIDIzMCAqL1xuXG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAxNDUwO1xuICAgIHN0cm9rZS1vcGFjaXR5OiAwO1xuICB9XG5cbiAgJl9fdmlld3BvcnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FudmFzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAvKiBUaHJlZS5qcyDjgYznlJ/miJDjgZnjgosgY2FudmFzIOOCkiAx5p6a44Gu55S75YOP44Gu44KI44GG44GrIGNvdmVyIOOBp+S8uOe4riAqL1xuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiBpT1MgU2FmYXJpIOetieOBp+OCouODieODrOOCueODkOODvOOCkuWQq+OCgCAxMDB2aCDjgaDjgaggaDEg44GM55S76Z2i5aSW44Gr6KaL5YiH44KM44KL44Gf44KB44CBXG4gICAgICAg5a6f6KGo56S65Z+f5Z+65rqW44GuIGR2aCDjgpLkvb/jgYbjgIJkdmgg6Z2e5a++5b+c44OW44Op44Km44K255So44GrIHZoIOOCkuWFiOOBq+abuOOBhOOBpuODleOCqeODvOODq+ODkOODg+OCr+OBmeOCi+OAgiAqL1xuICAgIHRvcDogY2FsYygxMDB2aCAtICgxMDB2dyAqICg2MCAvIDEzNjYpKSk7XG4gICAgdG9wOiBjYWxjKDEwMGR2aCAtICgxMDB2dyAqICg2MCAvIDEzNjYpKSk7XG4gICAgcmlnaHQ6IG1heCg2cmVtLCBjYWxjKDEwMHZ3ICogKDYwIC8gMTM2NikpKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogbWF4KDU2LjMzM3JlbSwgY2FsYygxMDB2dyAqICg1NjMuMzMgLyAxMzY2KSkpO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuNXMgZWFzZSwgdHJhbnNmb3JtIDFzIGVhc2UsIGZpbHRlciAuM3MgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwJSk7XG5cbiAgICAmOmhhcygubWFpbi12aXN1YWxfX3RpdGxlLWxpbms6aG92ZXIpIHtcbiAgICAgIGZpbHRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB0b3A6IGNhbGMoMTAwdmggLSAoMTAwdncgKiAoMTUgLyAzNzUpKSk7XG4gICAgICB0b3A6IGNhbGMoMTAwZHZoIC0gKDEwMHZ3ICogKDE1IC8gMzc1KSkpO1xuICAgICAgcmlnaHQ6IGNhbGMoMTAwdncgKiAoMTUgLyAzNzUpKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3ICogKDM0NSAvIDM3NSkpO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MDBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICB0b3A6IGNhbGMoMTAwdmggLSAydncpO1xuICAgICAgdG9wOiBjYWxjKDEwMGR2aCAtIDJ2dyk7XG4gICAgICByaWdodDogbWF4KDRyZW0sIGNhbGMoMTAwdncgKiAoNDAgLyAxMzY2KSkpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiDotbfli5XjgqLjg4vjg6Hjg7zjgrfjg6fjg7MgKi9cbiAgJi5pcy1sb2FkaW5nICZfX2xvZ28ge1xuICAgIC8qIOODleOCp+ODvOODieOCpOODs+OBr+mBheW7tuOBquOBlyAqL1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAxLjJzIGN1YmljLWJlemllciguMjIsIDEsIC4zNiwgMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgLyog5a6M5LqG5b6M44Gu44OV44Kn44O844OJ44Ki44Km44OIXG4gICAgIC0gc3BsYXNoOjpiZWZvcmXvvIjog4zmma/vvInjgaggY2lyY2xlIOOBr+WQjOaZguOBq+ODleOCp+ODvOODiVxuICAgICAtIGxvZ28g44GvICZfX2xvZ28g44GuIHRyYW5zaXRpb24tZGVsYXkg44Gr44KI44KK6YGF44KM44Gm44OV44Kn44O844OJXG4gICAgIC0gc3BsYXNoIOiHquS9k+OBryB2aXNpYmlsaXR5OmhpZGRlbiDjgaflhajjg5Xjgqfjg7zjg4nlrozkuoblvozjgavpnZ7ooajnpLogKi9cbiAgJi5pcy1maW5pc2hlZCAmX19zcGxhc2gge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtZmluaXNoZWQgJl9fY2lyY2xlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5pcy1maW5pc2hlZCAmX192aWV3cG9ydCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuNXMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmLmlzLXRpdGxlLXZpc2libGUgJl9fdGl0bGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBhYm91dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWJvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHJlbSA1NnJlbSAxNy41cmVtIDA7XG4gIG1heC13aWR0aDogMTUyLjFyZW07XG5cbiAgQGluY2x1ZGUgbXEoNzY4LCAxMzMwKSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiA1NiAvIDEyMyk7XG4gIH1cbiAgQGluY2x1ZGUgc3Age1xuICAgIHBhZGRpbmc6IDguNXJlbSAwIDA7XG4gIH1cblxuICAudGl0bGUtMV9famEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgPiA6bnRoLWNoaWxkKDEpLFxuICAgID4gOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDI4IC8gMTYpO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gIH1cblxuICAmX19tZWRpYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjJyZW07XG4gICAgcmlnaHQ6IDUuM3JlbTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogNTQuNHJlbTtcbiAgICBoZWlnaHQ6IDYwLjdyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtcSg3NjgsIDE2MjApIHtcbiAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoMTU0NywgMTYyMCkge1xuICAgICAgcmlnaHQ6IGNhbGMoMTAwdncgLSAxNTYuN3JlbSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKDc2OCwgMTMzMCkge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiAtMiAvIDEyMyk7XG4gICAgICB3aWR0aDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiA1NC40IC8gMTIzKTtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiA2MC43IC8gMTIzKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDNyZW0gYXV0byAwO1xuICAgICAgd2lkdGg6IDIyLjhyZW07XG4gICAgICBoZWlnaHQ6IDI1LjhyZW07XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fbWFzayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLXdlYmtpdC1tYXNrOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9hYm91dC1tYXNrLnN2Z1wiKSAwIDAgLyAxMDAlIDEwMCUgbm8tcmVwZWF0O1xuICAgIG1hc2s6IHVybChcIi9jb250ZW50cy9hc3NldHMvaW1nL3AtdG9wL2Fib3V0LW1hc2suc3ZnXCIpIDAgMCAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTM4cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNzZyZW07XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnRzL2Fzc2V0cy9pbWcvcC10b3AvYWJvdXQtaW1hZ2UtMi5qcGdcIikgY2VudGVyIC8gY292ZXIgbm8tcmVwZWF0O1xuXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBAaW5jbHVkZSBtcSg3NjgsIDEzMzApIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoKDEwMHZ3IC0gMTByZW0pICogLTM4IC8gMTIzKTtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiA3NiAvIDEyMyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xNnJlbTtcbiAgICAgIGhlaWdodDogMzJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9zcC9hYm91dC1pbWFnZS0yLmpwZ1wiKTtcbiAgICB9XG4gIH1cblxuICAmX19mcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICB3aWR0aDogMTMzLjNyZW07XG4gICAgaGVpZ2h0OiAxMjdyZW07XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnRzL2Fzc2V0cy9pbWcvcC10b3AvYWJvdXQtZnJhbWUuc3ZnXCIpIDAgMCAvIDEwMCUgMTAwJSBuby1yZXBlYXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBtcSg3NjgsIDEzMzApIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDB2dyAtIDEwcmVtKSAqIDEzMy4zIC8gMTIzKTtcbiAgICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiAxMjcgLyAxMjMpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB3aWR0aDogNTUuOXJlbTtcbiAgICAgIGhlaWdodDogNTMuMnJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gdGl0bGUtMVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGl0bGUtMSB7XG4gICZfX2VuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNXJlbTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LTI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMi41cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yLWJyYW5kLTIsICRjb2xvci1icmFuZC0zKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgdG9wOiAuMDVyZW07XG4gICAgICAgIGxlZnQ6IC0xLjhyZW07XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9famEge1xuICAgIG1hcmdpbi10b3A6IDUuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDUuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg4NiAvIDUyKTtcbiAgICB3b3JkLWJyZWFrOiBhdXRvLXBocmFzZTtcblxuICAgIEBpbmNsdWRlIG1xKDc2OCwgMTMzMCkge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygoMTAwdncgLSAxMHJlbSkgKiA1LjUgLyAxMjMpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGNhbGMoKDEwMHZ3IC0gMTByZW0pICogLjIgLyAxMjMpO1xuICAgICAgZm9udC1zaXplOiBjYWxjKCgxMDB2dyAtIDEwcmVtKSAqIDUuMiAvIDEyMyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICBsaW5lLWhlaWdodDogY2FsYyg0OCAvIDMwKTtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gbC1jb250YWN077yI44OI44OD44OX5bCC55So44Oe44K544Kv77yJXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNwLXRvcCAubC1jb250YWN0IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTMwcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuXG4gIEBpbmNsdWRlIHNwIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBsb2dvLWxpc3Rcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxvZ28tbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcblxuICBAaW5jbHVkZSBzcCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNTIuMXJlbTtcbiAgICBjb2xvcjogIzAwYjVlMjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg1MiAvIDM2KTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMi42cmVtO1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogY2FsYygzOCAvIDI0KTtcbiAgICB9XG5cbiAgICAvKiDjgrPjg7Pjg4bjg4rlt6bnq6/jgYvjgokgMTZweCDlt6blpJblgbTjgavlj7PovrrjgpLjgZ3jgo3jgYjjgabnva7jgY8gMTPDlzEzIOOBrueZveOBhOato+aWueW9ouOAglxuICAgICAgIOiHqui6q+OBruW5hSAxLjNyZW0g44KS5beu44GX5byV44GE44GmIGxlZnQg44KS6LKg5pa55ZCR44Gr44Kq44OV44K744OD44OI44GZ44KLICovXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogY2FsYygtMS42cmVtIC0gMS4zcmVtKTtcbiAgICAgIHdpZHRoOiAxLjNyZW07XG4gICAgICBoZWlnaHQ6IDEuM3JlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgLyogU1Ag44GvIDIg6KGM44Gr5oqY44KK6L+U44KL44Gu44Gn44CBMSDooYznm67jga7kuK3lpK4gKD0gbGluZS1oZWlnaHQvMiA9IDEuOXJlbSkg44Gr5ZCI44KP44Gb44KLICovXG5cbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgdG9wOiAxLjlyZW07XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyog5q2j5pa55b2i44Gu5bem56uv44GL44KJ55S76Z2i5bem56uv44G+44Gn5Ly444Gz44KLIDFweCDjga7nmb3jgYTmsLTlubPnt5rjgIJcbiAgICAgICB3aWR0aCDjgafjgIzjg5Pjg6Xjg7zjg53jg7zjg4jlt6bnq68g4oaSIOato+aWueW9ouOBruW3puerryAoPSDjgrPjg7Pjg4bjg4rlt6bnq68g4oiSIDE2cHgg4oiSIDEuM3JlbSnjgI3jgb7jgafjga7ot53pm6LjgpLnorrkv53jgZnjgovjgIIgKi9cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gICAgICB3aWR0aDogY2FsYyg1MHZ3IC0gNTAlIC0gMS42cmVtIC0gMS4zcmVtKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgdG9wOiAxLjlyZW07XG4gICAgICAgIGxlZnQ6IC0ycmVtO1xuICAgICAgICB3aWR0aDogMi42cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBjb250ZW50LWJnIChzb2x1dGlvbiArIGV4cGVydGlzZSDjgpLljIXjgoDlhbHpgJrog4zmma8pXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250ZW50LWJnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG5cbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2NvbnRlbnRzL2Fzc2V0cy9pbWcvcC10b3AvY29udGVudC1iZy5qcGdcIikgY2VudGVyIC8gY292ZXIgbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gZXhwZXJ0aXNlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5leHBlcnRpc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogMTMuNXJlbSBhdXRvIDE3cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNjJyZW07XG5cbiAgQGluY2x1ZGUgc3Age1xuICAgIG1hcmdpbjogOHJlbSBhdXRvIDEwcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgICAgZ2FwOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3Zpc3VhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3NnJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fdmlzdWFsLWJhc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG5cbiAgJl9fdmlzdWFsLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoNzY4LCAxNDAwKSB7XG4gICAgJl9fdmlzdWFsIHtcbiAgICAgIG1hcmdpbjogMCA0cmVtIDAgLTRyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgM3JlbSAwIDEycmVtO1xuXG4gICAgQGluY2x1ZGUgbXEoNzY4LCAxNDAwKSB7XG4gICAgICBwYWRkaW5nOiAwIDJyZW0gMCA1cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xLW1heCgxMTUwKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiA0LjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoODAgLyA0Nik7XG5cbiAgICBAaW5jbHVkZSBtcSg3NjgsIDEyMDApIHtcbiAgICAgIGZvbnQtc2l6ZTogY2FsYygxMDB2dyAqICg0NiAvIDEyMDApKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDQyIC8gMjYpO1xuICAgIH1cbiAgfVxuXG4gICZfX2Rlc2Mge1xuICAgIG1hcmdpbi10b3A6IDMuNXJlbTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYygzMiAvIDE4KTtcblxuICAgIEBpbmNsdWRlIG1xKDc2OCwgMTA1MCkge1xuICAgICAgYnIudS1wYyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IGNhbGMoMjggLyAxNik7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luOiAzcmVtIGF1dG8gMDtcbiAgICAgIG1heC13aWR0aDogMzQuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC0yO1xuICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG4gICAgQGluY2x1ZGUgbXEoNzY4LCAxNDAwKSB7XG4gICAgICByaWdodDogLTNyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gc29sdXRpb25cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNvbHV0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG4gIG1hcmdpbjogMTZyZW0gYXV0byAwO1xuICBwYWRkaW5nOiAwIDJyZW07XG4gIG1heC13aWR0aDogY2FsYygxNzJyZW0gKyA0cmVtKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjVzIGVhc2U7XG5cbiAgLnRpdGxlLTFfX2VuIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzZTtcbiAgfVxuXG4gIC50aXRsZS0xX19qYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAmLmlzLWJnLWFjdGl2ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIC50aXRsZS0xX19lbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC8qIOiDjOaZr+eUu+WDj+OBjOWHuuOBpuOBhOOCi+mWk+OBr+ODnOOCv+ODs+OCkueZveiDjOaZr+ODu+m7kuaWh+Wtl+OBq+WPjei7oiAqL1xuICAgIC5jLWJ1dHRvbi1ibGFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgY29sb3I6ICMyMjI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgLyogaW52ZXJ0KDEpIOOBoOOBkeOBoOOBqCBhcnJvdy11bmRlci5zdmcg44GuICMwMmI1ZTIgKOmdkikg44GM6LWk44Gr5Y+N6Lui44GZ44KL44Gf44KBXG4gICAgICAgICAgIGh1ZS1yb3RhdGUoMTgwZGVnKSDjgpLph43jga3jgabpnZLns7vjgpLntq3mjIHjgZnjgosgKi9cbiAgICAgICAgZmlsdGVyOiBpbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAvKiDjg5vjg5Djg7zmmYLjga/jgrDjg6njg4fjgYzkuZfjgovjga7jgafnmb3mloflrZfjgavmiLvjgZnjgIJcbiAgICAgICAgIOOCouOCpOOCs+ODs+OCguWPjei7ouOCkuino+mZpOOBl+OBpuOAgeeZveiDjOaZr+OBq+mdkuefouWNsO+8iOWFg+ODnOOCv+ODs+OBruODm+ODkOODvOeKtuaFi++8ieOBqyAqL1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc29sdXRpb25fX2luZGljYXRvciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAvKiDog4zmma/liIfmm7/kuK3jgavlj7Pnq6/jgavooajnpLrjgZnjgovjgqTjg7PjgrjjgrHjg7zjgr/jg7zvvIhjYXNlIOOCueODqeOCpOODgOODvOOBruODkOODvOOCkue4puWQkeOBjeOBq+OBl+OBn+OCguOBru+8iSAqL1xuICAmX19pbmRpY2F0b3Ige1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTByZW07XG4gICAgei1pbmRleDogMjA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiAuNHJlbSAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UsIHZpc2liaWxpdHkgLjVzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9faW5kaWNhdG9yLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuXG4gICZfX2luZGljYXRvci1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMDJiNWUyO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAuM3MgZWFzZTtcblxuICAgIC8qIOODkOODvOWFiOerr+OBruWbm+inkuOBr+ODkOODvOS4i+err+OBq+S4reW/g+OCkuWQiOOCj+OBm+OCi++8iOWBnOatouS9jee9ruOBruODieODg+ODiOOBqOWujOWFqOOBq+mHjeOBquOCi++8iSAqL1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiAuOHJlbTtcbiAgICAgIGhlaWdodDogLjhyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjMDJiNWUyO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9faW5kaWNhdG9yLWRvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAuOHJlbTtcbiAgICBoZWlnaHQ6IC44cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTtcbiAgICAvKiDlhajjg4njg4Pjg4jjga7kuK3lv4PjgpLmiYDlrprjga7kvY3nva7jgavmj4PjgYjjgovvvIjjg5Djg7zlhYjnq6/jgajlrozlhajjgavph43jgarjgovjgojjgYbjgavvvIkgKi9cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIC8qIOODkOODvOOBjCAxLzMg44Ga44Gk6YCy44KA44Gu44Gn44CB5ZCE44OJ44OD44OI44KCIDEvMyAvIDIvMyAvIDMvMyDjga7kvY3nva7jgavphY3nva4gKi9cbiAgICAmW2RhdGEtc3RlcD1cIjBcIl0geyB0b3A6IDMzLjMzMyU7IH1cbiAgICAmW2RhdGEtc3RlcD1cIjFcIl0geyB0b3A6IDY2LjY2NiU7IH1cbiAgICAmW2RhdGEtc3RlcD1cIjJcIl0geyB0b3A6IDEwMCU7IH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMmI1ZTI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3Age1xuICAgIG1hcmdpbi10b3A6IDlyZW07XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDZyZW07XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19sZWZ0IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMjFyZW07XG4gICAgZmxleDogMCAwIDQ3cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRvcDogYXV0bztcbiAgICB9XG5cbiAgICAudGl0bGUtMV9famEge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgICAgQGluY2x1ZGUgc3Age1xuICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDI4IC8gMTYpO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3JpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSAxMDZyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDI0cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZ2FwOiA1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMTNyZW07XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcblxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHksIGZpbHRlcjtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgYXNwZWN0LXJhdGlvOiA4NTAgLyA0MjQ7XG4gICAgbWF4LXdpZHRoOiA4NXJlbTtcblxuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIGNhbGMoMTAwJSAtIDYwcHgpIDAsIDEwMCUgY2FsYygxMDAlIC0gMXB4KSwgMCBjYWxjKDEwMCUgLSAxcHgpKTtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCBjYWxjKDEwMCUgLSAyLjVyZW0pIDAsIDEwMCUgY2FsYygxMDAlIC0gMXB4KSwgMCBjYWxjKDEwMCUgLSAxcHgpKTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNi4xcmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX251bSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgbGVmdDogMDtcbiAgICBjb2xvcjogIzAwYjVlMjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDZyZW07XG4gICAgZm9udC1mYW1pbHk6ICRmb250LTI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiA0LjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IGNhbGMoNjYgLyA0Nik7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDM3IC8gMjYpO1xuICAgIH1cblxuICAgIC5zb2x1dGlvbl9faXRlbTpudGgtY2hpbGQoMikgJiB7XG4gICAgICBAaW5jbHVkZSBzcCB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2F0Y2gge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg2MiAvIDM2KTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogY2FsYygzMiAvIDIwKTtcbiAgICB9XG4gIH1cblxuICAmX19jYXRjaC10eHQge1xuICAgIHBhZGRpbmc6IDEuMnJlbSAxcmVtIDIuNHJlbTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLFxuICAgIHRyYW5zcGFyZW50IDAsXG4gICAgdHJhbnNwYXJlbnQgMS4zcmVtLFxuICAgICR3aGl0ZSAxLjNyZW0sXG4gICAgJHdoaXRlIDYuOXJlbSxcbiAgICB0cmFuc3BhcmVudCA2LjlyZW0sXG4gICAgdHJhbnNwYXJlbnQgNy4ycmVtXG4gICAgKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICB3b3JkLWJyZWFrOiBhdXRvLXBocmFzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmc6IDAuOHJlbSAwcmVtIDFyZW0gMC44cmVtO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxcbiAgICAgIHRyYW5zcGFyZW50IDAsXG4gICAgICB0cmFuc3BhcmVudCAuNnJlbSxcbiAgICAgICR3aGl0ZSAuNnJlbSxcbiAgICAgICR3aGl0ZSAzLjhyZW0sXG4gICAgICB0cmFuc3BhcmVudCAzLjhyZW0sXG4gICAgICB0cmFuc3BhcmVudCA0LjFyZW1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYygyOCAvIDE2KTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgbWF4LXdpZHRoOiA4NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gIC8qIOS4reWei+ODouODi+OCv+WQkeOBke+8muW3puOCq+ODqeODoOW5heWcp+e4ru+8iOOAnDEzNjZweO+8iSAqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEzNjZweCkge1xuICAgICZfX2xlZnQge1xuICAgICAgZmxleDogMCAwIDMzLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLyog5bCP44GV44KB44Oi44OL44K/5ZCR44GR57iu5bCP77yIU1Ag5Lul5LiKIC8g5bmFIDE2NzBweCDku6XkuIsgb3Ig6auY44GVIDg5NXB4IOS7peS4i++8iSAqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDE2NzBweCksXG4gICAgICAgICBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC1oZWlnaHQ6IDg5NXB4KSB7XG4gICAgJl9fcmlnaHQge1xuICAgICAgZ2FwOiAxOHJlbTtcbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDg1MCAvIDM2MDtcbiAgICAgIG1heC13aWR0aDogNTZyZW07XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogOHJlbTtcbiAgICB9XG5cbiAgICAmX19udW0ge1xuICAgICAgZm9udC1zaXplOiA0LjZyZW07XG4gICAgfVxuXG4gICAgJl9fdGl0bGUtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDNyZW07XG4gICAgfVxuXG4gICAgJl9fY2F0Y2gge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIH1cblxuICAgICZfX2NhdGNoLXR4dCB7XG4gICAgICBwYWRkaW5nOiAuOHJlbSAuN3JlbSAxLjZyZW07XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLFxuICAgICAgICB0cmFuc3BhcmVudCAwLFxuICAgICAgICB0cmFuc3BhcmVudCAuOXJlbSxcbiAgICAgICAgJHdoaXRlIC45cmVtLFxuICAgICAgICAkd2hpdGUgNC42cmVtLFxuICAgICAgICB0cmFuc3BhcmVudCA0LjZyZW0sXG4gICAgICAgIHRyYW5zcGFyZW50IDQuOXJlbVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmX19idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIG1heC13aWR0aDogNTZyZW07XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHNvbHV0aW9uLWJnXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zb2x1dGlvbi1iZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYtLTEgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9zb2x1dGlvbi0xLmpwZ1wiKTsgfVxuICAgICYtLTIgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9zb2x1dGlvbi0yLmpwZ1wiKTsgfVxuICAgICYtLTMgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudHMvYXNzZXRzL2ltZy9wLXRvcC9zb2x1dGlvbi0zLmpwZ1wiKTsgfVxuICB9XG5cbiAgJl9fb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC42NSk7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gcC1sb2dvLXNsaWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucC1sb2dvLXNsaWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIEBpbmNsdWRlIHNwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICB9XG5cbiAgJl9fcm93IHtcbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgICBAaW5jbHVkZSBzcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcm93LS1ib3R0b20gJl9fdHJhY2sge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgfVxuXG4gICZfX3Jvdy0tYm90dG9tICZfX3NsaWRlIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB9XG5cbiAgJl9fdHJhY2sge1xuICAgICY6bm90KC5zbGljay1pbml0aWFsaXplZCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cblxuICAgIC5zbGljay10cmFjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX3NsaWRlIHtcbiAgICBtYXJnaW46IDAgMXJlbTtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiA3LjhyZW07XG5cbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgaGVpZ2h0OiA0LjRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIGNhc2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxNnJlbTtcbiAgbWF4LXdpZHRoOiAxNTJyZW07XG5cbiAgQGluY2x1ZGUgc3Age1xuICAgIHBhZGRpbmc6IDEwcmVtIDA7XG4gIH1cblxuICAvKiDjgrvjgq/jgrfjg6fjg7PlhajkvZPjga7og4zmma/jgILjg6vjg7zjg4jjgrPjg7Pjg4bjg4rjga4gcGFkZGluZy14IOOCkuaJk+OBoea2iOOBmeOBn+OCgSAxMDB2dyDjgafkuK3lpK7phY3nva4gKi9cbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgYmFja2dyb3VuZDogI0UyRTRFNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gIC8qIOW3puWBtOOBq+OBr+OBv+WHuuOBmeOCueODqeOCpOODieOCouOCpOODhuODoOOCkuimhuOBhuODnuOCueOCr+OAgmNhc2Ug5bem56uv44Cc44OT44Ol44O844Od44O844OI5bem56uv44KS5Z+L44KB44KLICovXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogY2FsYyg1MHZ3IC0gNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjRTJFNEU1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiA2cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZ2FwOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS0xX19qYSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDM0LjVyZW07XG4gICAgICBtYXJnaW46IDFyZW0gYXV0byAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBjYXNlX19zbGlkZXLvvIhwLWNhc2Utc2xpZGVyIOOCkuODiOODg+ODl+eUqOOBq+ODquODjeODvOODoOOAguOCueOCv+OCpOODq+OBr+W+jOOBp+abuOOBjeaPm+OBiOS6iOWumu+8iVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FzZV9fc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcblxuICAmLWxpc3Qge1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxpc3Qge1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuICAgIH1cblxuICAgIC5zbGljay10cmFjayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgJi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1yaWdodDogNHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKDAsIDEwMjQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNHJlbTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGdhcDogM3JlbTtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJi1hcnJvd3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDRyZW07XG5cbiAgICBAaW5jbHVkZSBwY190YWIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTByZW07XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZ2FwOiAycmVtO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDVyZW07XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZTtcblxuICAgICAgQGluY2x1ZGUgc3Age1xuICAgICAgICB3aWR0aDogMy4ycmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMnJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgICAgICAgYW5pbWF0aW9uOiBjYXNlLXNsaWRlci1hcnJvdy1sb29wIC41cyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKTtcbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjIyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAuOXJlbTtcbiAgICAgICAgaGVpZ2h0OiAuOXJlbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4zcyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmLmlzLXByZXYge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC04MCUsIC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaXMtbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGNhc2Utc2xpZGVyLWFycm93LWxvb3AtcmV2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMCUsIC01MCUpIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zY3JvbGxiYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbi10b3A6IDZyZW07XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmMtc2xpZGVyLWRvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IC0uNHJlbTtcbiAgICB3aWR0aDogLjhyZW07XG4gICAgaGVpZ2h0OiAuOHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjdzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDJiNWUyO1xuICAgIH1cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMDJiNWUyO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcyBlYXNlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLS40cmVtO1xuICAgICAgd2lkdGg6IC44cmVtO1xuICAgICAgaGVpZ2h0OiAuOHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMmI1ZTI7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY2FzZS1zbGlkZXItYXJyb3ctbG9vcCB7XG4gIDAlICAgeyBsZWZ0OiA1MCU7ICBvcGFjaXR5OiAxOyB9XG4gIDQwJSAgeyBsZWZ0OiAtNTAlOyBvcGFjaXR5OiAwOyB9XG4gIDQxJSAgeyBsZWZ0OiAxNTAlOyBvcGFjaXR5OiAwOyB9XG4gIDEwMCUgeyBsZWZ0OiA1MCU7ICBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgY2FzZS1zbGlkZXItYXJyb3ctbG9vcC1yZXYge1xuICAwJSAgIHsgbGVmdDogNTAlOyAgb3BhY2l0eTogMTsgfVxuICA0MCUgIHsgbGVmdDogMTUwJTsgb3BhY2l0eTogMDsgfVxuICA0MSUgIHsgbGVmdDogLTUwJTsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgbGVmdDogNTAlOyAgb3BhY2l0eTogMTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBjYXNlX19jYXJk77yIYy1jYXNlLWNhcmQg44KS44OI44OD44OX55So44Gr44Oq44ON44O844Og44CC5b6M44Gn5pu444GN5o+b44GI5LqI5a6a77yJXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXNlX19jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDUuNXJlbTtcbiAgd2lkdGg6IDEwMHJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuXG4gIEBpbmNsdWRlIG1xKDc2NywgMTAyNCkge1xuICAgIHBhZGRpbmc6IDNyZW0gMi41cmVtO1xuICB9XG4gIEBpbmNsdWRlIHNwIHtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMS41cmVtO1xuICAgIHdpZHRoOiAzM3JlbTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzcmVtKTtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgLmNhc2VfX2NhcmQtaW1nIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuICAgIC5jYXNlX19jYXJkLXRleHQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIC5jYXNlX19jYXJkLWJ0biB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgJi1pY29uIHtcbiAgICAgICAgJjo6YmVmb3JlIHsgbGVmdDogMnJlbTsgfVxuICAgICAgICAmOjphZnRlciAgeyBsZWZ0OiAwOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTJyZW07XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAuOHJlbSAycmVtO1xuICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyZGE0ZTMsICM3OGRhZGUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtMjtcblxuICAgIEBpbmNsdWRlIG1xKDAsIDEwMjQpIHtcbiAgICAgIHRvcDogLTEuNXJlbTtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDJyZW0gLjZyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDhweCAwO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmc6IC42cmVtIDFyZW07XG4gICAgICBtaW4td2lkdGg6IDhyZW07XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM5LjdyZW07XG4gICAgZ2FwOiA0cmVtO1xuXG4gICAgQGluY2x1ZGUgbXEoMCwgMTAyNCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAxLjVyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGdhcDogMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAtLjVyZW0gMDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi10ZXJtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nOiAwIDJyZW0gLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNlYWVhZWE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgQGluY2x1ZGUgbXEoMCwgMTAyNCkge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtdGV4dCArICYtdGVybSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcblxuICAgIEBpbmNsdWRlIG1xKDAsIDEwMjQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDI4IC8gMTYpO1xuXG4gICAgQGluY2x1ZGUgbXEoMCwgMTAyNCkge1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtdGFncyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIG1xKDAsIDEwMjQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDAuNXJlbSAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIH1cbiAgfVxuICAmLXRhZyB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG5cbiAgICBAaW5jbHVkZSBtcSgwLCAxMDI0KSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmLWltZyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMzkuN3JlbTtcbiAgICBoZWlnaHQ6IDI5LjhyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtcSgwLCAxMDI0KSB7XG4gICAgICBvcmRlcjogLTE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGFzcGVjdC1yYXRpbzogMzk3IC8gMjk4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgIH1cbiAgfVxuXG4gICYtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHdpZHRoOiAxN3JlbTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtIDAgMXJlbSAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJkYTRlMywgIzc4ZGFkZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAmLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMnJlbTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi9jb250ZW50cy9hc3NldHMvaW1nL3V0aWxpdHkvaWNvX2Fycm93X2JsdWUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzIGN1YmljLWJlemllciguMjUsIC4xLCAuMjUsIDEpO1xuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHsgbGVmdDogMDsgfVxuICAgICAgJjo6YWZ0ZXIgIHsgbGVmdDogLTFyZW07IH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiB1c2VmdWwtY29udGVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVzZWZ1bC1jb250ZW50cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDE2cmVtIDA7XG4gIG1heC13aWR0aDogMTUycmVtO1xuXG4gIEBpbmNsdWRlIHNwIHtcbiAgICBwYWRkaW5nOiAxMHJlbSAwO1xuICB9XG5cbiAgLyog55S76Z2i5bmFMTAwJeOAgeOCu+OCr+OCt+ODp+ODs+mrmOOBlSs2cmVtIOOBruiDjOaZr+OAglxuICAgICDjga/jgb/lh7rjgZfjgZ8gNnJlbSDjga/mrKHjga4gbmV3cyDjgrvjgq/jgrfjg6fjg7Pjga7kuIvjgavmvZzjgorovrzjgoAgKi9cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA2cmVtKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmLCAjRUFFQUVBKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDZyZW07XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19sZWZ0LFxuICAmX19yaWdodCB7XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuICB9XG5cbiAgJl9fcmlnaHQge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNTguM3JlbTtcbiAgfVxuXG4gIC50aXRsZS0xX19qYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19sZWFkIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDI4IC8gMTYpO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmX192aXN1YWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA5cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiA1NnJlbTtcbiAgICBhc3BlY3QtcmF0aW86IDU2MCAvIDMxNTtcbiAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2U7XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IDRyZW07XG4gICAgfVxuXG4gICAgJiB+ICYge1xuICAgICAgQGluY2x1ZGUgc3Age1xuICAgICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2RpdmlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDZyZW0gMCA2cmVtIC0xcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMy41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYyg1OCAvIDQwKTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogY2FsYygzNSAvIDI0KTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyLjNyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgdG9wOiBjYWxjKCgxZW0gKiAzNSAvIDI0IC0gMS41cmVtKSAvIDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIOODmeODvOOCuTog44Kw44Os44O8ICovXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiNGI0YjQ7XG4gICAgfVxuXG4gICAgLyog44Kq44O844OQ44O844Os44KkOiDpnZLjgrDjg6njg4fjgILjgqLjgq/jg4bjgqPjg5bmmYLjgavjg5Xjgqfjg7zjg4njgqTjg7Pjgafmu5HjgonjgYvjgavliIfjgormm7/jgYggKi9cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvci1icmFuZC0yLCAkY29sb3ItYnJhbmQtMyk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcblxuICAgICAgQGluY2x1ZGUgc3Age1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIOOCouOCr+ODhuOCo+ODlumgheebrjog6Z2S44Kw44Op44OH44Kq44O844OQ44O844Os44Kk44KS6KGo56S6ICovXG4gICZfX2l0ZW0uaXMtYWN0aXZlICZfX2hlYWRpbmc6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJl9fZGVzYyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogY2FsYygyOCAvIDE2KTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuXG4gICZfX25vdGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMzQuNXJlbTtcbiAgICAgIG1hcmdpbjogM3JlbSBhdXRvIDA7XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIG5ld3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5ld3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMTZyZW0gMDtcbiAgbWF4LXdpZHRoOiAxNTJyZW07XG5cbiAgQGluY2x1ZGUgc3Age1xuICAgIHBhZGRpbmc6IDEwcmVtIDA7XG4gIH1cblxuICAvKiDnlLvpnaLluYUxMDAl44Gu55m96IOM5pmv44CC5Y+z5LiK44GrNnJlbeOBrnJhZGl1cyAqL1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNnJlbSAwIDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDNyZW0gMCAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzNXJlbSAxZnI7XG4gICAgZ2FwOiA2cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDNyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogN3JlbTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS0xIHtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtMV9famEge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBncmlkLXJvdzogMztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAzNC41cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICB9XG4gIH1cblxuICAuYy1uZXdzIHtcbiAgICBtYXJnaW4tdG9wOiAtM3JlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDk2cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIHJlY3J1aXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnJlY3J1aXQge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogMTUycmVtO1xuXG4gIEBpbmNsdWRlIHNwIHtcbiAgICBwYWRkaW5nOiAxMHJlbSAwO1xuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdhcDogNnJlbTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAgIGdhcDogM3JlbTtcbiAgICB9XG4gIH1cblxuICAmX19sZWZ0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA3cmVtO1xuXG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLTEge1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS0xX19qYSB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19idXR0b24ge1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDM0LjVyZW07XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAmX19yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yMHJlbTtcblxuICAgIEBpbmNsdWRlIG1xKDc2OCwgMTkyMCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtaW4oLTUwcHgsIGNhbGMoMTcyMHB4IC0gMTAwdncpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMTUuOHJlbTtcbiAgICBhc3BlY3QtcmF0aW86IDExNTggLyA1NzI7XG5cbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIHdpZHRoOiAxMDh2dztcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGFzcGVjdC1yYXRpbzogNDA1IC8gMjAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEuNXJlbSAtIDIyIC8gMzc1ICogMTAwdncpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIHZhcmlhYmxlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGltZ+ODh+OCo+ODrOOCr+ODiOODquOBvuOBp+OBruODkeOCuVxuJGltZy1kaXI6IFwiLi4vaW1nXCI7XG5cbi8vIOOCs+ODs+ODhuODs+ODhOW5hVxuJGNvbnRlbnQtd2lkdGg6IDEyMDBweDtcblxuLy8gU1DmmYLjga7lt6blj7Pjga7kvZnnmb3vvIjniYfmlrnvvIlcbiRzcC1zaWRlLXBhZGRpbmc6IDIwcHg7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBicmVha3BvaW50XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8g5LiL6KiYMuOBpOOBruWkieaVsOOBrumWk+OBjOOCv+ODluODrOODg+ODiOihqOekulxuLy8g44K/44OW44Os44OD44OI6KGo56S644Gq44GX44Gu5aC05ZCI44GvMuOBpOOBruWkieaVsOOBruWApOOCkuOAjDFweOW3ruOAjeOBp+ioreWumuOBmeOCi+OBk+OBqFxuXG4vLyAkcGMtYnDku6XkuIrjgYxQQ+ihqOekulxuJHBjLWJwOiA3NjhweDtcblxuLy8gJHNwLWJw5Lul5LiL44GMU1DooajnpLpcbiRzcC1icDogNzY3cHg7XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTUCBzaWRlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJHNwc2lkZTogMS41cmVtO1xuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZm9udFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRmb250LTE6IFwiTm90byBTYW5zIEpQXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIkhpcmFnaW5vIEtha3UgR290aGljIFByb1wiLCBcIua4uOOCtOOCt+ODg+OCr1wiLCBZdUdvdGhpYywgc2Fucy1zZXJpZjtcbiRmb250LTI6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGNvbG9yXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGJsYWNrOiAjMjIyO1xuJHdoaXRlOiAjZmZmO1xuJGxpbms6ICMwMGI1ZTI7XG4kbGluazI6ICMwMmI1ZTI7XG5cbiRjb2xvci1icmFuZC0xOiAjMzRhOGUyO1xuJGNvbG9yLWJyYW5kLTI6ICMyZGE0ZTM7XG4kY29sb3ItYnJhbmQtMzogIzc4ZGFkZTtcblxuJGNvbG9yLTE6ICMwMDA7XG4kY29sb3ItMjogIzAwMDtcbiRjb2xvci0zOiAjMDAwO1xuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ1NTIFRyYW5zaXRpb24gRWFzaW5nXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVmYXVsdFxuJGxpbmVhcjogY3ViaWMtYmV6aWVyKC4yNTAsIC4yNTAsIC43NTAsIC43NTApO1xuJGVhc2U6IGN1YmljLWJlemllciguMjUwLCAuMTAwLCAuMjUwLCAxLjAwMCk7XG4kZWFzZS1pbjogY3ViaWMtYmV6aWVyKC40MjAsIC4wMDAsIDEuMDAwLCAxLjAwMCk7XG4kZWFzZS1vdXQ6IGN1YmljLWJlemllciguMDAwLCAuMDAwLCAuNTgwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQ6IGN1YmljLWJlemllciguNDIwLCAuMDAwLCAuNTgwLCAxLjAwMCk7XG4vLyBJblxuJGVhc2VJblF1YWQ6IGN1YmljLWJlemllciguNTUwLCAuMDg1LCAuNjgwLCAuNTMwKTtcbiRlYXNlSW5DdWJpYzogY3ViaWMtYmV6aWVyKC41NTAsIC4wNTUsIC42NzUsIC4xOTApO1xuJGVhc2VJblF1YXJ0OiBjdWJpYy1iZXppZXIoLjg5NSwgLjAzMCwgLjY4NSwgLjIyMCk7XG4kZWFzZUluUXVpbnQ6IGN1YmljLWJlemllciguNzU1LCAuMDUwLCAuODU1LCAuMDYwKTtcbiRlYXNlSW5TaW5lOiBjdWJpYy1iZXppZXIoLjQ3MCwgLjAwMCwgLjc0NSwgLjcxNSk7XG4kZWFzZUluRXhwbzogY3ViaWMtYmV6aWVyKC45NTAsIC4wNTAsIC43OTUsIC4wMzUpO1xuJGVhc2VJbkNpcmM6IGN1YmljLWJlemllciguNjAwLCAuMDQwLCAuOTgwLCAuMzM1KTtcbiRlYXNlSW5CYWNrOiBjdWJpYy1iZXppZXIoLjYwMCwgLS4yODAsIC43MzUsIC4wNDUpO1xuLy8gT3V0XG4kZWFzZU91dFF1YWQ6IGN1YmljLWJlemllciguMjUwLCAuNDYwLCAuNDUwLCAuOTQwKTtcbiRlYXNlT3V0Q3ViaWM6IGN1YmljLWJlemllciguMjE1LCAuNjEwLCAuMzU1LCAxLjAwMCk7XG4kZWFzZU91dFF1YXJ0OiBjdWJpYy1iZXppZXIoLjE2NSwgLjg0MCwgLjQ0MCwgMS4wMDApO1xuJGVhc2VPdXRRdWludDogY3ViaWMtYmV6aWVyKC4yMzAsIDEuMDAwLCAuMzIwLCAxLjAwMCk7XG4kZWFzZU91dFNpbmU6IGN1YmljLWJlemllciguMzkwLCAuNTc1LCAuNTY1LCAxLjAwMCk7XG4kZWFzZU91dEV4cG86IGN1YmljLWJlemllciguMTkwLCAxLjAwMCwgLjIyMCwgMS4wMDApO1xuJGVhc2VPdXRDaXJjOiBjdWJpYy1iZXppZXIoLjA3NSwgLjgyMCwgLjE2NSwgMS4wMDApO1xuJGVhc2VPdXRCYWNrOiBjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwgLjMyMCwgMS4yNzUpO1xuLy8gSW4gT3V0XG4kZWFzZUluT3V0UXVhZDogY3ViaWMtYmV6aWVyKC40NTUsIC4wMzAsIC41MTUsIC45NTUpO1xuJGVhc2VJbk91dEN1YmljOiBjdWJpYy1iZXppZXIoLjY0NSwgLjA0NSwgLjM1NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1YXJ0OiBjdWJpYy1iZXppZXIoLjc3MCwgLjAwMCwgLjE3NSwgMS4wMDApO1xuJGVhc2VJbk91dFF1aW50OiBjdWJpYy1iZXppZXIoLjg2MCwgLjAwMCwgLjA3MCwgMS4wMDApO1xuJGVhc2VJbk91dFNpbmU6IGN1YmljLWJlemllciguNDQ1LCAuMDUwLCAuNTUwLCAuOTUwKTtcbiRlYXNlSW5PdXRFeHBvOiBjdWJpYy1iZXppZXIoMS4wMDAsIC4wMDAsIC4wMDAsIDEuMDAwKTtcbiRlYXNlSW5PdXRDaXJjOiBjdWJpYy1iZXppZXIoLjc4NSwgLjEzNSwgLjE1MCwgLjg2MCk7XG4kZWFzZUluT3V0QmFjazogY3ViaWMtYmV6aWVyKC42ODAsIC0uNTUwLCAuMjY1LCAxLjU1MCk7XG5cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBtaXhpblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBjbGVhcmZpeFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBjZiB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIHNhZmUtYXJlYVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBzYWZlX2FyZWEge1xuICBwYWRkaW5nLXRvcDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICBwYWRkaW5nLWJvdHRvbTogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG4gIHBhZGRpbmctbGVmdDogY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBh44K/44Kw44Gu44Kr44Op44O85aSJ5pu0XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGEtdGFnKCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgJjpsaW5rLFxuICAmOmFjdGl2ZSxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjI7XG4gIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIOODl+ODrOODvOOCueODm+ODq+ODgOODvOOBruOCq+ODqeODvOWkieabtFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3IpIHtcbiAgJjpwbGFjZWhvbGRlci1zaG93biB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gbWVkaWEgcXVlcnlcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gbXEoJG1pbi13aWR0aCwgJG1heC13aWR0aCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXdpZHRoICsgcHgpIGFuZCAobWF4LXdpZHRoOiAkbWF4LXdpZHRoICsgcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIG1xX21pbigkd2lkdGgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZHRoICsgcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIG1xX21heCgkd2lkdGgpIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHdpZHRoICsgcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBkZXZpY2VcbkBtaXhpbiBwYyB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwYy1icCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gc3Age1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc3AtYnApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHRhYiB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzcC1icCArIDFweCkgYW5kIChtYXgtd2lkdGg6ICRwYy1icCAtIDFweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5AbWl4aW4gcGNfdGFiIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNwLWJwICsgMXB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBtaXhpbiBzcF90YWIge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGMtYnAgLSAxcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuQG1peGluIHBjX2NvbnRlbnQge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcGMtYnApIGFuZCAobWF4LXdpZHRoOiAkY29udGVudC13aWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBjc3MgaGFja1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENocm9tZShhbmQgU2FmYXJpLCBPcGVyYSlcbkBtaXhpbiBjaHJvbWUge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gRmlyZUZveFxuQG1peGluIGZpcmVmb3gge1xuICBfOmxhbmcoeCk6Oi1tb3otcGxhY2Vob2xkZXIsXG4gICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4vLyBFZGdlXG5AbWl4aW4gZWRnZSB7XG4gIF86bGFuZyh4KTo6LW1zLSxcbiAgJiB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbi8vIElFKDExKVxuQG1peGluIGllIHtcbiAgXzotbXMtbGFuZyh4KTo6LW1zLWJhY2tkcm9wLFxuICAmIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gU2FmYXJpXG5AbWl4aW4gc2FmYXJpIHtcbiAgXzpsYW5nKHgpICsgXzotd2Via2l0LWZ1bGwtc2NyZWVuLWRvY3VtZW50LFxuICAmIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gb2JqZWN0IGZpdCBpbWFnZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gb2ZpKCRzaXplKSB7XG4gIG9iamVjdC1maXQ6ICRzaXplO1xuXG4gIEBpbmNsdWRlIGllIHtcbiAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiAjeyRzaXplfTtcIjtcbiAgfVxufVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaGlkZSBzY3JvbGxiYXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gaGlkZS1zY3JvbGxiYXIge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGxpbmUgY2xhbXBcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gbGluZS1jbGFtcCgkbGluZSkge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZTtcbn1cblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGhvdmVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGhvdmVyIHtcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl19 */



