@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100..900&display=swap");
/* -------------- layout --------------*/
:root {
  --c-font: #313131;
  --c-fontLight: #535353;
  --c-primary: #7018aa;
  --c-light: #bb73f3;
  --c-success: #ffc13e;
  --c-green: #85e375;
  --c-green2: #76e3c6;
  --c-blue: #61ceed;
  --c-pink: #ff7abc;
  --c-white: #fff;
  --c-grey: #dddddd;
  --c-border: #e5e5e5;
}

.clearfloat, .unreset {
  zoom: 1;
}
.clearfloat:before, .unreset:before, .clearfloat:after, .unreset:after {
  content: "";
  display: block;
}
.clearfloat:after, .unreset:after {
  clear: both;
}

.page-field .field-item .content .no {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

.page-member .login-sec p, .page-glance p, .page-field p, .page-committee p, .index-wrapper p, footer p, .header-wrapper p, .form-style p, .page-banner p, .breadcrumb-row p, aside p, .page-member .login-sec h1, .page-glance h1, .page-field h1, .page-committee h1, .index-wrapper h1, footer h1, .header-wrapper h1, .form-style h1, .page-banner h1, .breadcrumb-row h1, aside h1, .page-member .login-sec h2, .page-glance h2, .page-field h2, .page-committee h2, .index-wrapper h2, footer h2, .header-wrapper h2, .form-style h2, .page-banner h2, .breadcrumb-row h2, aside h2, .page-member .login-sec h3, .page-glance h3, .page-field h3, .page-committee h3, .index-wrapper h3, footer h3, .header-wrapper h3, .form-style h3, .page-banner h3, .breadcrumb-row h3, aside h3, .page-member .login-sec h4, .page-glance h4, .page-field h4, .page-committee h4, .index-wrapper h4, footer h4, .header-wrapper h4, .form-style h4, .page-banner h4, .breadcrumb-row h4, aside h4, .page-member .login-sec h5, .page-glance h5, .page-field h5, .page-committee h5, .index-wrapper h5, footer h5, .header-wrapper h5, .form-style h5, .page-banner h5, .breadcrumb-row h5, aside h5, .page-member .login-sec h6, .page-glance h6, .page-field h6, .page-committee h6, .index-wrapper h6, footer h6, .header-wrapper h6, .form-style h6, .page-banner h6, .breadcrumb-row h6, aside h6 {
  margin: 0;
}
.page-member .login-sec ul, .page-glance ul, .page-field ul, .page-committee ul, .index-wrapper ul, footer ul, .header-wrapper ul, .form-style ul, .page-banner ul, .breadcrumb-row ul, aside ul, .page-member .login-sec ol, .page-glance ol, .page-field ol, .page-committee ol, .index-wrapper ol, footer ol, .header-wrapper ol, .form-style ol, .page-banner ol, .breadcrumb-row ol, aside ol {
  padding-left: 0;
  margin: 0;
}
.page-member .login-sec ul, .page-glance ul, .page-field ul, .page-committee ul, .index-wrapper ul, footer ul, .header-wrapper ul, .form-style ul, .page-banner ul, .breadcrumb-row ul, aside ul {
  list-style: none;
}
.page-member .login-sec ol, .page-glance ol, .page-field ol, .page-committee ol, .index-wrapper ol, footer ol, .header-wrapper ol, .form-style ol, .page-banner ol, .breadcrumb-row ol, aside ol {
  padding-left: 20px;
}

* {
  box-sizing: border-box;
  outline: none;
  word-break: break-word;
  text-spacing-trim: trim-start;
}

html,
body {
  max-width: 1920px;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

body {
  font-family: "Open Sans", Arial, "Noto Sans TC", sans-serif;
  -webkit-text-size-adjust: 100%;
}

.hide {
  display: none !important;
}

a,
button {
  text-decoration: none;
  transition: all 0.4s ease;
}

.page-banner {
  color: var(--c-font);
  padding-block: 35px;
}
.page-banner .top-des {
  font-size: clamp(1.125rem, 1.5vw, 1.5rem);
  line-height: 1;
  max-width: 1760px;
  margin-inline: auto;
  margin-bottom: 25px;
}
.page-banner .sep-line {
  align-items: baseline;
  display: flex;
  justify-content: center;
  font-size: clamp(3.75rem, 13vw, 15.3125rem);
  line-height: 1;
  margin-bottom: 25px;
  gap: 25px;
}
.page-banner .sep-line > p {
  line-height: 0.8;
  letter-spacing: 1px;
  word-break: keep-all;
}
.page-banner .img-sec {
  flex-shrink: 0;
}
.page-banner .img-sec img {
  display: block;
}
.page-banner .right-text {
  font-weight: 900;
  text-transform: uppercase;
}
.page-banner .bottom-text {
  font-size: clamp(1rem, 1.5vw, 1.5rem);
  line-height: 1.3;
}
.page-banner .bottom-text.is-center {
  margin-left: auto;
  width: 49.8%;
}

.breadcrumb-row {
  border-top: 1px solid var(--c-font);
  border-bottom: 1px solid var(--c-font);
  padding-block: 15px;
}
.breadcrumb-row p,
.breadcrumb-row a {
  color: var(--c-font);
  display: block;
  font-size: 0.875rem;
  line-height: 1.2;
}
.breadcrumb-row a:hover {
  color: var(--c-primary);
}
.breadcrumb-row .breadcrumb {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 4px 0;
}
.breadcrumb-row li:not(:last-child) {
  position: relative;
  padding-right: 15px;
}
.breadcrumb-row li:not(:last-child)::after {
  position: absolute;
  top: -1px;
  right: 6px;
  content: "/";
  color: var(--c-font);
  font-size: 0.875rem;
}
.breadcrumb-row .home a {
  align-items: center;
  display: flex;
  gap: 5px;
}
.breadcrumb-row .home a img {
  display: block;
  width: 25px;
}

.page-row {
  padding-block: clamp(20px, 4vw, 70px) clamp(30px, 4vw, 70px);
}
.page-row .page-title-text {
  color: var(--c-font);
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: clamp(20px, 2vw, 30px);
  margin-top: 0;
}
.page-row .main-des p {
  color: var(--c-font);
  font-size: clamp(1rem, 1.3vw, 1.1875rem);
  line-height: 1.6;
}

aside {
  margin-bottom: clamp(30px, 3vw, 50px);
}
aside .aside-list {
  --w-shadow: 5px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px 25px;
}
aside .aside-list li.active a {
  box-shadow: var(--w-shadow) var(--w-shadow) 0 var(--c-font);
}
aside .aside-list a {
  border-radius: 30px;
  border: 1px solid var(--c-font);
  color: var(--c-font);
  display: block;
  font-size: clamp(1rem, 1.5vw, 1.125rem);
  line-height: 1.2;
  padding: clamp(10px, 1vw, 15px) clamp(15px, 1.5vw, 23px);
}
aside .aside-list a:hover {
  border-color: var(--c-success);
  background: var(--c-success);
  color: var(--c-primary);
}

.member-list {
  --grid-max-col-count: 4;
  --grid-min-col-size: 200px;
  --grid-gap: clamp(35px, 4vw, 70px);
  --grid-col-size-calc: calc((100% - var(--grid-gap) * var(--grid-max-col-count) + var(--grid-gap)) / var(--grid-max-col-count));
  --grid-col-min-size-calc: min(100%,
  		max(var(--grid-min-col-size), var(--grid-col-size-calc)));
  display: grid;
  gap: clamp(35px, 4vw, 70px) var(--grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-col-min-size-calc), 1fr));
  max-width: 1500px;
  margin-inline: auto;
}
.member-list .member-item {
  --p-avatar: clamp(6px, 1vw, 15px);
  --c-main: var(--c-blue);
  display: block;
}
.member-list .member-item:hover .avatar {
  transform: rotateY(360deg);
  transition: all 0.5s ease-in-out;
}
.member-list .member-item:nth-child(4n+2) {
  --c-main: var(--c-success);
}
.member-list .member-item:nth-child(4n+3) {
  --c-main: var(--c-pink);
}
.member-list .member-item:nth-child(4n) {
  --c-main: var(--c-green2);
}
.member-list .member-item .avatar {
  background: var(--c-main);
  border-radius: 50%;
  padding-top: var(--p-avatar);
  padding-right: var(--p-avatar);
}
.member-list .member-item .avatar img {
  border-radius: 50%;
  overflow: hidden;
  display: block;
  width: 100%;
}
.member-list .member-item .memeber-info {
  text-align: center;
  margin-top: clamp(20px, 3vw, 35px);
}
.member-list .member-item .memeber-info .sub-title {
  color: var(--c-main);
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  font-weight: bold;
}
.member-list .member-item .memeber-info .name {
  color: var(--c-font);
  margin-top: 10px;
  font-size: clamp(1.125rem, 1.5vw, 1.25rem);
}

.btn-back {
  border-radius: 30px;
  background: var(--c-light);
  color: var(--c-white);
  display: block;
  font-size: 1.0625rem;
  padding: 10px;
  margin-inline: auto;
  margin-top: 30px;
  text-align: center;
  width: 160px;
}
.btn-back:hover {
  background: var(--c-success);
  color: var(--c-primary);
}

.contact-map {
  width: 100%;
  height: 400px;
}
.contact-map iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.unreset {
  line-height: initial;
}
.unreset a {
  text-decoration: underline;
  transition: none;
}
.unreset img {
  max-width: 100% !important;
  height: auto !important;
}
.unreset .oembed-provider-youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.unreset .oembed-provider-youtube iframe,
.unreset .oembed-provider-youtube object,
.unreset .oembed-provider-youtube embed {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.unreset p {
  font-size: 1rem;
  line-height: 1.6;
}
.unreset .info-title.is-green p {
  background: var(--c-green2);
}
.unreset .info-title p {
  border-radius: 30px;
  background: var(--c-blue);
  color: var(--c-white);
  display: inline-block;
  font-size: 1.1875rem;
  padding: 8px 25px;
  margin: 0;
}

/* -------------- layout RWD --------------*/
@media (max-width: 1024px) {
  .page-banner .bottom-text {
    text-align: center;
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .page-banner .sep-line {
    gap: 15px;
  }
  .breadcrumb-row {
    padding-block: 10px;
  }
  .breadcrumb-row .breadcrumb {
    justify-content: flex-start;
  }
  .breadcrumb-row .home a img {
    width: 15px;
  }
  aside .aside-list {
    --w-shadow: 3px;
    gap: 15px;
  }
}
@media (max-width: 640px) {
  .page-banner {
    padding-block: 15px;
  }
  .page-banner .top-des {
    display: none;
  }
  .page-banner .sep-line {
    align-items: center;
    flex-direction: column;
    margin-bottom: 10px;
  }
  .page-banner .sep-line > p {
    letter-spacing: 0;
  }
  .breadcrumb-row li:not(:last-child)::after {
    top: -3px;
  }
  .breadcrumb-row a,
  .breadcrumb-row p {
    font-size: 0.75rem;
  }
  aside .aside-list {
    --w-shadow: 0;
    gap: 0;
    flex-direction: column;
  }
  aside .aside-list li {
    padding-left: 15px;
    position: relative;
  }
  aside .aside-list li:before {
    position: absolute;
    top: 15px;
    left: 0;
    width: 5px;
    height: 7px;
    background: var(--c-primary);
    content: "";
  }
  aside .aside-list li.active {
    background: #f5eef9;
  }
  aside .aside-list li + li {
    border-top: 1px dotted var(--c-grey);
  }
  aside .aside-list a {
    border-radius: 0;
    padding: 10px 0;
    border: none;
  }
  .member-list .member-item .avatar {
    max-width: 80%;
    margin-inline: auto;
  }
}
/* -------------- container --------------*/
.m-wrapper {
  max-width: calc(1700px + clamp(15px, 3vw, 60px) * 2);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  padding-inline: clamp(15px, 3vw, 60px);
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-wrapper iframe,
.video-wrapper object,
.video-wrapper embed {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.page-wrapper {
  padding: 10px;
  padding-top: 0;
}

/* -------------- container RWD --------------*/
@media (max-width: 640px) {
  .page-warpper {
    padding: 5px;
    padding-top: 0;
  }
}
/* -------------- form --------------*/
button,
input[type=reset],
input[type=submit] {
  cursor: pointer;
}

input[type=reset],
input[type=submit],
input[type=text],
input[type=email],
input[type=tel],
textarea,
select,
input[type=date],
input[type=time],
input[type=number],
input[type=password],
input[type=url],
button {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
  font-family: "Open Sans", Arial, "Noto Sans TC", sans-serif;
  box-shadow: none;
  border: none;
  outline: none;
}

select::-ms-expand {
  display: none;
}

.select-style {
  border: 1px solid var(--c-font);
  border-radius: 3px;
  background: linear-gradient(to left, var(--c-white) 35px, var(--c-font) 35px, var(--c-font) 36px, var(--c-white) 36px);
  position: relative;
}
.select-style:before {
  position: absolute;
  top: 50%;
  right: 10px;
  content: "\f0dd";
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  color: var(--c-primary);
  transform: translateY(-80%);
}
.select-style select {
  background: transparent;
  padding: 15px 20px;
  padding-right: 35px;
  position: relative;
  color: var(--c-font);
  font-size: 1rem;
  line-height: 1.3;
  width: 100%;
  z-index: 1;
}

.pw-field {
  position: relative;
}
.pw-field .pw-eye {
  position: absolute;
  top: 50%;
  right: 10px;
  background: none;
  padding: 0;
  transform: translateY(-50%);
  width: 20px;
}
.pw-field .pw-eye.open img {
  display: none;
}
.pw-field .pw-eye.open img:nth-child(2) {
  display: block;
}
.pw-field .pw-eye img {
  display: block;
  width: 100%;
}
.pw-field .pw-eye img:nth-child(2) {
  display: none;
}

.price-fm {
  font-size: 1rem;
  line-height: 1;
}
.price-fm:before {
  content: "NT$";
  display: inline-block;
  padding-right: 5px;
}

.radio-item,
.checked-item {
  align-items: baseline;
  display: inline-flex;
  gap: 8px;
}
.radio-item input,
.checked-item input {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  outline: 1px solid #aaa;
}
.radio-item span,
.checked-item span {
  color: var(--c-font);
  font-size: 1rem;
  line-height: 1.4;
}

.radio-item input {
  border: 2px solid var(--c-white);
  border-radius: 50%;
}
.radio-item input:checked {
  background: var(--c-primary);
}

.checked-item {
  position: relative;
}
.checked-item:before {
  position: absolute;
  top: 4px;
  left: 1px;
  content: "\f00c";
  color: var(--c-white);
  font-family: "Font Awesome 6 Free";
  font-weight: bold;
  font-size: 0.75rem;
}
.checked-item input {
  border-radius: 15%;
}
.checked-item input:checked {
  outline: 1px solid var(--c-primary);
  background: var(--c-primary);
}

.checked-list {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px 8px;
}

.form-style {
  --gap: max(17px, 1.5vw);
}
.form-style input[type=text],
.form-style input[type=email],
.form-style input[type=tel],
.form-style textarea,
.form-style input[type=date],
.form-style input[type=time],
.form-style input[type=number],
.form-style input[type=password],
.form-style input[type=url] {
  border-radius: 3px;
  border: 1px solid var(--c-font);
  padding: 15px 20px;
  color: var(--c-font);
  font-size: 1rem;
  line-height: 1.3;
  width: 100%;
}
.form-style input[type=text]:focus,
.form-style input[type=email]:focus,
.form-style input[type=tel]:focus,
.form-style textarea:focus,
.form-style input[type=date]:focus,
.form-style input[type=time]:focus,
.form-style input[type=number]:focus,
.form-style input[type=password]:focus,
.form-style input[type=url]:focus {
  border-color: var(--c-primary);
  background: color-mix(in srgb, var(--c-primary) 3%, transparent 97%);
}
.form-style .field-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}
.form-style .field-row + .field-row {
  margin-top: var(--gap);
}
.form-style .address-row {
  grid-template-columns: 2fr 1fr 1fr;
}
.form-style .name-field {
  display: grid;
  grid-template-columns: 1fr 180px;
  gap: var(--gap);
}
.form-style .max-field {
  grid-column: 1/-1;
}
.form-style .field-label {
  display: block;
  margin-bottom: 10px;
}
.form-style .field-label .field-title {
  color: var(--c-font);
  font-size: clamp(1rem, 1.2vw, 1.1875rem);
  font-weight: bold;
}
.form-style .field-label .field-title.must:after {
  content: "*";
  color: red;
  padding-left: 3px;
}
.form-style textarea {
  resize: none;
  height: 350px;
}
.form-style .captcha-row {
  margin-top: max(20px, 2.2vw);
}
.form-style .captcha-row .g-recaptcha {
  display: block;
  margin-inline: auto;
  width: 305px;
}
.form-style .btn-row {
  margin-top: max(20px, 2.2vw);
  display: flex;
  justify-content: center;
  gap: var(--gap);
}
.form-style .btn-row button {
  border-radius: 5px;
  padding: 20px 10px;
  color: var(--c-white);
  font-size: 1.125rem;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  width: 380px;
}
.form-style .btn-row button:hover {
  background: var(--c-primary) !important;
}
.form-style .btn-row .btn-green {
  background: var(--c-green2);
}
.form-style .btn-row .btn-blue {
  background: var(--c-blue);
}
.form-style .term-label {
  cursor: pointer;
}
.form-style .term-label a {
  color: var(--c-font);
  display: inline-block;
}
.form-style .term-label a:hover {
  color: var(--c-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* -------------- form RWD --------------*/
@media (max-width: calc(1200px + clamp(15px, 3vw, 60px) * 2)) {
  .select-style select {
    padding: 12px;
  }
  .form-style input[type=text],
  .form-style input[type=email],
  .form-style input[type=tel],
  .form-style textarea,
  .form-style input[type=date],
  .form-style input[type=time],
  .form-style input[type=number],
  .form-style input[type=password],
  .form-style input[type=url] {
    padding: 12px;
  }
  .form-style .name-field {
    grid-template-columns: 1fr 120px;
  }
}
@media (max-width: 1024px) {
  .form-style .field-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .form-style .field-label {
    margin-bottom: 5px;
  }
  .form-style .name-field {
    grid-template-columns: 1fr;
  }
  .form-style .btn-row button {
    padding: 15px 10px;
  }
}
.empty-row {
  margin-left: auto;
  margin-right: auto;
  padding: 40px 20px;
  max-width: 640px;
}
.empty-row .img-box {
  max-width: 100px;
  margin-left: auto;
  margin-right: auto;
}
.empty-row .img-box img {
  display: block;
  width: 100%;
}
.empty-row .content {
  margin-top: 40px;
  text-align: center;
}
.empty-row .content .title {
  color: #222;
  font-size: 32px;
  line-height: 1.2;
  margin: 0;
}
.empty-row .content .des {
  color: #999;
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  margin-top: 20px;
}
.empty-row .btn-row {
  margin-top: 40px;
}
.empty-row .btn-row .link {
  background: #aaa;
  color: #fff;
  display: block;
  font-size: 17px;
  margin-left: auto;
  margin-right: auto;
  padding: 13px;
  text-align: center;
  text-decoration: inherit;
  transition: all 0.4s;
  width: 120px;
}
.empty-row .btn-row .link:hover {
  background: #777;
}

@media (max-width: 640px) {
  .empty-row .content {
    margin-top: 30px;
  }
  .empty-row .content .title {
    font-size: 26px;
  }
  .empty-row .content .des {
    font-size: 16px;
    margin-top: 15px;
  }
  .empty-row .btn-row {
    margin-top: 30px;
  }
}
.error-row {
  background: url(../images/error-background.svg) no-repeat;
  background-position: center top;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px 20px;
}
.error-row .img-box {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
}
.error-row .img-box img {
  display: block;
  width: 100%;
}
.error-row .img-box .error-code {
  color: #555;
  font-size: 6.25rem;
  font-weight: bold;
  letter-spacing: 5px;
  line-height: 1;
  margin: 0;
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translateX(-57%);
}
.error-row .content {
  margin-top: 50px;
  text-align: center;
}
.error-row .content .title {
  color: #444;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.2;
  margin: 0;
}
.error-row .content .des {
  margin-top: 25px;
}
.error-row .content .des p {
  color: #555;
  font-size: 1.0625rem;
  line-height: 1.6;
  margin: 0;
}
.error-row .content .des p:not(:last-child) {
  margin-bottom: 5px;
}
.error-row .btn-row {
  margin-top: 80px;
}
.error-row .btn-row .link {
  border-radius: 30px;
  background: #666666;
  color: #fff;
  display: block;
  font-size: 1.375rem;
  line-height: 1;
  padding: 18px 13px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-decoration: inherit;
  text-transform: uppercase;
  transition: all 0.4s;
  width: 200px;
}
.error-row .btn-row .link:hover {
  background: #333;
}

@media (max-width: 1440px) {
  .error-row .img-box {
    max-width: 540px;
  }
  .error-row .img-box .error-code {
    font-size: 100px;
  }
  .error-row .btn-row {
    margin-top: 50px;
  }
}
@media (max-width: 1024px) {
  .error-row .img-box {
    max-width: 440px;
  }
  .error-row .img-box .error-code {
    font-size: 4.125rem;
    top: 45%;
  }
  .error-row .btn-row {
    margin-top: 50px;
  }
}
@media (max-width: 640px) {
  .error-row .img-box .error-code {
    font-size: 2.875rem;
    top: 45%;
  }
  .error-row .content {
    margin-top: 30px;
  }
  .error-row .content .title {
    font-size: 26px;
  }
  .error-row .content .des {
    margin-top: 15px;
  }
  .error-row .content .des p {
    font-size: 1rem;
  }
  .error-row .btn-row {
    margin-top: 30px;
  }
  .error-row .btn-row .link {
    font-size: 1.0625rem;
    max-width: 170px;
  }
}
/* -------------- image --------------*/
.banner-img {
  aspect-ratio: 1/0.3684210526;
  object-fit: contain;
  display: block;
  max-width: 100%;
  transition: all 0.4s ease;
}

.news-img {
  aspect-ratio: 1/1;
  object-fit: contain;
  display: block;
  max-width: 100%;
  transition: all 0.4s ease;
}

.speaker-img {
  aspect-ratio: 1/1;
  object-fit: contain;
  display: block;
  max-width: 100%;
  transition: all 0.4s ease;
}

/* -------------- image RWD --------------*/
/* -------------- pagination --------------*/
.page-box {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}
.page-box .page-num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: var(--c-font);
  font-size: 1rem;
  margin-left: 8px;
  margin-right: 8px;
}
.page-box .page-num:hover {
  background: var(--c-font);
  color: var(--c-white);
}
.page-box .page-num.active {
  background: var(--c-primary);
  color: var(--c-white);
}
.page-box .page-num i {
  font-size: 1rem;
}
.page-box .page-select {
  align-items: center;
  display: flex;
  gap: 0 10px;
  margin: 0 20px;
}
.page-box .page-select .select-style {
  background: var(--c-white);
  border: 1px solid var(--c-border);
}
.page-box .page-select select {
  color: var(--c-font);
  font-size: 0.875rem;
  min-width: 70px;
}
.page-box .page-select span {
  color: var(--c-font);
  font-size: 0.875rem;
  display: block;
}

/* -------------- pagination RWD --------------*/
@media (max-width: 640px) {
  .page-box .page-num {
    width: 30px;
    height: 30px;
    margin-left: 3px;
    margin-right: 3px;
  }
  .page-box .page-select {
    margin: 0;
    margin-top: 20px;
    justify-content: center;
    width: 100%;
  }
}
/* -------------- header --------------*/
header {
  padding: 10px;
  position: sticky;
  top: 0;
  z-index: 5;
}

.header-wrapper {
  border-radius: clamp(10px, 2vw, 30px);
  background: var(--c-primary);
  padding-block: clamp(10px, 1.3vw, 25px);
  display: flex;
  justify-content: space-between;
}
.header-wrapper .m-wrapper {
  display: flex;
  justify-content: space-between;
  gap: 0 10px;
}
.header-wrapper .logo-sec {
  display: flex;
  gap: clamp(10px, 1.5vw, 30px);
}
.header-wrapper .logo-sec a {
  display: block;
  width: 100%;
}
.header-wrapper .logo-sec a img {
  display: block;
  width: 100%;
}
.header-wrapper .logo-sec .fasava-logo {
  max-width: clamp(90px, 9vw, 145px);
}
.header-wrapper .logo-sec .tpvma-logo {
  max-width: clamp(150px, 15vw, 240px);
}
.header-wrapper .main-sec {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2vw, 40px);
}
.header-wrapper .close-btn {
  display: none;
}
.header-wrapper .main-ul {
  display: flex;
  gap: 15px;
}
.header-wrapper .main-ul .menu-link {
  color: var(--c-white);
  font-size: 1rem;
  display: block;
  line-height: 1.2;
  letter-spacing: -0.3px;
}
.header-wrapper .active-links {
  display: flex;
  gap: max(10px, 1vw);
}
.header-wrapper .ic-link {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-white);
  display: grid;
  place-items: center;
}
.header-wrapper .ic-link:hover {
  background: var(--c-success);
}
.header-wrapper .ic-link .icon {
  display: block;
  width: 50%;
}
.header-wrapper .lang-swich {
  position: relative;
}
.header-wrapper .lang-list {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  padding-top: 10px;
  width: 100px;
  display: none;
}
.header-wrapper .lang-list li + li {
  margin-top: 5px;
}
.header-wrapper .lang-list li.active a {
  background: var(--c-success);
  color: var(--c-primary);
  font-weight: bold;
}
.header-wrapper .lang-list .lang-link {
  background: var(--c-grey);
  border-radius: 30px;
  color: var(--c-font);
  display: block;
  font-size: 0.875rem;
  line-height: 1;
  padding: 10px;
  text-align: center;
}
.header-wrapper .lang-list .lang-link:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}

.menu-toggle {
  cursor: pointer;
  background: none;
  display: inline-block;
  padding: 8px 0px;
  position: relative;
  user-select: none;
  display: none;
}
.menu-toggle .navicon {
  background: var(--c-white);
  display: block;
  height: 2px;
  position: relative;
  transition: background 0.2s ease-out;
  width: 25px;
}
.menu-toggle .navicon:before, .menu-toggle .navicon:after {
  background: var(--c-white);
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  transition: all 0.2s ease-out;
  width: 100%;
}
.menu-toggle .navicon:before {
  top: 8px;
}
.menu-toggle .navicon:after {
  top: -8px;
}
.menu-toggle.open .navicon {
  background: transparent;
}
.menu-toggle.open .navicon:before {
  transform: rotate(-45deg);
  top: 0;
}
.menu-toggle.open .navicon:after {
  transform: rotate(45deg);
  top: 0;
}

/* -------------- header RWD --------------*/
@media (max-width: 1850px) {
  .header-wrapper {
    padding-bottom: 10px;
  }
  .header-wrapper .m-wrapper {
    flex-direction: column;
  }
  .header-wrapper .main-sec {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding-top: 8px;
    margin-top: 10px;
    justify-content: space-between;
  }
  .header-wrapper .main-nav {
    gap: clamp(25px, 2vw, 40px);
  }
  .header-wrapper .ic-link {
    width: 32px;
    height: 32px;
  }
}
@media (min-width: calc(1200px + clamp(15px, 3vw, 60px) * 2)) {
  .header-wrapper .main-ul .menu-link {
    position: relative;
  }
  .header-wrapper .main-ul .menu-link:hover {
    color: var(--c-success);
  }
  .header-wrapper .main-ul .menu-link:hover:before {
    width: 100%;
  }
  .header-wrapper .main-ul .menu-link:before {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0%;
    height: 1px;
    background: var(--c-success);
    content: "";
    transition: width 0.3s ease-in-out;
  }
}
@media (max-width: calc(1200px + clamp(15px, 3vw, 60px) * 2)) {
  .header-wrapper .m-wrapper {
    flex-direction: row;
  }
  .header-wrapper .main-sec {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
  .header-wrapper nav {
    background: rgba(60, 8, 95, 0.9);
    width: 100%;
    height: 100vh;
    padding: 10px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    transition: background 0.3s ease-in-out;
    display: none;
  }
  .header-wrapper .main-nav {
    transform: translateX(120%);
    transition: transform 0.3s 0.3s ease-in-out;
    width: min(360px, 100%);
    margin-left: auto;
  }
  .header-wrapper .main-nav.open {
    transform: translateX(0);
  }
  .header-wrapper .close-btn {
    background: var(--c-success);
    color: var(--c-primary);
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 1px;
    text-align: center;
    padding: 10px;
    display: block;
    height: 36px;
  }
  .header-wrapper .main-ul {
    display: block;
    background: rgba(255, 255, 255, 0.85);
    padding: 15px;
    height: calc(100vh - 36px - 20px);
  }
  .header-wrapper .main-ul li {
    padding-block: 10px;
  }
  .header-wrapper .main-ul li + li {
    border-top: 1px dashed #aaa;
  }
  .header-wrapper .main-ul .menu-link {
    color: var(--c-font);
  }
  .menu-toggle {
    display: block;
  }
}
@media (max-width: 640px) {
  header {
    padding: 5px;
  }
  .header-wrapper .main-sec {
    gap: 10px;
  }
  .header-wrapper .ic-link {
    width: 24px;
    height: 24px;
  }
  .header-wrapper .logo-sec .fasava-logo {
    width: 75px;
  }
  .header-wrapper .logo-sec .tpvma-logo {
    width: 130px;
  }
  .menu-toggle .navicon {
    width: 21px;
  }
}
/* -------------- footer --------------*/
footer {
  background: #434343;
  padding-top: clamp(35px, 4.5vw, 70px);
  padding-bottom: clamp(30px, 3.5vw, 60px);
}

.ft-wrapper {
  align-items: center;
  display: grid;
  grid-template-columns: 70% 1fr;
  gap: clamp(20px, 2.5vw, 40px);
}
.ft-wrapper .info-sec {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 15px max(20px, 2.5vw);
}
.ft-wrapper .contact-item {
  --gap: 15px;
}
.ft-wrapper .contact-item .contact-title {
  color: var(--c-success);
  font-size: 1.125rem;
  font-weight: bold;
}
.ft-wrapper .contact-item .contact-main {
  margin-top: 10px;
}
.ft-wrapper .contact-item .contact-main > * {
  margin-top: 7px;
}
.ft-wrapper .contact-item .contact-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px var(--gap);
}
.ft-wrapper .contact-item .contact-info {
  display: flex;
  color: var(--c-white);
  font-size: 1rem;
  line-height: 1.4;
}
.ft-wrapper .contact-item .contact-info .info-title {
  flex-shrink: 0;
}
.ft-wrapper .contact-item .contact-info a {
  color: var(--c-white);
  font-size: 1rem;
  line-height: 1.4;
}
.ft-wrapper .contact-item .contact-info .fax {
  cursor: initial;
}
.ft-wrapper .web-rights {
  text-align: right;
}
.ft-wrapper .web-rights .tpvma-logo {
  display: block;
  margin-left: auto;
  max-width: max(190px, 14vw);
  width: 100%;
}
.ft-wrapper .web-rights .rights {
  color: var(--c-white);
  font-size: 0.9375rem;
  text-transform: uppercase;
  line-height: 1.4;
  margin-top: 20px;
}
.ft-wrapper .web-rights .designed {
  color: var(--c-white);
  font-size: 0.875rem;
  line-height: 1.3;
  margin-top: 10px;
}
.ft-wrapper .web-rights .designed a {
  color: var(--c-white);
  font-size: 0.875rem;
  line-height: 1.3;
}
.ft-wrapper .web-rights .designed b {
  font-weight: normal;
}

.btn-top {
  display: block;
  width: 80px;
  position: fixed;
  right: 25px;
  bottom: 10vh;
  display: none;
  z-index: 1;
}
.btn-top:hover .st0 {
  fill: var(--c-white);
}
.btn-top:hover .st2 {
  fill: var(--c-primary);
}
.btn-top svg {
  width: 100%;
}
.btn-top .st0 {
  fill: var(--c-font);
}
.btn-top .st1 {
  fill: black;
}
.btn-top .st2 {
  fill: var(--c-success);
  transition: all 0.4s ease-in-out;
}
.btn-top .circleText {
  animation: rotate 6s linear infinite;
  transform-origin: center center;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* -------------- footer RWD --------------*/
@media (max-width: calc(1200px + clamp(15px, 3vw, 60px) * 2)) {
  .ft-wrapper .info-sec {
    grid-template-columns: 1fr;
  }
  .ft-wrapper .contact-item .contact-main > * {
    margin-top: 3px;
  }
  .ft-wrapper .contact-item .contact-info {
    font-size: 0.875rem;
  }
  .ft-wrapper .contact-item .contact-info a {
    font-size: 0.875rem;
  }
  .ft-wrapper .web-rights .rights {
    font-size: 0.875rem;
    margin-top: 15px;
  }
}
@media (max-width: 960px) {
  .ft-wrapper {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .ft-wrapper .web-rights {
    border-top: 1px dashed rgba(255, 255, 255, 0.3);
    padding-top: 20px;
    margin-top: 20px;
    text-align: center;
  }
  .ft-wrapper .web-rights .tpvma-logo {
    margin-right: auto;
  }
  .ft-wrapper .web-rights .designed {
    margin-top: 5px;
  }
}
@media (max-width: 640px) {
  .ft-wrapper .contact-item .contact-row {
    flex-direction: column;
  }
  .btn-top {
    right: 0;
    width: 40px;
    bottom: 5vh;
  }
}
/* -------------- index --------------*/
.index-wrapper {
  --p-block: clamp(40px, 4vw, 70px);
  padding: 10px;
  padding-top: 0;
  overflow-x: hidden;
}

.index-banner .banner-item {
  border-radius: clamp(10px, 2vw, 30px);
  display: block;
  overflow: hidden;
}

.index-links {
  max-width: calc(1320px + clamp(15px, 3vw, 60px) * 2);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-block: clamp(30px, 6vw, 100px);
}
.index-links .link-item:hover .icon img:nth-child(1) {
  display: none;
}
.index-links .link-item:hover .icon img:nth-child(2) {
  display: block;
}
.index-links .link-item:hover .link-text {
  color: var(--c-primary);
}
.index-links .link-item .icon {
  width: clamp(70px, 8.2vw, 160px);
  height: clamp(70px, 8.2vw, 160px);
  margin-inline: auto;
}
.index-links .link-item .icon img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.index-links .link-item .icon img:nth-child(2) {
  display: none;
}
.index-links .link-item .link-text {
  color: var(--c-font);
  font-size: clamp(1rem, 1.6vw, 1.4375rem);
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  transition: all 0.3s ease-in-out;
  margin-top: 20px;
}

.index-title {
  color: var(--c-font);
  font-size: clamp(1.875rem, 3.3vw, 3.625rem);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: -0.5px;
}
.index-title .hollow-text {
  color: var(--c-white);
  -webkit-text-stroke: 1px var(--c-font);
  text-stroke: 1px var(--c-font);
  /* for Firefox 70+ */
}

.index-news .head-row {
  --p: 25px;
  align-items: flex-end;
  justify-content: space-between;
  display: flex;
}
.index-news .index-title {
  padding-bottom: var(--p);
  width: clamp(200px, 50vw, 850px);
}
.index-news .index-title .hollow-text {
  display: block;
}
.index-news .index-title .bottom-text {
  padding-left: 7.5vw;
}
.index-news .right-sec {
  display: flex;
  align-items: flex-end;
  gap: 25px;
}
.index-news .dec-dog {
  display: block;
  width: clamp(60px, 7.5vw, 140px);
}
.index-news .aw-sec {
  display: flex;
  gap: 15px;
  margin-bottom: var(--p);
}
.index-news .aw-sec button {
  width: clamp(30px, 4vw, 55px);
  height: clamp(30px, 4vw, 55px);
  border: none;
  background: var(--c-green);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.index-news .aw-sec button:hover {
  background: var(--c-primary);
}
.index-news .aw-sec button img {
  display: block;
  width: max(8px, 11%);
}
.index-news .aw-sec .prev-aw img {
  transform: rotate(180deg);
}
.index-news .main-news {
  --w: clamp(150px, 20vw, 370px);
  display: flex;
  margin-top: 40px;
}
.index-news .dec-sec {
  flex-shrink: 0;
  width: var(--w);
}
.index-news .dec-sec .dec-aw {
  padding-left: 2vw;
  padding-top: 2vw;
  padding-right: 5vw;
  display: block;
  width: 100%;
}
.index-news .news-swiper {
  width: calc(100% - var(--w));
}
.index-news .news-swiper .swiper-slide:nth-child(3n) .news-item .news-cover .aw .icon {
  background: var(--c-blue);
}
.index-news .news-swiper .swiper-slide:nth-child(3n+1) .news-item .news-cover .aw .icon {
  background: var(--c-success);
}
.index-news .news-swiper .swiper-slide:nth-child(3n+2) .news-item .news-cover .aw .icon {
  background: var(--c-pink);
}

.index-master {
  align-items: flex-end;
  padding-top: var(--p-block);
  display: grid;
  grid-template-columns: clamp(300px, 30vw, 550px) 1fr;
  gap: 30px clamp(30px, 5vw, 80px);
}
.index-master .master-cover img {
  display: block;
  width: 100%;
}
.index-master .master-intro {
  --gap: clamp(20px, 3vw, 45px);
  padding-bottom: var(--gap);
}
.index-master .master-intro .intro-head {
  margin-bottom: var(--gap);
}
.index-master .master-intro .intro-title {
  color: var(--c-font);
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 15px;
}
.index-master .master-intro .intro-subtitle {
  color: var(--c-font);
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
  font-weight: 600;
  line-height: 1.2;
}
.index-master .master-intro .intro-des {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: var(--c-font);
  font-size: clamp(1rem, 1vw, 1.125rem);
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: var(--gap);
}
.index-master .master-intro .intro-des p + p {
  margin-top: 10px;
}
.index-master .master-intro .more {
  display: inline-flex;
}
.index-master .master-intro .more:hover .text {
  background: var(--c-success);
  color: var(--c-primary);
}
.index-master .master-intro .more:hover .aw {
  background: var(--c-primary);
}
.index-master .master-intro .more:hover .aw .cls-1 {
  fill: var(--c-white);
}
.index-master .master-intro .more .text {
  background: var(--c-light);
  border-radius: 30px;
  color: var(--c-white);
  display: block;
  font-size: clamp(1rem, 1vw, 1.0625rem);
  font-weight: bold;
  padding: 12px;
  text-align: center;
  width: 170px;
}
.index-master .master-intro .more .aw {
  width: 47px;
  height: 47px;
  border: 2px solid var(--c-primary);
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.index-master .master-intro .more .aw svg {
  display: block;
  width: 30%;
}
.index-master .master-intro .more .aw svg .cls-1 {
  fill: var(--c-primary);
}

.index-speaker {
  align-items: center;
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 0 clamp(30px, 5vw, 80px);
  padding-top: var(--p-block);
}
.index-speaker .index-title .dib-span {
  display: inline-block;
}
.index-speaker .speaker-row {
  align-items: center;
  margin-block: clamp(25px, 3vw, 50px);
  display: flex;
  gap: 30px;
}
.index-speaker .speaker-row p {
  border-radius: 15px;
  background: #76e3c6;
  color: var(--c-white);
  font-size: clamp(1.25rem, 1.5vw, 2.0625rem);
  font-weight: bold;
  padding: 15px 10px;
  text-align: center;
  width: 220px;
}
.index-speaker .speaker-row .dec-img {
  display: block;
  width: clamp(45px, 4vw, 75px);
}
.index-speaker .more {
  max-width: 630px;
  width: 100%;
  border-radius: 20px;
  border: 3px solid var(--c-font);
  display: flex;
  justify-content: center;
  padding: 17px 10px;
  gap: 15px;
}
.index-speaker .more:hover {
  background: var(--c-light);
  border-color: var(--c-light);
}
.index-speaker .more:hover span {
  color: var(--c-white);
}
.index-speaker .more span {
  color: var(--c-font);
  font-size: clamp(1.375rem, 2.2vw, 2.375rem);
  font-weight: 600;
}
.index-speaker .more .aw {
  display: block;
  width: clamp(25px, 2vw, 35px);
}
.index-speaker .speaker-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.5vw;
  position: relative;
}
.index-speaker .speaker-list:before {
  width: 48%;
  height: 48%;
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background: url(../images/dec-speaker.svg) no-repeat;
  background-position: center center;
  transform: translate(-50%, -50%);
}
.index-speaker .speaker-list .speaker-item {
  border-radius: 50%;
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
  position: relative;
}
.index-speaker .speaker-list .speaker-item:hover .mask {
  opacity: 1;
}
.index-speaker .speaker-list .speaker-item:hover .mask .speaker-name {
  transform: translateY(0);
  opacity: 1;
}
.index-speaker .speaker-list .speaker-item .mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  display: grid;
  place-items: center;
  transition: all 0.3s ease-in-out;
  opacity: 0;
}
.index-speaker .speaker-list .speaker-item .mask .speaker-name {
  color: var(--c-white);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  transform: translateY(80%);
  transition: all 0.3s ease-in-out;
  opacity: 0;
  width: 100%;
}
.index-speaker .in-mobile {
  display: none;
}

.index-partner {
  padding-block: clamp(60px, 6vw, 100px);
}
.index-partner .partner-list {
  display: flex;
  gap: clamp(20px, 3vw, 50px);
  justify-content: center;
}
.index-partner .partner-item {
  display: block;
}
.index-partner .partner-item:hover img {
  transform: scale(1.1);
}
.index-partner .partner-item img {
  display: block;
  transition: all 0.3s ease-in-out;
  height: clamp(40px, 4vw, 70px);
}

.index-intro {
  background: #fbf5ff;
  border-radius: 20px;
  margin-top: 20px;
  padding-top: var(--p-block);
  padding-bottom: var(--p-block);
}
.index-intro .m-wrapper {
  max-width: 1500px;
}
.index-intro .intro-row {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 10px 40px;
}
.index-intro .logo {
  max-width: 120px;
  margin-top: 15px;
  padding: 13px;
  margin-left: 7px;
  background: var(--c-primary);
  outline: solid 2px #472c7d;
  outline-offset: 5px;
  display: block;
  width: 100%;
}
.index-intro .intro-title {
  color: var(--c-primary);
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: bold;
  line-height: 1.4;
}
.index-intro .intro-des {
  color: var(--c-font);
  font-size: clamp(1rem, 1vw, 1.125rem);
  font-weight: 300;
  line-height: 1.7;
  margin-bottom: var(--gap);
}
.index-intro .intro-des p + p {
  margin-top: 10px;
}

.index-video {
  background: #fbf5ff;
  margin-top: var(--p-block);
  padding-top: var(--p-block);
  padding-bottom: var(--p-block);
  padding-inline: 10px;
}
.index-video .m-wrapper {
  border: 1px solid var(--c-primary);
  background: var(--c-white);
  padding: 10px;
  border-radius: 30px;
  max-width: 1440px;
  overflow: hidden;
}
.index-video video {
  border-radius: 25px;
  overflow: hidden;
  width: 100%;
}

/* -------------- index RWD --------------*/
@media (max-width: 1024px) {
  .index-links .link-item .link-text {
    margin-top: 15px;
  }
  .index-intro .logo {
    display: none;
  }
  .index-intro .intro-row {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 960px) {
  .index-news .index-title {
    width: max(200px, 70vw);
  }
  .index-master {
    grid-template-columns: 1fr;
  }
  .index-master .master-cover {
    max-width: min(340px, 100%);
  }
  .index-speaker {
    grid-template-columns: 1fr;
  }
  .index-speaker .index-title .dib-span {
    padding-right: 8px;
  }
  .index-speaker .speaker-list {
    max-width: 600px;
    margin-inline: auto;
    gap: 35px;
  }
  .index-speaker .more {
    margin-top: 40px;
    margin-inline: auto;
  }
  .index-speaker .in-pc {
    display: none !important;
  }
  .index-speaker .in-mobile {
    display: flex;
  }
}
@media (min-width: 768px) {
  .index-links .link-item:hover .link-text {
    transform: translateY(-8px);
  }
}
@media (max-width: 768px) {
  .index-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 20px;
  }
  .index-links .link-item {
    align-items: center;
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 15px;
  }
  .index-links .link-item .icon {
    width: 100%;
    height: initial;
  }
  .index-links .link-item .link-text {
    text-align: left;
    margin-top: 0;
  }
  .index-news .head-row {
    --p: 20px;
    flex-direction: column;
    position: relative;
    z-index: 2;
  }
  .index-news .index-title {
    width: 100%;
  }
  .index-news .main-news {
    --w: 90px;
    margin-top: -5px;
  }
  .index-news .dec-sec .dec-aw {
    padding-left: 0;
    padding-top: 2vw;
    padding-right: 20px;
  }
}
@media (max-width: 640px) {
  .index-wrapper {
    padding: 5px;
    padding-top: 0;
  }
  .index-links {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
    padding-inline: 10px;
  }
  .index-links .link-item {
    grid-template-columns: 40px 1fr;
    gap: 10px;
  }
  .index-links .link-item .link-text {
    font-size: 0.875rem;
  }
  .index-news .main-news {
    --w: 70px;
  }
  .index-news .dec-sec .dec-aw {
    padding-right: 10px;
  }
  .index-master .master-cover {
    max-width: 240px;
  }
  .index-speaker .more {
    border-radius: 15px;
    padding: 10px;
  }
  .index-video {
    margin-top: 20px;
  }
  .index-video .m-wrapper {
    padding: 5px;
  }
}
/* -------------- news --------------*/
.news-item .news-cover {
  display: block;
  position: relative;
  overflow: hidden;
}
.news-item .news-cover:hover .news-img {
  opacity: 0.75;
}
.news-item .news-cover:hover .aw .icon {
  transform: rotate(45deg);
}
.news-item .news-cover .news-img {
  border-radius: clamp(10px, 2vw, 30px);
  overflow: hidden;
}
.news-item .news-cover .aw {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 75px;
  height: 75px;
  background: var(--c-white);
  border-top-left-radius: clamp(20px, 2vw, 30px);
  padding: 12px;
  margin-right: -12px;
}
.news-item .news-cover .aw::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  background: transparent;
  width: 1.25rem;
  height: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  box-shadow: 0.313rem 0.313rem 0 0.313rem var(--c-white);
  transform: translateX(-100%);
}
.news-item .news-cover .aw::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  background: transparent;
  width: 1.25rem;
  height: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  box-shadow: 0.313rem 0.313rem 0 0.313rem var(--c-white);
  transform: translate(-60%, -100%);
}
.news-item .news-cover .aw .icon {
  background: var(--c-fontLight);
  border-radius: 50%;
  display: grid;
  place-items: center;
  height: 100%;
  transition: all 0.3s ease-in-out;
}
.news-item .news-cover .aw .icon img {
  display: block;
  transform: rotate(-45deg);
  width: 40%;
}
.news-item .news-content {
  padding-top: clamp(20px, 3vw, 35px);
}
.news-item .news-title {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--c-font);
  font-size: clamp(1.125rem, 1.5vw, 1.25rem);
  font-weight: bold;
}
.news-item .news-title:hover {
  color: var(--c-primary);
}
.news-item .des {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: var(--c-font);
  font-size: clamp(0.9375rem, 1vw, 1.0625rem);
  font-weight: 300;
  line-height: 1.5;
  margin-top: 15px;
}

/* -------------- news RWD --------------*/
@media (max-width: 768px) {
  .news-item .news-cover .aw {
    width: 60px;
    height: 60px;
  }
}
/* -------------- about --------------*/
.page-welcome .welcome-main {
  align-items: flex-start;
  display: grid;
  grid-template-columns: clamp(300px, 30vw, 550px) 1fr;
  gap: 30px clamp(30px, 5vw, 80px);
  padding-inline: 2vw;
}
.page-welcome .welcome-main .master-cover img {
  display: block;
  width: 100%;
}
.page-welcome .welcome-main .master-intro {
  --gap: clamp(20px, 3vw, 45px);
  padding-bottom: var(--gap);
}
.page-welcome .welcome-main .master-intro .intro-head {
  margin-bottom: var(--gap);
}
.page-welcome .welcome-main .master-intro .intro-title {
  color: var(--c-font);
  font-size: clamp(1.5rem, 2vw, 2.25rem);
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 15px;
}
.page-welcome .welcome-main .master-intro .intro-subtitle {
  color: var(--c-font);
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
  font-weight: 600;
  line-height: 1.2;
}
.page-welcome .welcome-main .master-intro .intro-des {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: var(--c-font);
  font-size: clamp(1rem, 1vw, 1.125rem);
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: var(--gap);
}
.page-welcome .welcome-main .master-intro .intro-des p + p {
  margin-top: 10px;
}
.page-welcome .welcome-main .sign-row {
  margin-top: 30px;
}
.page-welcome .welcome-main .sign-row .sign {
  display: block;
  margin-block: -0.5em;
  width: 145px;
}

/* -------------- about RWD --------------*/
@media (max-width: 960px) {
  .page-welcome .welcome-main {
    padding: 0;
    grid-template-columns: 1fr;
  }
  .page-welcome .welcome-main .master-cover {
    max-width: min(340px, 100%);
  }
}
/* -------------- program --------------*/
.page-program .page-banner {
  max-width: 1700px;
  margin-inline: auto;
}
.page-program .page-banner .sep-line {
  justify-content: flex-start;
}
.page-program .page-banner .bottom-text {
  font-size: clamp(1rem, 1.3vw, 1.125rem);
}
.page-program .page-title-text {
  text-align: center;
}

.page-glance .dl-row {
  text-align: right;
  margin-bottom: 20px;
}
.page-glance .dl-row .dl-btn {
  align-items: center;
  display: inline-flex;
  gap: 10px;
  color: var(--c-font);
  font-size: clamp(1rem, 1.3vw, 1.125rem);
}
.page-glance .dl-row .dl-btn:hover {
  color: var(--c-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.page-glance .dl-row .dl-btn img {
  width: 35px;
}
.page-glance .tabLinks {
  display: flex;
  gap: 1px;
}
.page-glance .tabLinks li {
  flex: 1;
}
.page-glance .tabLinks li.active a {
  background: var(--c-green2);
  color: var(--c-white);
}
.page-glance .tabLinks li a {
  background: #f1f2f7;
  display: block;
  color: var(--c-font);
  font-size: clamp(1rem, 1.3vw, 1.25rem);
  font-weight: bold;
  text-align: center;
  padding: 15px 5px;
}
.page-glance .tabLinks li a span {
  padding-left: 4px;
}
.page-glance .tabContentGroup {
  margin-top: clamp(30px, 3.5vw, 50px);
}
.page-glance .glance-table {
  overflow-x: auto;
}
.page-glance .glance-table table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  min-width: 1300px;
}
.page-glance .glance-table th,
.page-glance .glance-table td {
  border: 1px solid #f0f0f0;
}
.page-glance .glance-table th {
  background: #222;
  color: var(--c-white);
  font-weight: bold;
  font-size: 0.875rem;
  text-align: center;
  padding: 10px;
}
.page-glance .glance-table td {
  color: var(--c-font);
  font-size: 0.9375rem;
  line-height: 1.3;
  padding: 12px 8px;
}
.page-glance .glance-table td.time-td {
  background: #f9f9f9;
  text-align: center;
  line-height: 1;
}
.page-glance .glance-table .time-td {
  width: 60px;
  position: sticky;
  left: -1px;
  top: 0;
}
.page-glance .glance-table .time-td .time span {
  display: block;
}
.page-glance .glance-table .place-name {
  font-size: 1.1875rem;
  line-height: 1;
}
.page-glance .glance-table .place-des {
  color: var(--c-success);
  font-size: 0.8125rem;
  font-weight: normal;
  line-height: 1;
  margin-top: 4px;
}
.page-glance .glance-table .glance-td {
  text-align: center;
}
.page-glance .glance-table .glance-name {
  font-size: 1.0625rem;
  font-weight: bold;
}
.page-glance .glance-table .glance-name .country {
  color: var(--c-primary);
  font-size: 0.8125rem;
  padding-left: 3px;
}
.page-glance .glance-table .speaker {
  border-radius: 3px;
  border: 1px solid var(--c-border);
  background: #f6f6f6;
  color: var(--c-font);
  display: inline-block;
  padding: 4px;
  font-size: 0.8125rem;
  line-height: 1.2;
  margin-top: 6px;
}
.page-glance .glance-table .speaker:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: var(--c-white);
}
.page-glance .glance-table .break-td {
  background: #f7f8ff;
  font-weight: bold;
  text-align: center;
}
.page-glance .glance-table .break-td.is-lunch {
  background: #fffdf3;
}

.page-field .field-list {
  --grid-max-col-count: 4;
  --grid-min-col-size: 260px;
  --grid-gap: clamp(35px, 3vw, 50px);
  --grid-col-size-calc: calc((100% - var(--grid-gap) * var(--grid-max-col-count) + var(--grid-gap)) / var(--grid-max-col-count));
  --grid-col-min-size-calc: min(100%,
  		max(var(--grid-min-col-size), var(--grid-col-size-calc)));
  display: grid;
  gap: clamp(35px, 4vw, 70px) var(--grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-col-min-size-calc), 1fr));
}
.page-field .field-item {
  display: flex;
  align-items: center;
  position: relative;
}
.page-field .field-item:hover .content .field-title {
  color: var(--c-primary);
}
.page-field .field-item:hover .aw {
  border-color: var(--c-success);
  background: var(--c-success);
}
.page-field .field-item:before {
  background: url(../images/field-left.svg) no-repeat center;
  background-size: contain;
  flex-shrink: 0;
  content: "";
  width: 27px;
  height: 100%;
}
.page-field .field-item:after {
  background: url(../images/field-right.svg) no-repeat center;
  background-size: contain;
  flex-shrink: 0;
  content: "";
  width: 88px;
  height: 100%;
}
.page-field .field-item .content {
  background: url(../images/field-repeat.svg) repeat-x center;
  background-size: contain;
  padding-block: 10px;
  position: relative;
  text-align: center;
  width: 100%;
  height: 163px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-right: -1px;
}
.page-field .field-item .content .no {
  color: #f3f3f3;
  font-size: clamp(7.5rem, 8vw, 8.75rem);
  font-weight: bold;
  width: 100%;
  z-index: -1;
}
.page-field .field-item .content .field-sub {
  color: var(--c-font);
  font-size: clamp(1rem, 1.2vw, 1.25rem);
  line-height: 1;
}
.page-field .field-item .content .field-title {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--c-font);
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 8px;
}
.page-field .field-item .aw {
  position: absolute;
  right: 5px;
  bottom: 10px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 3px solid var(--c-primary);
  display: grid;
  place-items: center;
}
.page-field .field-item .aw img {
  display: block;
  width: 10px;
}

.page-speaker .speaker-profile {
  align-items: flex-start;
  display: grid;
  grid-template-columns: max(300px, 18vw) 1fr;
  gap: 30px clamp(20px, 2vw, 40px);
  background: #fcf9fd;
  padding: clamp(25px, 2vw, 45px);
  max-width: 1300px;
  margin-inline: auto;
}
.page-speaker .img-box {
  max-width: 400px;
}
.page-speaker .profile-item + .profile-item {
  margin-top: 25px;
}
.page-speaker .profile-item .item-title {
  margin-bottom: 10px;
  align-items: baseline;
  display: flex;
  gap: 10px;
}
.page-speaker .profile-item .item-title:after {
  width: 100%;
  height: 1px;
  background: var(--c-grey);
  content: "";
}
.page-speaker .profile-item .item-title p {
  flex-shrink: 0;
  color: #472c7d;
  font-size: 1.125rem;
  font-weight: bold;
  margin: 0;
}
.page-speaker .profile-item .item-des p {
  margin: 0;
  color: var(--c-font);
  font-size: clamp(1rem, 1.3vw, 1.125rem);
  line-height: 1.7;
}

/* -------------- program RWD --------------*/
@media (max-width: 1024px) {
  .page-speaker .speaker-profile {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 960px) {
  .page-glance .dl-row {
    text-align: center;
  }
}
@media (max-width: 640px) {
  .page-glance .tabLinks li a span {
    display: block;
    padding-left: 0;
  }
}
/* -------------- contact --------------*/
.page-contact .page-banner .contact-text {
  font-size: clamp(1rem, 1.5vw, 1.5rem);
  text-align: right;
  margin-bottom: 5px;
  max-width: 1590px;
  margin-inline: auto;
}
.page-contact .page-banner .left-text {
  text-transform: uppercase;
}
.page-contact .page-banner .left-text .mb-text {
  display: none;
}
.page-contact .page-banner .sep-line {
  gap: 15px;
}
.page-contact .page-banner .right-text {
  margin-left: 25px;
}

/* -------------- contact RWD --------------*/
@media (max-width: 640px) {
  .page-contact .page-banner .contact-text {
    text-align: center;
    margin-bottom: 15px;
  }
  .page-contact .page-banner .left-text.pc-text {
    display: none;
  }
  .page-contact .page-banner .left-text .mb-text {
    display: inline;
  }
  .page-contact .page-banner .right-text {
    margin-left: 0;
  }
}
/* -------------- info --------------*/
.page-info .page-banner .sep-line {
  align-items: flex-end;
  gap: 0;
  margin-bottom: 0;
}
.page-info .page-banner .left-sec {
  padding-left: 17vw;
  margin-bottom: 2.5vw;
}
.page-info .page-banner .info-text {
  font-size: clamp(0.8125rem, 1.5vw, 1.5rem);
  line-height: 1;
  padding-left: 1vw;
  margin-top: 1vw;
}
.page-info .page-banner .left-text {
  line-height: 0.8;
  word-break: keep-all;
  text-transform: uppercase;
  letter-spacing: -0.8rem;
}
.page-info .page-banner .right-text span {
  display: none;
}

/* -------------- info RWD --------------*/
@media (max-width: 1024px) {
  .page-info .page-banner .left-sec {
    padding-left: 2vw;
  }
  .page-info .page-banner .left-text {
    letter-spacing: 0;
  }
}
@media (max-width: 640px) {
  .page-info .page-banner .sep-line {
    align-items: center;
    gap: 15px;
  }
  .page-info .page-banner .left-sec {
    margin-bottom: 0;
    padding-left: 0;
  }
  .page-info .page-banner .info-text {
    display: none;
  }
  .page-info .page-banner .right-text span {
    display: inline;
  }
  .page-info .page-banner .mb-hide {
    display: none;
  }
}
/* -------------- member --------------*/
.page-member .page-banner .sep-line {
  align-items: flex-end;
  margin-bottom: 0;
}
.page-member .page-banner .left-sec {
  margin-bottom: 2.5vw;
}
.page-member .page-banner .left-text {
  font-size: clamp(3.75rem, 13vw, 9.375rem);
}
.page-member .page-banner .info-text {
  font-size: clamp(0.8125rem, 1.5vw, 1.5rem);
  line-height: 1.4;
  margin-top: 1vw;
  text-align: right;
  max-width: max(300px, 30vw);
  margin-left: auto;
}
.page-member .page-banner .left-text {
  line-height: 0.8;
  word-break: keep-all;
  text-transform: uppercase;
  letter-spacing: -0.5rem;
}
.page-member .login-sec {
  max-width: 640px;
  width: 100%;
  margin-inline: auto;
}
.page-member .login-sec .login-head {
  align-items: center;
  display: flex;
  gap: clamp(10px, 1.5vw, 20px);
  margin-bottom: 25px;
}
.page-member .login-sec .login-head .icon {
  display: block;
  width: 30px;
}
.page-member .login-sec .login-head .icon img {
  display: block;
  width: 100%;
}
.page-member .login-sec .login-head .text {
  color: var(--c-font);
  font-weight: bold;
  font-size: clamp(1.375rem, 2vw, 2rem);
}
.page-member .login-sec .fw-des {
  margin-bottom: clamp(15px, 1.5vw, 25px);
}
.page-member .login-sec .field-row {
  grid-template-columns: 1fr;
}
.page-member .login-sec .bottom-link {
  margin-top: 15px;
  text-align: center;
}
.page-member .login-sec .bottom-link a {
  color: var(--c-font);
  display: inline-block;
  font-size: 0.9375rem;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.page-member .login-sec .bottom-link a:hover {
  color: var(--c-primary);
}

.page-apply-account .page-title-text {
  text-align: center;
}
.page-apply-account .term-row {
  margin-bottom: clamp(25px, 3vw, 50px);
}
.page-apply-account .term-limit {
  border: 1px solid var(--c-font);
  border-radius: 5px;
  padding: 10px;
  margin-bottom: 20px;
}
.page-apply-account .term-box {
  padding: clamp(15px, 2.5vw, 30px) clamp(8px, 2vw, 20px);
  height: 330px;
  overflow-y: auto;
}
.page-apply-account .term-box .term-title {
  font-weight: bold;
  margin-bottom: 10px;
}

/* -------------- member RWD --------------*/
@media (max-width: 640px) {
  .page-member .page-banner .sep-line {
    align-items: center;
    gap: 15px;
  }
  .page-member .page-banner .left-sec {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImJhc2UvX2xheW91dC5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImFic3RyYWN0cy9fZXh0ZW5kcy5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImJhc2UvX2NvbnRhaW5lci5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fZW1wdHkuc2NzcyIsImNvbXBvbmVudHMvX2Vycm9yLnNjc3MiLCJjb21wb25lbnRzL19pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJwYWdlcy9faW5kZXguc2NzcyIsInBhZ2VzL19uZXdzLnNjc3MiLCJwYWdlcy9fYWJvdXQuc2NzcyIsInBhZ2VzL19wcm9ncmFtLnNjc3MiLCJwYWdlcy9fY29udGFjdC5zY3NzIiwicGFnZXMvX2luZm8uc2NzcyIsInBhZ2VzL19tZW1iZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDUTtBQUdBO0FDSlI7QUNBQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDWko7RUFRQzs7QUFQQTtFQUNDO0VBQ0E7O0FBRUQ7RUFDQzs7O0FBY0Y7RUFDQztFQUNBO0VBQVU7RUFDVjs7O0FBYUE7RUFDQzs7QUFFRDtFQUNDO0VBQ0E7O0FBRUQ7RUFDQzs7QUFFRDtFQUNDOzs7QUYxQ0Y7RUFDQztFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7QUFBQTtFRzREQyxXSDFEYTtFRzJEYjtFSDFEQTtFQUNBOzs7QUFHRDtFQUNDLGFDY2E7RURiYjs7O0FBR0Q7RUFDQzs7O0FBT0Q7QUFBQTtFQUVDO0VBQ0E7OztBQUdEO0VBRUM7RUFDQTs7QUFFQTtFQUNDO0VBS0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7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Q0E7RUFDQTs7QUFLWjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBR0o7RUFDSTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTWhCO0FBR0E7RUFDSTtJQUNJOztFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJQVNJOztFQUdKO0lBQ0k7OztBQU1aO0VBRVE7SUFDSTs7O0FBU1o7RUFFUTtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7O0FDMVdaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUdSO0VBQ0k7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHUjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJOzs7QUFNaEI7RUFFUTtJQUNJOztFQUNBO0lBQ0k7O0VBRUo7SUFDSTtJQUNBOztFQUdSO0lBQ0k7OztBQ2pFWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR1I7RUFDSTtFQUNBOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFLaEI7RUFDSTs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNB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O0VBRVE7SUFDSTs7O0FBS1o7RUFDSTtJQUNJOzs7QUFNUjtFQUNJO0lBQ0k7SUFDQTs7O0FDbFpSO0FBT1E7RUFDSTtFQUtBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBRUE7RUFDSTs7QUFJUjtFQUNJOztBQUdKO0VBQ0k7OztBQUtaO0FBV0E7RUFHWTtJQUNJO0lBQ0E7O0VBSUE7SUFDSTs7RUFHSjtJQUNJOztFQUlSO0lBQ0k7OztBQ25FaEI7QUFPUTtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUtBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7OztBQUtaO0FBS0E7RUFFUTtJQUNJOztFQUdKO0lBQ0k7OztBQVNaO0VBRVE7SUFDSTtJQUNBOztFQUdKO0lBQ0k7SUFDQTs7RUFHSjtJQUNJOztFQUdKO0lBQ0k7O0VBR0o7SUFDSTs7O0FDcEZaO0FBT1E7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFPSjtFQUNJO0VBS0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VmMkJILFdlekJvQjtFZjBCcEI7RWV6Qk87O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQVFSO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFHQTtFQUNBOztBQUVBO0VBQ0k7OztBQVFoQjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7OztBQUtaO0FBV0E7RUFFUTtJQUNJO0lBQ0E7O0VBR0o7SUFDSSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwLi44MDA7MSwzMDAuLjgwMCZkaXNwbGF5PXN3YXAnKTtcblxuLy8gZm9udC1mYW1pbHk6IFwiTm90byBTYW5zIFRDXCIsIHNhbnMtc2VyaWY7XG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NhbnMrVEM6d2dodEAxMDAuLjkwMCZkaXNwbGF5PXN3YXAnKTsiLCIvKiAtLS0tLS0tLS0tLS0tLSBsYXlvdXQgLS0tLS0tLS0tLS0tLS0qL1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL3ZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9leHRlbmRzXCIgYXMgKjtcclxuXHJcbioge1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0b3V0bGluZTogbm9uZTtcclxuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cdHRleHQtc3BhY2luZy10cmltOiB0cmltLXN0YXJ0O1xyXG59XHJcblxyXG5odG1sLFxyXG5ib2R5IHtcclxuXHRAaW5jbHVkZSBtYXcoMTkyMHB4KTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxufVxyXG5cclxuLmhpZGUge1xyXG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNsZWFyZmxvYXQge1xyXG5cdEBleHRlbmQgJWNsZWFyZml4O1xyXG59XHJcblxyXG5hLFxyXG5idXR0b24ge1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2U7XHJcbn1cclxuXHJcbi5wYWdlLWJhbm5lciB7XHJcblx0QGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuXHRjb2xvcjogdmFyKC0tYy1mb250KTtcclxuXHRwYWRkaW5nLWJsb2NrOiAzNXB4O1xyXG5cclxuXHQudG9wLWRlcyB7XHJcblx0XHRmb250LXNpemU6IGNsYW1wKDEuMTI1cmVtXHJcblx0XHRcdFx0LyogMTgvMTYgKi9cclxuXHRcdFx0XHQsIDEuNXZ3LCAxLjVyZW1cclxuXHRcdFx0XHQvKiAyNC8xNiAqL1xyXG5cdFx0XHQpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRtYXgtd2lkdGg6IDE3NjBweDtcclxuXHRcdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cdH1cclxuXHJcblx0LnNlcC1saW5lIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogY2xhbXAoMy43NXJlbVxyXG5cdFx0XHRcdC8qIDYwLzE2ICovXHJcblx0XHRcdFx0LCAxM3Z3LCAxNS4zMTI1cmVtXHJcblx0XHRcdFx0LyogMjQ1LzE2ICovXHJcblx0XHRcdCk7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblx0XHRnYXA6IDI1cHg7XHJcblxyXG5cdFx0PnAge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogLjg7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0XHRcdHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmltZy1zZWMge1xyXG5cdFx0ZmxleC1zaHJpbms6IDA7XHJcblxyXG5cdFx0aW1nIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmlnaHQtdGV4dCB7XHJcblx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR9XHJcblxyXG5cdC5ib3R0b20tdGV4dCB7XHJcblx0XHRmb250LXNpemU6IGNsYW1wKDFyZW1cclxuXHRcdFx0XHQvKiAxNi8xNiAqL1xyXG5cdFx0XHRcdCwgMS41dncsIDEuNXJlbVxyXG5cdFx0XHRcdC8qIDI0LzE2ICovXHJcblx0XHRcdCk7XHJcblx0XHRsaW5lLWhlaWdodDogMS4zO1xyXG5cclxuXHRcdCYuaXMtY2VudGVyIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRcdHdpZHRoOiA0OS44JTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5icmVhZGNydW1iLXJvdyB7XHJcblx0QGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1mb250KTtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYy1mb250KTtcclxuXHRwYWRkaW5nLWJsb2NrOiAxNXB4O1xyXG5cclxuXHRwLFxyXG5cdGEge1xyXG5cdFx0Y29sb3I6IHZhcigtLWMtZm9udCk7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogLjg3NXJlbVxyXG5cdFx0XHQvKiAxNC8xNiAqL1xyXG5cdFx0O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHR9XHJcblxyXG5cdGE6aG92ZXIge1xyXG5cdFx0Y29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcblx0fVxyXG5cclxuXHQuYnJlYWRjcnVtYiB7XHJcblx0XHRAaW5jbHVkZSBmbGV4KCRhaTogY2VudGVyLCAkamZjOiBmbGV4LWVuZCk7XHJcblx0XHRnYXA6IDRweCAwO1xyXG5cdH1cclxuXHJcblx0bGkge1xyXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cclxuXHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGFic19wb3MoJHQ6IC0xcHgsICRyOiA2cHgpO1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiL1wiO1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjg3NXJlbVxyXG5cdFx0XHRcdFx0LyogMTQvMTYgKi9cclxuXHRcdFx0XHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ob21lIGEge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRnYXA6IDVweDtcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0d2lkdGg6IDI1cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucGFnZS1yb3cge1xyXG5cdHBhZGRpbmctYmxvY2s6IGNsYW1wKDIwcHgsIDR2dywgNzBweCkgY2xhbXAoMzBweCwgNHZ3LCA3MHB4KTtcclxuXHJcblx0LnBhZ2UtdGl0bGUtdGV4dCB7XHJcblx0XHRjb2xvcjogdmFyKC0tYy1mb250KTtcclxuXHRcdGZvbnQtc2l6ZTogMS41cmVtXHJcblx0XHRcdC8qIDI0LzE2ICovXHJcblx0XHQ7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdG1hcmdpbi1ib3R0b206IGNsYW1wKDIwcHgsIDJ2dywgMzBweCk7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHJcblx0Lm1haW4tZGVzIHtcclxuXHRcdHAge1xyXG5cdFx0XHRjb2xvcjogdmFyKC0tYy1mb250KTtcclxuXHRcdFx0Zm9udC1zaXplOiBjbGFtcCgxcmVtXHJcblx0XHRcdFx0XHQvKiAxNi8xNiAqL1xyXG5cdFx0XHRcdFx0LCAxLjN2dywgMS4xODc1cmVtXHJcblx0XHRcdFx0XHQvKiAxOS8xNiAqL1xyXG5cdFx0XHRcdCk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjY7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5hc2lkZSB7XHJcblx0QGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuXHRtYXJnaW4tYm90dG9tOiBjbGFtcCgzMHB4LCAzdncsIDUwcHgpO1xyXG5cclxuXHQuYXNpZGUtbGlzdCB7XHJcblx0XHQtLXctc2hhZG93OiA1cHg7XHJcblx0XHRAaW5jbHVkZSBmbGV4O1xyXG5cdFx0Z2FwOiAxNXB4IDI1cHg7XHJcblxyXG5cdFx0bGkuYWN0aXZlIHtcclxuXHRcdFx0YSB7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogdmFyKC0tdy1zaGFkb3cpIHZhcigtLXctc2hhZG93KSAwIHZhcigtLWMtZm9udCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMzBweDtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1mb250KTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWMtZm9udCk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRmb250LXNpemU6IGNsYW1wKDFyZW1cclxuXHRcdFx0XHRcdC8qIDE2LzE2ICovXHJcblx0XHRcdFx0XHQsIDEuNXZ3LCAxLjEyNXJlbVxyXG5cdFx0XHRcdFx0LyogMTgvMTYgKi9cclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0XHRwYWRkaW5nOiBjbGFtcCgxMHB4LCAxdncsIDE1cHgpIGNsYW1wKDE1cHgsIDEuNXZ3LCAyM3B4KTtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tYy1zdWNjZXNzKTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jLXN1Y2Nlc3MpO1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubWVtYmVyLWxpc3Qge1xyXG5cdEBpbmNsdWRlIGdyaWQoNCwgMjAwcHgsIGNsYW1wKDM1cHgsIDR2dywgNzBweCkpO1xyXG5cdG1heC13aWR0aDogMTUwMHB4O1xyXG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblxyXG5cdC5tZW1iZXItaXRlbSB7XHJcblx0XHQtLXAtYXZhdGFyOiBjbGFtcCg2cHgsIDF2dywgMTVweCk7XHJcblx0XHQtLWMtbWFpbjogdmFyKC0tYy1ibHVlKTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQuYXZhdGFyIHtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZVkoMzYwZGVnKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoNG4rMikge1xyXG5cdFx0XHQtLWMtbWFpbjogdmFyKC0tYy1zdWNjZXNzKTtcclxuXHRcdH1cclxuXHJcblx0XHQmOm50aC1jaGlsZCg0biszKSB7XHJcblx0XHRcdC0tYy1tYWluOiB2YXIoLS1jLXBpbmspO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bnRoLWNoaWxkKDRuKSB7XHJcblx0XHRcdC0tYy1tYWluOiB2YXIoLS1jLWdyZWVuMik7XHJcblx0XHR9XHJcblxyXG5cdFx0LmF2YXRhciB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWMtbWFpbik7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLXAtYXZhdGFyKTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tcC1hdmF0YXIpO1xyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5tZW1lYmVyLWluZm8ge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdG1hcmdpbi10b3A6IGNsYW1wKDIwcHgsIDN2dywgMzVweCk7XHJcblxyXG5cdFx0XHQuc3ViLXRpdGxlIHtcclxuXHRcdFx0XHRjb2xvcjogdmFyKC0tYy1tYWluKTtcclxuXHRcdFx0XHRmb250LXNpemU6IGNsYW1wKDFyZW1cclxuXHRcdFx0XHRcdFx0LyogMTYvMTYgKi9cclxuXHRcdFx0XHRcdFx0LCAxLjN2dywgMS4yNXJlbVxyXG5cdFx0XHRcdFx0XHQvKiAyMC8xNiAqL1xyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lm5hbWUge1xyXG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbVxyXG5cdFx0XHRcdFx0XHQvKiAxOC8xNiAqL1xyXG5cdFx0XHRcdFx0XHQsIDEuNXZ3LCAxLjI1cmVtXHJcblx0XHRcdFx0XHRcdC8qIDIwLzE2ICovXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYnRuLWJhY2sge1xyXG5cdGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblx0YmFja2dyb3VuZDogdmFyKC0tYy1saWdodCk7XHJcblx0Y29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMS4wNjI1cmVtXHJcblx0XHQvKiAxNy8xNiAqL1xyXG5cdDtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblx0bWFyZ2luLXRvcDogMzBweDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0d2lkdGg6IDE2MHB4O1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6IHZhcigtLWMtc3VjY2Vzcyk7XHJcblx0XHRjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250YWN0LW1hcCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA0MDBweDtcclxuXHJcblx0aWZyYW1lIHtcclxuXHRcdEBpbmNsdWRlIHNpemUoMTAwJSk7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4udW5yZXNldCB7XHJcblx0QGV4dGVuZCAlY2xlYXJmaXg7XHJcblx0bGluZS1oZWlnaHQ6IGluaXRpYWw7XHJcblxyXG5cdGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHR0cmFuc2l0aW9uOiBub25lO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQub2VtYmVkLXByb3ZpZGVyLXlvdXR1YmUge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0aWZyYW1lLFxyXG5cdFx0b2JqZWN0LFxyXG5cdFx0ZW1iZWQge1xyXG5cdFx0XHRAaW5jbHVkZSBzaXplKDEwMCUpO1xyXG5cdFx0XHRAaW5jbHVkZSBhYnNfcG9zKCR0OiAwLCAkbDogMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwIHtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbVxyXG5cdFx0XHQvKiAxNi8xNiAqL1xyXG5cdFx0O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHR9XHJcblxyXG5cdC5pbmZvLXRpdGxlIHtcclxuXHRcdCYuaXMtZ3JlZW4gcCB7XHJcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWMtZ3JlZW4yKTtcclxuXHRcdH1cclxuXHJcblx0XHRwIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMzBweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYy1ibHVlKTtcclxuXHRcdFx0Y29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogMS4xODc1cmVtXHJcblx0XHRcdFx0LyogMTkvMTYgKi9cclxuXHRcdFx0O1xyXG5cdFx0XHRwYWRkaW5nOiA4cHggMjVweDtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gbGF5b3V0IFJXRCAtLS0tLS0tLS0tLS0tLSovXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bCl7IH1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbGcpIHtcclxuXHQucGFnZS1iYW5uZXIgLmJvdHRvbS10ZXh0IHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhtZCl7IH1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuXHQucGFnZS1iYW5uZXIgLnNlcC1saW5lIHtcclxuXHRcdGdhcDogMTVweDtcclxuXHR9XHJcblxyXG5cdC5icmVhZGNydW1iLXJvdyB7XHJcblx0XHRwYWRkaW5nLWJsb2NrOiAxMHB4O1xyXG5cclxuXHRcdC5icmVhZGNydW1iIHtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5ob21lIGEgaW1nIHtcclxuXHRcdFx0d2lkdGg6IDE1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhc2lkZSAuYXNpZGUtbGlzdCB7XHJcblx0XHQtLXctc2hhZG93OiAzcHg7XHJcblx0XHRnYXA6IDE1cHg7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcblx0LnBhZ2UtYmFubmVyIHtcclxuXHRcdHBhZGRpbmctYmxvY2s6IDE1cHg7XHJcblxyXG5cdFx0LnRvcC1kZXMge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zZXAtbGluZSB7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG5cdFx0XHQ+cCB7XHJcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5icmVhZGNydW1iLXJvdyB7XHJcblx0XHRsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XHJcblx0XHRcdHRvcDogLTNweDtcclxuXHRcdH1cclxuXHJcblx0XHRhLFxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjc1cmVtXHJcblx0XHRcdFx0LyogMTIvMTYgKi9cclxuXHRcdFx0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YXNpZGUgLmFzaWRlLWxpc3Qge1xyXG5cdFx0LS13LXNoYWRvdzogMDtcclxuXHRcdGdhcDogMDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBhYnNfcG9zKCR0OiAxNXB4LCAkbDogMCk7XHJcblx0XHRcdFx0QGluY2x1ZGUgc2l6ZSg1cHgsIDdweCk7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmNWVlZjk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCtsaSB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IGRvdHRlZCB2YXIoLS1jLWdyZXkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHggMDtcclxuXHRcdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1lbWJlci1saXN0IC5tZW1iZXItaXRlbSAuYXZhdGFyIHtcclxuXHRcdG1heC13aWR0aDogODAlO1xyXG5cdFx0bWFyZ2luLWlubGluZTogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpeyB9IiwiOnJvb3Qge1xyXG4gICAgLS1jLWZvbnQ6ICMzMTMxMzE7XHJcbiAgICAtLWMtZm9udExpZ2h0OiAjNTM1MzUzO1xyXG4gICAgLS1jLXByaW1hcnk6ICM3MDE4YWE7XHJcbiAgICAtLWMtbGlnaHQ6ICNiYjczZjM7XHJcbiAgICAtLWMtc3VjY2VzczogI2ZmYzEzZTtcclxuICAgIC0tYy1ncmVlbjogIzg1ZTM3NTtcclxuICAgIC0tYy1ncmVlbjI6ICM3NmUzYzY7XHJcbiAgICAtLWMtYmx1ZTogIzYxY2VlZDtcclxuICAgIC0tYy1waW5rOiAjZmY3YWJjO1xyXG4gICAgLS1jLXdoaXRlOiAjZmZmO1xyXG4gICAgLS1jLWdyZXk6ICNkZGRkZGQ7XHJcbiAgICAtLWMtYm9yZGVyOiAjZTVlNWU1O1xyXG59XHJcblxyXG4kYmRyczogY2xhbXAoMTBweCwgMnZ3LCAzMHB4KTtcclxuXHJcbiR3cmFwcGVyLXBhZGRpbmc6IGNsYW1wKDE1cHgsIDN2dywgNjBweCk7XHJcblxyXG4keHhsOiBjYWxjKDE3MDBweCArICgkd3JhcHBlci1wYWRkaW5nICogMikpO1xyXG4keG1sOiBjYWxjKDE0MDBweCArICgkd3JhcHBlci1wYWRkaW5nICogMikpO1xyXG4keGw6IGNhbGMoMTIwMHB4ICsgKCR3cmFwcGVyLXBhZGRpbmcgKiAyKSk7XHJcbiRsZzogMTAyNHB4O1xyXG4keG1kOiA5NjBweDtcclxuJG1kOiA3NjhweDtcclxuJHNtOiA2NDBweDtcclxuJHhzOiA0ODBweDtcclxuJHdfaTZwOiA0MTRweDtcclxuJHdfaTY6IDM3NXB4O1xyXG4kd19tb19tOiAzMjBweDtcclxuXHJcblxyXG4kZmEtZm9udC1wYXRoOiBcIi4uL3dlYmZvbnRzXCI7XHJcblxyXG4kZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBBcmlhbCwgXCJOb3RvIFNhbnMgVENcIiwgc2Fucy1zZXJpZjsiLCIlY2xlYXJmaXh7XHJcblx0JjpiZWZvcmUsICY6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHQmOmFmdGVye1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG5cdHpvb206IDE7XHJcbn1cclxuXHJcbiVpbnNpZGVfaW1ne1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRtYXgtaGVpZ2h0OiAxMDAlO1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwOyByaWdodDogMDsgbGVmdDogMDsgYm90dG9tOiAwO1xyXG59XHJcblxyXG4lY2VudGVye1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDUwJTsgbGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4lb3ZlcmRvdHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHR3aWR0aDogMTAwJTtcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAzcHg7XHJcbn1cclxuXHJcbiVjbGVhclN0eWxle1xyXG5cdHAsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDZ7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cdHVsLCBvbHtcclxuXHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblx0dWx7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdH1cclxuXHRvbHtcclxuXHRcdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHR9XHJcbn0iLCJAbWl4aW4gYmcoJGltZykge1xuXHRiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvI3skaW1nfVwiKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBhYnNfcG9zKCR0OiBudWxsLCAkcjogbnVsbCwgJGI6IG51bGwsICRsOiBudWxsKSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAkdDtcblx0cmlnaHQ6ICRyO1xuXHRib3R0b206ICRiO1xuXHRsZWZ0OiAkbDtcbn1cblxuXG5AbWl4aW4gc2l6ZSgkdywgJGg6ICR3KSB7XG5cdHdpZHRoOiAkdztcblx0aGVpZ2h0OiAkaDtcbn1cblxuQG1peGluIGZpeGltZygkdzogMTAwJSwgJHBhZGRpbmctYm90dG9tOiA3NSUpIHtcblx0d2lkdGg6ICR3O1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiAkcGFkZGluZy1ib3R0b207XG5cblx0aW1nIHtcblx0XHRAZXh0ZW5kICVpbnNpZGVfaW1nO1xuXHR9XG59XG5cbkBtaXhpbiBmaXRpbWcoJHcsICRoKSB7XG5cdGFzcGVjdC1yYXRpbzogMSAvIGNhbGMoJGggLyAkdyk7XG5cdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3IsICRmejogaW5pdGlhbCkge1xuXHQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdFx0Zm9udC1zaXplOiAkZno7XG5cdH1cblxuXHQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogJGZ6O1xuXHR9XG5cblx0OjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogJGZ6O1xuXHRcdG9wYWNpdHk6IDFcblx0fVxuXG5cdDotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdGZvbnQtc2l6ZTogJGZ6O1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cblxuQG1peGluIGZsZXgoJGFpOiBzdHJldGNoLCAkamZjOiBmbGV4LXN0YXJ0KSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiAkYWk7XG5cdGp1c3RpZnktY29udGVudDogJGpmYztcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5cbkBtaXhpbiBtYXcoJG1heC13aWR0aCkge1xuXHRtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gbGluZUxpbWl0KCRsaW5lKSB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcblx0LXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZTtcbn1cblxuQG1peGluIGdyaWQoJGNvbCwgJG1pblcsICRnYXBJbmxpbmUsICRnYXBCbG9jazogJGdhcElubGluZSkge1xuXHQtLWdyaWQtbWF4LWNvbC1jb3VudDogI3skY29sfTtcblx0LS1ncmlkLW1pbi1jb2wtc2l6ZTogI3skbWluV307XG5cdC0tZ3JpZC1nYXA6ICN7JGdhcElubGluZX07XG5cblx0LS1ncmlkLWNvbC1zaXplLWNhbGM6IGNhbGMoKDEwMCUgLSB2YXIoLS1ncmlkLWdhcCkgKiB2YXIoLS1ncmlkLW1heC1jb2wtY291bnQpICsgdmFyKC0tZ3JpZC1nYXApKSAvIHZhcigtLWdyaWQtbWF4LWNvbC1jb3VudCkpO1xuXHQtLWdyaWQtY29sLW1pbi1zaXplLWNhbGM6IG1pbigxMDAlLFxuXHRcdFx0bWF4KHZhcigtLWdyaWQtbWluLWNvbC1zaXplKSwgdmFyKC0tZ3JpZC1jb2wtc2l6ZS1jYWxjKSkpO1xuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdhcDogJGdhcEJsb2NrIHZhcigtLWdyaWQtZ2FwKTtcblxuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCxcblx0XHRcdG1pbm1heCh2YXIoLS1ncmlkLWNvbC1taW4tc2l6ZS1jYWxjKSwgMWZyKSk7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0gY29udGFpbmVyIC0tLS0tLS0tLS0tLS0tKi9cclxuQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XHJcblxyXG4ubS13cmFwcGVyIHtcclxuXHRtYXgtd2lkdGg6ICR4eGw7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmctaW5saW5lOiAkd3JhcHBlci1wYWRkaW5nO1xyXG59XHJcblxyXG4udmlkZW8td3JhcHBlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdGlmcmFtZSxcclxuXHRvYmplY3QsXHJcblx0ZW1iZWQge1xyXG5cdFx0QGluY2x1ZGUgc2l6ZSgxMDAlKTtcclxuXHRcdEBpbmNsdWRlIGFic19wb3MoJHQ6IDAsICRsOiAwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5wYWdlLXdyYXBwZXIge1xyXG5cdHBhZGRpbmc6IDEwcHg7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gY29udGFpbmVyIFJXRCAtLS0tLS0tLS0tLS0tLSovXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhtZCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcblx0LnBhZ2Utd2FycHBlciB7XHJcblx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpeyB9IiwiLyogLS0tLS0tLS0tLS0tLS0gZm9ybSAtLS0tLS0tLS0tLS0tLSovXG5AdXNlIFwiLi4vYWJzdHJhY3RzL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XG5AdXNlIFwiLi4vYWJzdHJhY3RzL2V4dGVuZHNcIiBhcyAqO1xuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG50ZXh0YXJlYSxcbnNlbGVjdCxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1vLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlbGVjdC1zdHlsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1mb250KTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHZhcigtLWMtd2hpdGUpIDM1cHgsIHZhcigtLWMtZm9udCkgMzVweCwgdmFyKC0tYy1mb250KSAzNnB4LCB2YXIoLS1jLXdoaXRlKSAzNnB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGFic19wb3MoJHQ6IDUwJSwgJHI6IDEwcHgpO1xuICAgICAgICBjb250ZW50OiAnXFxmMGRkJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04MCUpO1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbVxuICAgICAgICAgICAgLyogMTYvMTYgKi9cbiAgICAgICAgO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5wdy1maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLnB3LWV5ZSB7XG4gICAgICAgIEBpbmNsdWRlIGFic19wb3MoJHQ6IDUwJSwgJHI6IDEwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICYub3BlbiBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJpY2UtZm0ge1xuICAgIGZvbnQtc2l6ZTogMXJlbVxuICAgICAgICAvKiAxNi8xNiAqL1xuICAgIDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ05UJCc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbn1cblxuLnJhZGlvLWl0ZW0sXG4uY2hlY2tlZC1pdGVtIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZ2FwOiA4cHg7XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTNweCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgI2FhYTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbVxuICAgICAgICAgICAgLyogMTYvMTYgKi9cbiAgICAgICAgO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbn1cblxuLnJhZGlvLWl0ZW0ge1xuICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrZWQtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBhYnNfcG9zKCR0OiA0cHgsICRsOiAxcHgpO1xuICAgICAgICBjb250ZW50OiAnXFxmMDBjJztcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEZyZWUnO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW1cbiAgICAgICAgICAgIC8qIDEyLzE2ICovXG4gICAgICAgIDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1JTtcblxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tlZC1saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KCRhaTogYmFzZWxpbmUpO1xuICAgIGdhcDogMTVweCA4cHg7XG59XG5cbi5mb3JtLXN0eWxlIHtcbiAgICAtLWdhcDogbWF4KDE3cHgsIDEuNXZ3KTtcbiAgICBAZXh0ZW5kICVjbGVhclN0eWxlO1xuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgdGV4dGFyZWEsXG4gICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1mb250KTtcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtXG4gICAgICAgICAgICAvKiAxNi8xNiAqL1xuICAgICAgICA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWMtcHJpbWFyeSkgMyUsIHRyYW5zcGFyZW50IDk3JSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtcm93IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgZ2FwOiB2YXIoLS1nYXApO1xuXG4gICAgICAgICsuZmllbGQtcm93IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzcy1yb3cge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyO1xuICAgIH1cblxuICAgIC5uYW1lLWZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTgwcHg7XG4gICAgICAgIGdhcDogdmFyKC0tZ2FwKTtcbiAgICB9XG5cbiAgICAubWF4LWZpZWxkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG5cbiAgICAuZmllbGQtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAuZmllbGQtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDFyZW1cbiAgICAgICAgICAgICAgICAgICAgLyogMTYvMTYgKi9cbiAgICAgICAgICAgICAgICAgICAgLCAxLjJ2dywgMS4xODc1cmVtXG4gICAgICAgICAgICAgICAgICAgIC8qIDE5LzE2ICovXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICAmLm11c3Q6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgfVxuXG4gICAgLmNhcHRjaGEtcm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogbWF4KDIwcHgsIDIuMnZ3KTtcblxuICAgICAgICAuZy1yZWNhcHRjaGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDMwNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi1yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiBtYXgoMjBweCwgMi4ydncpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1nYXApO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtXG4gICAgICAgICAgICAgICAgLyogMTgvMTYgKi9cbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAzODBweDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1ncmVlbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZWVuMik7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLWJsdWUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1ibHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXJtLWxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLSBmb3JtIFJXRCAtLS0tLS0tLS0tLS0tLSovXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHh4bCl7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICR4bCkge1xuICAgIC5zZWxlY3Qtc3R5bGUgc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG5cbiAgICAuZm9ybS1zdHlsZSB7XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZS1maWVsZCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJGxnKSB7XG4gICAgLmZvcm0tc3R5bGUge1xuICAgICAgICAuZmllbGQtcm93IHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhtZCl7IH1cblxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkge31cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xuICAgIC5mb3JtLXN0eWxlIHtcbiAgICAgICAgLmZpZWxkLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lLWZpZWxkIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1yb3cgYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCJAdXNlIFwiLi4vYWJzdHJhY3RzL3ZhcmlhYmxlc1wiIGFzICo7XG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XG5AdXNlIFwiLi4vYWJzdHJhY3RzL2V4dGVuZHNcIiBhcyAqO1xuXG4uZW1wdHktcm93e1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAuaW1nLWJveHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAudGl0bGV7XG4gICAgICAgICAgICBjb2xvcjogIzIyMjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmRlc3tcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1yb3d7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIC5saW5re1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2FhYTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDo2NDBweCl7XG4gICAgLmVtcHR5LXJvd3tcbiAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kZXN7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1yb3d7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgXCIuLi9hYnN0cmFjdHMvdmFyaWFibGVzXCIgYXMgKjtcbkB1c2UgXCIuLi9hYnN0cmFjdHMvbWl4aW5zXCIgYXMgKjtcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XG5cbi5lcnJvci1yb3d7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9lcnJvci1iYWNrZ3JvdW5kLnN2Zykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDYwcHggMjBweDtcbiAgICAuaW1nLWJveHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaW1ne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuZXJyb3ItY29kZXtcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICAgICAgZm9udC1zaXplOiA2LjI1cmVtIC8qIDEwMC8xNiAqLztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA0MiU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTU3JSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnR7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnRpdGxle1xuICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW0gLyogMjgvMTYgKi87XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmRlc3tcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtIC8qIDE3LzE2ICovO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYnRuLXJvd3tcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICAgICAgLmxpbmt7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzY2NjY2NjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtIC8qIDIyLzE2ICovO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDoxNDQwcHgpe1xuICAgIC5lcnJvci1yb3cge1xuICAgICAgICAuaW1nLWJveHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICAgICAgICAuZXJyb3ItY29kZXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idG4tcm93e1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6MTAyNHB4KXtcbiAgICAuZXJyb3Itcm93IHtcbiAgICAgICAgLmltZy1ib3h7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgICAgICAgICAgLmVycm9yLWNvZGV7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0LjEyNXJlbSAvKiA2Ni8xNiAqLztcbiAgICAgICAgICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuLXJvd3tcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOjY0MHB4KXtcbiAgICAuZXJyb3Itcm93IHtcbiAgICAgICAgLmltZy1ib3h7XG4gICAgICAgICAgICAuZXJyb3ItY29kZXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuODc1cmVtIC8qIDQ2LzE2ICovO1xuICAgICAgICAgICAgICAgIHRvcDogNDUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIC50aXRsZXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGVze1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgcHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtIC8qIDE2LzE2ICovO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuLXJvd3tcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAubGlua3tcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbSAvKiAxNy8xNiAqLztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tIGltYWdlIC0tLS0tLS0tLS0tLS0tKi9cclxuQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XHJcblxyXG4uYmFubmVyLWltZyB7XHJcbiAgICBAaW5jbHVkZSBmaXRpbWcoMTkwMCwgNzAwKTtcclxufVxyXG5cclxuLm5ld3MtaW1nIHtcclxuICAgIEBpbmNsdWRlIGZpdGltZyg0MjAsIDQyMCk7XHJcbn1cclxuXHJcbi5zcGVha2VyLWltZyB7XHJcbiAgICBAaW5jbHVkZSBmaXRpbWcoMzUwLCAzNTApO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLSBpbWFnZSBSV0QgLS0tLS0tLS0tLS0tLS0qL1xyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHh4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJGxnKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bWQpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJG1kKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICRzbSl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpeyB9IiwiLyogLS0tLS0tLS0tLS0tLS0gcGFnaW5hdGlvbiAtLS0tLS0tLS0tLS0tLSovXHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9taXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL2V4dGVuZHNcIiBhcyAqO1xyXG5cclxuLnBhZ2UtYm94IHtcclxuICAgIEBpbmNsdWRlIGZsZXgoJGpmYzogY2VudGVyKTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgLnBhZ2UtbnVtIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4KCRhaTogY2VudGVyLCAkamZjOiBjZW50ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzZweCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbVxyXG4gICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgIDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wYWdlLXNlbGVjdCB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDAgMjBweDtcclxuXHJcbiAgICAgICAgLnNlbGVjdC1zdHlsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLWJvcmRlcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNC8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNC8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gcGFnaW5hdGlvbiBSV0QgLS0tLS0tLS0tLS0tLS0qL1xyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHh4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJGxnKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bWQpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJG1kKXsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgLnBhZ2UtYm94IHtcclxuICAgICAgICAucGFnZS1udW0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDMwcHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wYWdlLXNlbGVjdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCIvKiAtLS0tLS0tLS0tLS0tLSBoZWFkZXIgLS0tLS0tLS0tLS0tLS0qL1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL3ZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9leHRlbmRzXCIgYXMgKjtcclxuXHJcbmhlYWRlciB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDU7XHJcbn1cclxuXHJcbi5oZWFkZXItd3JhcHBlciB7XHJcbiAgICBAZXh0ZW5kICVjbGVhclN0eWxlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJkcnM7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgcGFkZGluZy1ibG9jazogY2xhbXAoMTBweCwgMS4zdncsIDI1cHgpO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgLm0td3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiAwIDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ28tc2VjIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogY2xhbXAoMTBweCwgMS41dncsIDMwcHgpO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mYXNhdmEtbG9nbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2xhbXAoOTBweCwgOXZ3LCAxNDVweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudHB2bWEtbG9nbyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2xhbXAoMTUwcHgsIDE1dncsIDI0MHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW4tc2VjIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiBjbGFtcCgyMHB4LCAydncsIDQwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jbG9zZS1idG4ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW4tdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG5cclxuICAgICAgICAubWVudS1saW5rIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW0gLyogMTYvMTYgKi87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4zcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hY3RpdmUtbGlua3Mge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZ2FwOiBtYXgoMTBweCwgMXZ3KTtcclxuICAgIH1cclxuXHJcbiAgICAuaWMtbGluayB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg0MHB4KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1zdWNjZXNzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5sYW5nLXN3aWNoIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxhbmctbGlzdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYWJzX3BvcygkYjogMCwgJHI6IDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICB3aWR0aDogMTAwcHg7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgK2xpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhbmctbGluayB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JleSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNC8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLm1lbnUtdG9nZ2xlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA4cHggMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAubmF2aWNvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG5cclxuICAgICAgICAmOmJlZm9yZSxcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0b3A6IC04cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYub3BlbiAubmF2aWNvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tIGhlYWRlciBSV0QgLS0tLS0tLS0tLS0tLS0qL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTg1MHB4KXtcclxuICAgIC5oZWFkZXItd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgLm0td3JhcHBlciB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFpbi1zZWMge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSh3aGl0ZSwgLjIpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFpbi1uYXYge1xyXG4gICAgICAgICAgICBnYXA6IGNsYW1wKDI1cHgsIDJ2dywgNDBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWMtbGluayB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMzJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogJHhsKSB7XHJcbiAgICAuaGVhZGVyLXdyYXBwZXIgLm1haW4tdWwgLm1lbnUtbGluayB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtc3VjY2Vzcyk7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNfcG9zKCRsOiAwLCAkYjogLTJweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMCUsIDFweCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhsKSB7XHJcbiAgICAuaGVhZGVyLXdyYXBwZXIge1xyXG4gICAgICAgIC5tLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1haW4tc2VjIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBuYXYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDYwLCA4LCA5NSwgLjkpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYWluLW5hdiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjAlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBtaW4oMzYwcHgsIDEwMCUpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHJcbiAgICAgICAgICAgICYub3BlbiB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jbG9zZS1idG4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYWluLXVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEod2hpdGUsIC44NSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcblxyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAzNnB4IC0gMjBweCk7XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJsb2NrOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgICtsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjYWFhO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubWVudS1saW5rIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhtZCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaGVhZGVyLXdyYXBwZXIge1xyXG4gICAgICAgIC5tYWluLXNlYyB7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pYy1saW5rIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sb2dvLXNlYyB7XHJcbiAgICAgICAgICAgIC5mYXNhdmEtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnRwdm1hLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LXRvZ2dsZSAubmF2aWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDIxcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpeyB9IiwiLyogLS0tLS0tLS0tLS0tLS0gZm9vdGVyIC0tLS0tLS0tLS0tLS0tKi9cclxuQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XHJcblxyXG5mb290ZXIge1xyXG4gICAgQGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuICAgIGJhY2tncm91bmQ6ICM0MzQzNDM7XHJcbiAgICBwYWRkaW5nLXRvcDogY2xhbXAoMzVweCwgNC41dncsIDcwcHgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IGNsYW1wKDMwcHgsIDMuNXZ3LCA2MHB4KTtcclxufVxyXG5cclxuLmZ0LXdyYXBwZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDcwJSAxZnI7XHJcbiAgICBnYXA6IGNsYW1wKDIwcHgsIDIuNXZ3LCA0MHB4KTtcclxuXHJcbiAgICAuaW5mby1zZWMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MCUgMWZyO1xyXG4gICAgICAgIGdhcDogMTVweCBtYXgoMjBweCwgMi41dncpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250YWN0LWl0ZW0ge1xyXG4gICAgICAgIC0tZ2FwOiAxNXB4O1xyXG5cclxuICAgICAgICAuY29udGFjdC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxOC8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRhY3QtbWFpbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICA+KiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LXJvdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiA1cHggdmFyKC0tZ2FwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LWluZm8ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTYvMTYgKi9cclxuICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG5cclxuICAgICAgICAgICAgLmluZm8tdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTYvMTYgKi9cclxuICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5mYXgge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBpbml0aWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53ZWItcmlnaHRzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgLnRwdm1hLWxvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbWF4KDE5MHB4LCAxNHZ3KTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmlnaHRzIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC45Mzc1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNS8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVzaWduZWQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTQvMTYgKi9cclxuICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAxNC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLXRvcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDI1cHg7XHJcbiAgICBib3R0b206IDEwdmg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuc3QwIHtcclxuICAgICAgICAgICAgZmlsbDogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3QyIHtcclxuICAgICAgICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuc3QwIHtcclxuICAgICAgICBmaWxsOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdDEge1xyXG4gICAgICAgIGZpbGw6IGJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdDIge1xyXG4gICAgICAgIGZpbGw6IHZhcigtLWMtc3VjY2Vzcyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC40cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAuY2lyY2xlVGV4dCB7XHJcbiAgICAgICAgYW5pbWF0aW9uOiByb3RhdGUgNnMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gZm9vdGVyIFJXRCAtLS0tLS0tLS0tLS0tLSovXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKXsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4bCkge1xyXG4gICAgLmZ0LXdyYXBwZXIge1xyXG5cclxuICAgICAgICAuaW5mby1zZWMge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWN0LWl0ZW0ge1xyXG4gICAgICAgICAgICAuY29udGFjdC1tYWluIHtcclxuICAgICAgICAgICAgICAgID4qIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jb250YWN0LWluZm8ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTQvMTYgKi9cclxuICAgICAgICAgICAgICAgIDtcclxuXHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTQvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53ZWItcmlnaHRzIC5yaWdodHMge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW1cclxuICAgICAgICAgICAgICAgIC8qIDE0LzE2ICovXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhtZCkge1xyXG4gICAgLmZ0LXdyYXBwZXIge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIGdhcDogMDtcclxuXHJcbiAgICAgICAgLndlYi1yaWdodHMge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIHJnYmEod2hpdGUsIC4zKTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC50cHZtYS1sb2dvIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRlc2lnbmVkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkgeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICAuZnQtd3JhcHBlciAuY29udGFjdC1pdGVtIC5jb250YWN0LXJvdyB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuLXRvcCB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgYm90dG9tOiA1dmg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpeyB9IiwiLyogLS0tLS0tLS0tLS0tLS0gaW5kZXggLS0tLS0tLS0tLS0tLS0qL1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL3ZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9leHRlbmRzXCIgYXMgKjtcclxuXHJcbi5pbmRleC13cmFwcGVyIHtcclxuICAgIC0tcC1ibG9jazogY2xhbXAoNDBweCwgNHZ3LCA3MHB4KTtcclxuICAgIEBleHRlbmQgJWNsZWFyU3R5bGU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pbmRleC1iYW5uZXIge1xyXG4gICAgLmJhbm5lci1pdGVtIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkYmRycztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW5kZXgtbGlua3Mge1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEzMjBweCArICR3cmFwcGVyLXBhZGRpbmcgKiAyKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBnYXA6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiBjbGFtcCgzMHB4LCA2dncsIDEwMHB4KTtcclxuXHJcbiAgICAubGluay1pdGVtIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmljb24gaW1nIHtcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxpbmstdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKGNsYW1wKDcwcHgsIDguMnZ3LCAxNjBweCkpO1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcblxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5saW5rLXRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTYvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICAsIDEuNnZ3LCAxLjQzNzVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAyMy8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbmRleC10aXRsZSB7XHJcbiAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS44NzVyZW1cclxuICAgICAgICAgICAgLyogMzAvMTYgKi9cclxuICAgICAgICAgICAgLCAzLjN2dywgMy42MjVyZW1cclxuICAgICAgICAgICAgLyogNTgvMTYgKi9cclxuICAgICAgICApO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLS41cHg7XHJcblxyXG4gICAgLmhvbGxvdy10ZXh0IHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgdGV4dC1zdHJva2U6IDFweCB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgIC8qIGZvciBGaXJlZm94IDcwKyAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW5kZXgtbmV3cyB7XHJcbiAgICAuaGVhZC1yb3cge1xyXG4gICAgICAgIC0tcDogMjVweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZGV4LXRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcCk7XHJcbiAgICAgICAgd2lkdGg6IGNsYW1wKDIwMHB4LCA1MHZ3LCA4NTBweCk7XHJcblxyXG4gICAgICAgIC5ob2xsb3ctdGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJvdHRvbS10ZXh0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3LjV2dztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0LXNlYyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgZ2FwOiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kZWMtZG9nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogY2xhbXAoNjBweCwgNy41dncsIDE0MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAuYXctc2VjIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1wKTtcclxuXHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZShjbGFtcCgzMHB4LCA0dncsIDU1cHgpKTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZWVuKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWF4KDhweCwgMTElKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZXYtYXcgaW1nIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1haW4tbmV3cyB7XHJcbiAgICAgICAgLS13OiBjbGFtcCgxNTBweCwgMjB2dywgMzcwcHgpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVjLXNlYyB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgd2lkdGg6IHZhcigtLXcpO1xyXG5cclxuICAgICAgICAuZGVjLWF3IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAydnc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAydnc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDV2dztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmV3cy1zd2lwZXIge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS13KSk7XHJcblxyXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbikgLm5ld3MtaXRlbSAubmV3cy1jb3ZlciAuYXcgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1ibHVlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMSkgLm5ld3MtaXRlbSAubmV3cy1jb3ZlciAuYXcgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1zdWNjZXNzKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24rMikgLm5ld3MtaXRlbSAubmV3cy1jb3ZlciAuYXcgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1waW5rKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmluZGV4LW1hc3RlciB7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcC1ibG9jayk7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjbGFtcCgzMDBweCwgMzB2dywgNTUwcHgpIDFmcjtcclxuICAgIGdhcDogMzBweCBjbGFtcCgzMHB4LCA1dncsIDgwcHgpO1xyXG5cclxuICAgIC5tYXN0ZXItY292ZXIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1hc3Rlci1pbnRybyB7XHJcbiAgICAgICAgLS1nYXA6IGNsYW1wKDIwcHgsIDN2dywgNDVweCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XHJcblxyXG4gICAgICAgIC5pbnRyby1oZWFkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbnRyby10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDI0LzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAydncsIDIuMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAzNi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW50cm8tc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE4LzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAxLjV2dywgMS4zNzVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAyMi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbnRyby1kZXMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lTGltaXQoNCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDFyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICwgMXZ3LCAxLjEyNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE4LzE2ICovXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xyXG5cclxuICAgICAgICAgICAgcCtwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5hdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLmNscy0xIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGV4dCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWxpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAsIDF2dywgMS4wNjI1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDE3LzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmF3IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDdweCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuY2xzLTEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmluZGV4LXNwZWFrZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSAxZnI7XHJcbiAgICBnYXA6IDAgY2xhbXAoMzBweCwgNXZ3LCA4MHB4KTtcclxuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1wLWJsb2NrKTtcclxuXHJcbiAgICAuaW5kZXgtdGl0bGUge1xyXG4gICAgICAgIC5kaWItc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNwZWFrZXItcm93IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ibG9jazogY2xhbXAoMjVweCwgM3Z3LCA1MHB4KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuXHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3NmUzYzY7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjI1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMjAvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICAsIDEuNXZ3LCAyLjA2MjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAzMy8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVjLWltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogY2xhbXAoNDVweCwgNHZ3LCA3NXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1vcmUge1xyXG4gICAgICAgIEBpbmNsdWRlIG1hdyg2MzBweCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMTdweCAxMHB4O1xyXG4gICAgICAgIGdhcDogMTVweDtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtbGlnaHQpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtbGlnaHQpO1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjM3NXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDIyLzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAyLjJ2dywgMi4zNzVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAzOC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hdyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogY2xhbXAoMjVweCwgMnZ3LCAzNXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNwZWFrZXItbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIGdhcDogMy41dnc7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDglKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWJzX3BvcygkdDogNTAlLCAkbDogNTAlKTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGVjLXNwZWFrZXIuc3ZnKSBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNwZWFrZXItaXRlbSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5tYXNrIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAuc3BlYWtlci1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm1hc2sge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzX3BvcygkdDogMCwgJGw6IDApO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIC42NSk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAuc3BlYWtlci1uYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxcmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAxLjV2dywgMS4yNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogMjAvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW4tbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW5kZXgtcGFydG5lciB7XHJcbiAgICBwYWRkaW5nLWJsb2NrOiBjbGFtcCg2MHB4LCA2dncsIDEwMHB4KTtcclxuXHJcbiAgICAucGFydG5lci1saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogY2xhbXAoMjBweCwgM3Z3LCA1MHB4KTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAucGFydG5lci1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgJjpob3ZlciBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBjbGFtcCg0MHB4LCA0dncsIDcwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gXHJcbi5pbmRleC1pbnRybyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmJmNWZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcC1ibG9jayk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcC1ibG9jayk7XHJcblxyXG4gICAgLm0td3JhcHBlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmludHJvLXJvdyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcclxuICAgICAgICBnYXA6IDEwcHggNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEzcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgIG91dGxpbmU6IHNvbGlkIDJweCAjNDcyYzdkO1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiA1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmludHJvLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuNXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMjQvMTYgKi9cclxuICAgICAgICAgICAgICAgICwgMi41dncsIDIuNXJlbVxyXG4gICAgICAgICAgICAgICAgLyogNDAvMTYgKi9cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbnRyby1kZXMge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTYvMTYgKi9cclxuICAgICAgICAgICAgICAgICwgMXZ3LCAxLjEyNXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTgvMTYgKi9cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcclxuXHJcbiAgICAgICAgcCtwIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbmRleC12aWRlbyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmJmNWZmO1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tcC1ibG9jayk7XHJcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tcC1ibG9jayk7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcC1ibG9jayk7XHJcbiAgICBwYWRkaW5nLWlubGluZTogMTBweDtcclxuXHJcbiAgICAubS13cmFwcGVyIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDE0NDBweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIHZpZGVvIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLSBpbmRleCBSV0QgLS0tLS0tLS0tLS0tLS0qL1xyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHh4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJGxnKSB7XHJcbiAgICAuaW5kZXgtbGlua3MgLmxpbmstaXRlbSAubGluay10ZXh0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmRleC1pbnRybyB7XHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmludHJvLXJvdyB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4bWQpIHtcclxuICAgIC5pbmRleC1uZXdzIC5pbmRleC10aXRsZSB7XHJcbiAgICAgICAgd2lkdGg6IG1heCgyMDBweCwgNzB2dyk7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZGV4LW1hc3RlciB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcblxyXG4gICAgICAgIC5tYXN0ZXItY292ZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG1pbigzNDBweCwgMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbmRleC1zcGVha2VyIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHJcbiAgICAgICAgLmluZGV4LXRpdGxlIC5kaWItc3BhbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zcGVha2VyLWxpc3Qge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgICAgICBnYXA6IDM1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubW9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW4tcGMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW4tbW9iaWxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkbWQpIHtcclxuICAgIC5pbmRleC1saW5rcyAubGluay1pdGVtOmhvdmVyIC5saW5rLXRleHQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZCkge1xyXG4gICAgLmluZGV4LWxpbmtzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgZ2FwOiAzMHB4IDIwcHg7XHJcblxyXG4gICAgICAgIC5saW5rLWl0ZW0ge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggMWZyO1xyXG4gICAgICAgICAgICBnYXA6IDE1cHg7XHJcblxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmxpbmstdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaW5kZXgtbmV3cyB7XHJcbiAgICAgICAgLmhlYWQtcm93IHtcclxuICAgICAgICAgICAgLS1wOiAyMHB4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5kZXgtdGl0bGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYWluLW5ld3Mge1xyXG4gICAgICAgICAgICAtLXc6IDkwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVjLXNlYyAuZGVjLWF3IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMnZ3O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgLmluZGV4LXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAuaW5kZXgtbGlua3Mge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgZ2FwOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDEwcHg7XHJcblxyXG4gICAgICAgIC5saW5rLWl0ZW0ge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggMWZyO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAubGluay10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE0LzE2ICovXHJcbiAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmluZGV4LW5ld3Mge1xyXG4gICAgICAgIC5tYWluLW5ld3Mge1xyXG4gICAgICAgICAgICAtLXc6IDcwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVjLXNlYyAuZGVjLWF3IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmluZGV4LW1hc3RlciAubWFzdGVyLWNvdmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmRleC1zcGVha2VyIC5tb3JlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZGV4LXZpZGVvIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICAubS13cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCIvKiAtLS0tLS0tLS0tLS0tLSBuZXdzIC0tLS0tLS0tLS0tLS0tKi9cclxuQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XHJcblxyXG4ubmV3cy1pdGVtIHtcclxuXHJcbiAgICAubmV3cy1jb3ZlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAubmV3cy1pbWcge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43NTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmF3IC5pY29uIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5ld3MtaW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJkcnM7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNfcG9zKCRiOiAwLCAkcjogMCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNzVweCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjbGFtcCgyMHB4LCAydncsIDMwcHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic19wb3MoJGI6IDAsICRsOiAwKTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMC4zMTNyZW0gMC4zMTNyZW0gMCAwLjMxM3JlbSB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic19wb3MoJHQ6IDAsICRyOiAwKTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEuMjVyZW07XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwLjMxM3JlbSAwLjMxM3JlbSAwIDAuMzEzcmVtIHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTYwJSwgLTEwMCUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWZvbnRMaWdodCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZXdzLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBjbGFtcCgyMHB4LCAzdncsIDM1cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXdzLXRpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBsaW5lTGltaXQoMik7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTgvMTYgKi9cclxuICAgICAgICAgICAgICAgICwgMS41dncsIDEuMjVyZW1cclxuICAgICAgICAgICAgICAgIC8qIDIwLzE2ICovXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRlcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGluZUxpbWl0KDMpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoLjkzNzVyZW1cclxuICAgICAgICAgICAgICAgIC8qIDE1LzE2ICovXHJcbiAgICAgICAgICAgICAgICAsIDF2dywgMS4wNjI1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxNy8xNiAqL1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLSBuZXdzIFJXRCAtLS0tLS0tLS0tLS0tLSovXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhtZCl7IH1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuICAgIC5uZXdzLWl0ZW0gLm5ld3MtY292ZXIgLmF3IHtcclxuICAgICAgICBAaW5jbHVkZSBzaXplKDYwcHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHNtKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCIvKiAtLS0tLS0tLS0tLS0tLSBhYm91dCAtLS0tLS0tLS0tLS0tLSovXHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9taXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL2V4dGVuZHNcIiBhcyAqO1xyXG5cclxuLnBhZ2Utd2VsY29tZSB7XHJcbiAgICAud2VsY29tZS1tYWluIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2xhbXAoMzAwcHgsIDMwdncsIDU1MHB4KSAxZnI7XHJcbiAgICAgICAgZ2FwOiAzMHB4IGNsYW1wKDMwcHgsIDV2dywgODBweCk7XHJcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IDJ2dztcclxuXHJcbiAgICAgICAgLm1hc3Rlci1jb3ZlciB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubWFzdGVyLWludHJvIHtcclxuICAgICAgICAgICAgLS1nYXA6IGNsYW1wKDIwcHgsIDN2dywgNDVweCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xyXG5cclxuICAgICAgICAgICAgLmludHJvLWhlYWQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmludHJvLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMjQvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgLCAydncsIDIuMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMzYvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmludHJvLXN1YnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAxOC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAsIDEuNXZ3LCAxLjM3NXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAyMi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmludHJvLWRlcyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5lTGltaXQoNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAsIDF2dywgMS4xMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTgvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xyXG5cclxuICAgICAgICAgICAgICAgIHArcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNpZ24tcm93IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgICAgICAgICAgIC5zaWduIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAtLjVlbTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtY29tbWl0dGVlIHtcclxuICAgIEBleHRlbmQgJWNsZWFyU3R5bGU7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tIGFib3V0IFJXRCAtLS0tLS0tLS0tLS0tLSovXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbGcpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhtZCkge1xyXG4gICAgLnBhZ2Utd2VsY29tZSB7XHJcbiAgICAgICAgLndlbGNvbWUtbWFpbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG5cclxuICAgICAgICAgICAgLm1hc3Rlci1jb3ZlciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG1pbigzNDBweCwgMTAwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpeyB9IiwiLyogLS0tLS0tLS0tLS0tLS0gcHJvZ3JhbSAtLS0tLS0tLS0tLS0tLSovXHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvdmFyaWFibGVzXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9taXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL2V4dGVuZHNcIiBhcyAqO1xyXG5cclxuLnBhZ2UtcHJvZ3JhbSB7XHJcbiAgICAucGFnZS1iYW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTcwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblxyXG4gICAgICAgIC5zZXAtbGluZSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3R0b20tdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE2LzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAxLjN2dywgMS4xMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAxOC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtdGl0bGUtdGV4dCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1nbGFuY2Uge1xyXG4gICAgQGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuXHJcbiAgICAuZGwtcm93IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICAuZGwtYnRuIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE2LzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAxLjN2dywgMS4xMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAxOC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYkxpbmtzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGdhcDogMXB4O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcblxyXG4gICAgICAgICAgICAmLmFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtZ3JlZW4yKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjFmMmY3O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAxNi8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAsIDEuM3Z3LCAxLjI1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDIwLzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYkNvbnRlbnRHcm91cCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogY2xhbXAoMzBweCwgMy41dncsIDUwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIC5nbGFuY2UtdGFibGUge1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcblxyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTMwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGgsXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjBmMGYwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyO1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW1cclxuICAgICAgICAgICAgICAgIC8qIDE0LzE2ICovXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOTM3NXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTUvMTYgKi9cclxuICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkLnRpbWUtdGQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRpbWUtdGQge1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgICAgbGVmdDogLTFweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG5cclxuICAgICAgICAgICAgLnRpbWUge1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wbGFjZS1uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW1cclxuICAgICAgICAgICAgICAgIC8qIDE5LzE2ICovXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGxhY2UtZGVzIHtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjgxMjVyZW1cclxuICAgICAgICAgICAgICAgIC8qIDEzLzE2ICovXHJcbiAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nbGFuY2UtdGQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2xhbmNlLW5hbWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbVxyXG4gICAgICAgICAgICAgICAgLyogMTcvMTYgKi9cclxuICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuXHJcbiAgICAgICAgICAgIC5jb3VudHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODEyNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDEzLzE2ICovXHJcbiAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNwZWFrZXIge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtYm9yZGVyKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IC44MTI1cmVtXHJcbiAgICAgICAgICAgICAgICAvKiAxMy8xNiAqL1xyXG4gICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJyZWFrLXRkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y3ZjhmZjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICYuaXMtbHVuY2gge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmRmMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtZmllbGQge1xyXG4gICAgQGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuXHJcbiAgICAuZmllbGQtbGlzdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCg0LCAyNjBweCwgY2xhbXAoMzVweCwgM3Z3LCA1MHB4KSwgY2xhbXAoMzVweCwgNHZ3LCA3MHB4KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmZpZWxkLWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuY29udGVudCAuZmllbGQtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5hdyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZmllbGQtbGVmdC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMjdweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZmllbGQtcmlnaHQuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDg4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9maWVsZC1yZXBlYXQuc3ZnKSByZXBlYXQteCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgcGFkZGluZy1ibG9jazogMTBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE2M3B4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xyXG5cclxuICAgICAgICAgICAgLm5vIHtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgJWNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZjNmM2YzO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCg3LjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTIwLzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICwgOHZ3LCA4Ljc1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDE0MC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5maWVsZC1zdWIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDFyZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLyogMTYvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgLCAxLjJ2dywgMS4yNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAyMC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmZpZWxkLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxpbmVMaW1pdCgyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMjAvMTYgKi9cclxuICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmF3IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWJzX3BvcygkcjogNXB4LCAkYjogMTBweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNDVweCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYy1wcmltYXJ5KTtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1zcGVha2VyIHtcclxuICAgIC5zcGVha2VyLXByb2ZpbGUge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtYXgoMzAwcHgsIDE4dncpIDFmcjtcclxuICAgICAgICBnYXA6IDMwcHggY2xhbXAoMjBweCwgMnZ3LCA0MHB4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmNmOWZkO1xyXG4gICAgICAgIHBhZGRpbmc6IGNsYW1wKDI1cHgsIDJ2dywgNDVweCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuaW1nLWJveCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIH1cclxuXHJcbiAgICAucHJvZmlsZS1pdGVtIHtcclxuICAgICAgICArLnByb2ZpbGUtaXRlbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIDFweCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWdyZXkpO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ3MmM3ZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAxOC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pdGVtLWRlcyB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDEuM3Z3LCAxLjEyNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiAxOC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLSBwcm9ncmFtIFJXRCAtLS0tLS0tLS0tLS0tLSovXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhsKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bCl7IH1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbGcpIHtcclxuICAgIC5wYWdlLXNwZWFrZXIge1xyXG4gICAgICAgIC5zcGVha2VyLXByb2ZpbGUge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeG1kKSB7XHJcbiAgICAucGFnZS1nbGFuY2UgLmRsLXJvdyB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJG1kKXsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgLnBhZ2UtZ2xhbmNlIC50YWJMaW5rcyBsaSBhIHNwYW4ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCIvKiAtLS0tLS0tLS0tLS0tLSBjb250YWN0IC0tLS0tLS0tLS0tLS0tKi9cclxuQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XHJcblxyXG4ucGFnZS1jb250YWN0IHtcclxuICAgIC5wYWdlLWJhbm5lciB7XHJcbiAgICAgICAgLmNvbnRhY3QtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE2LzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAxLjV2dywgMS41cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMjQvMTYgKi9cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTU5MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxlZnQtdGV4dCB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAgICAgICAubWItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc2VwLWxpbmUge1xyXG4gICAgICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmlnaHQtdGV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gY29udGFjdCBSV0QgLS0tLS0tLS0tLS0tLS0qL1xyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHh4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJGxnKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4bWQpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJG1kKXsgfVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgLnBhZ2UtY29udGFjdCB7XHJcbiAgICAgICAgLnBhZ2UtYmFubmVyIHtcclxuICAgICAgICAgICAgLmNvbnRhY3QtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubGVmdC10ZXh0IHtcclxuICAgICAgICAgICAgICAgICYucGMtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubWItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucmlnaHQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCIvKiAtLS0tLS0tLS0tLS0tLSBpbmZvIC0tLS0tLS0tLS0tLS0tKi9cclxuQHVzZSBcIi4uL2Fic3RyYWN0cy92YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL21peGluc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvZXh0ZW5kc1wiIGFzICo7XHJcblxyXG4ucGFnZS1pbmZvIHtcclxuICAgIC5wYWdlLWJhbm5lciB7XHJcbiAgICAgICAgLnNlcC1saW5lIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGVmdC1zZWMge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE3dnc7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXZ3O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmluZm8tdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoLjgxMjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAxMy8xNiAqL1xyXG4gICAgICAgICAgICAgICAgICAgICwgMS41dncsIDEuNXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDI0LzE2ICovXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxdnc7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDF2dztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LXRleHQge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xyXG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uOHJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yaWdodC10ZXh0IHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gaW5mbyBSV0QgLS0tLS0tLS0tLS0tLS0qL1xyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHh4bCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeGwpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJGxnKSB7XHJcbiAgICAucGFnZS1pbmZvIC5wYWdlLWJhbm5lciB7XHJcbiAgICAgICAgLmxlZnQtc2VjIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAydnc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGVmdC10ZXh0IHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhtZCl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkbWQpeyB9XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICAucGFnZS1pbmZvIC5wYWdlLWJhbm5lciB7XHJcbiAgICAgICAgLnNlcC1saW5lIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxlZnQtc2VjIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmluZm8tdGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmlnaHQtdGV4dCBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1iLWhpZGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4cyl7IH0iLCIvKiAtLS0tLS0tLS0tLS0tLSBtZW1iZXIgLS0tLS0tLS0tLS0tLS0qL1xyXG5AdXNlIFwiLi4vYWJzdHJhY3RzL3ZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCIuLi9hYnN0cmFjdHMvbWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcIi4uL2Fic3RyYWN0cy9leHRlbmRzXCIgYXMgKjtcclxuXHJcbi5wYWdlLW1lbWJlciB7XHJcbiAgICAucGFnZS1iYW5uZXIge1xyXG4gICAgICAgIC5zZXAtbGluZSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LXNlYyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXZ3O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxlZnQtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMy43NXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDYwLzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgLCAxM3Z3LCA5LjM3NXJlbVxyXG4gICAgICAgICAgICAgICAgICAgIC8qIDE1MC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbmZvLXRleHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKC44MTI1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTMvMTYgKi9cclxuICAgICAgICAgICAgICAgICAgICAsIDEuNXZ3LCAxLjVyZW1cclxuICAgICAgICAgICAgICAgICAgICAvKiAyNC8xNiAqL1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXZ3O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXgoMzAwcHgsIDMwdncpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LXRleHQge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xyXG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBrZWVwLWFsbDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luLXNlYyB7XHJcbiAgICAgICAgQGV4dGVuZCAlY2xlYXJTdHlsZTtcclxuICAgICAgICBAaW5jbHVkZSBtYXcoNjQwcHgpO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XHJcblxyXG4gICAgICAgIC5sb2dpbi1oZWFkIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZ2FwOiBjbGFtcCgxMHB4LCAxLjV2dywgMjBweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMzc1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDIyLzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICwgMnZ3LCAycmVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qIDMyLzE2ICovXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmZ3LWRlcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDE1cHgsIDEuNXZ3LCAyNXB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5maWVsZC1yb3cge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ib3R0b20tbGluayB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZm9udCk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC45Mzc1cmVtXHJcbiAgICAgICAgICAgICAgICAgICAgLyogMTUvMTYgKi9cclxuICAgICAgICAgICAgICAgIDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiA1cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLWFwcGx5LWFjY291bnQge1xyXG4gICAgLnBhZ2UtdGl0bGUtdGV4dCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXJtLXJvdyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMjVweCwgM3Z3LCA1MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAudGVybS1saW1pdCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1mb250KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZXJtLWJveCB7XHJcbiAgICAgICAgcGFkZGluZzogY2xhbXAoMTVweCwgMi41dncsIDMwcHgpIGNsYW1wKDhweCwgMnZ3LCAyMHB4KTtcclxuICAgICAgICBoZWlnaHQ6IDMzMHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgICAgIC50ZXJtLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLSBtZW1iZXIgUldEIC0tLS0tLS0tLS0tLS0tKi9cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICR4eGwpeyB9XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhsKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICRsZyl7IH1cclxuXHJcbi8vIEBtZWRpYSAobWF4LXdpZHRoOiAkeG1kKXsgfVxyXG5cclxuLy8gQG1lZGlhIChtYXgtd2lkdGg6ICRtZCl7IH1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAgIC5wYWdlLW1lbWJlciAucGFnZS1iYW5uZXIge1xyXG4gICAgICAgIC5zZXAtbGluZSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5sZWZ0LXNlYyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBAbWVkaWEgKG1heC13aWR0aDogJHhzKXsgfSJdfQ== */
