﻿@charset "UTF-8";
/*
layout
*/
/*
z-index
*/
/*
color
*/
/*
pxをvwに変換

ウインドウ幅1400pxに対して要素幅50pxの場合
getvw(50,1400)となる
*/
/*
メディアクエリ
記述例
body{
  @include mixin.ms-w('max',1200){
    background-color: red;
  }
}
*/
/*
WEB FONT
*/
/*
ICON FONT
*/
/*
mixin
*/
/*
*
アコーディオン
*
*/
/************************************************************
SCREEN ALL
*************************************************************/
button.accordion-trigger {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
  cursor: pointer;
}

.accordion .accordion-contents {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.2s ease-out;
}
.accordion .accordion-contents[hidden] {
  display: grid;
  grid-template-rows: 0fr;
}
.accordion .accordion-contents .accordion-contents-inner {
  overflow: hidden;
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.mv {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width:768px) {
  .mv {
    height: 480px;
  }
}
@media only screen and (max-width:767px) {
  .mv {
    height: 325px;
  }
}
@media only screen and (min-width:768px) {
  .mv {
    padding-top: 153px;
  }
}
@media only screen and (max-width:767px) {
  .mv {
    padding-top: 90px;
  }
}
@media only screen and (min-width:768px) {
  .mv {
    padding-bottom: 10px;
  }
}
@media only screen and (max-width:767px) {
  .mv {
    padding-bottom: 10px;
  }
}
.mv-inner {
  position: relative;
}
@media only screen and (max-width:767px) {
  .mv-inner {
    padding-right: 50px;
  }
}
.mv-title {
  color: white;
}
.mv-title-en {
  font-family: "Barlow", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 1.2em;
}
@media only screen and (min-width:768px) {
  .mv-title-en {
    font-size: 80px;
  }
}
@media only screen and (max-width:767px) {
  .mv-title-en {
    font-size: 40px;
  }
}
.mv-title-ja {
  font-weight: 500;
  line-height: 1.7em;
}
@media only screen and (min-width:768px) {
  .mv-title-ja {
    margin-top: 7px;
  }
}
@media only screen and (max-width:767px) {
  .mv-title-ja {
    margin-top: 10px;
  }
}
@media only screen and (min-width:768px) {
  .mv-title-ja {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .mv-title-ja {
    font-size: 14px;
  }
}
.mv-pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mv-pic img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.mv .common-breadcrumbs {
  margin-top: auto;
  position: relative;
  /*@include media.resp(margin-top,-100px,-80px);*/
  color: white;
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  .mv {
    padding-bottom: 54px;
  }
}
@media only screen and (max-width:767px) {
  .mv {
    padding-bottom: 35px;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.top-nav {
  position: relative;
}
@media only screen and (min-width:768px) {
  .top-nav {
    margin-top: -32px;
  }
}
@media only screen and (max-width:767px) {
  .top-nav {
    margin-top: -25px;
  }
}
.top-nav-inner {
  background-color: white;
  position: relative;
}
@media only screen and (min-width:768px) {
  .top-nav-inner {
    display: flex;
    justify-content: space-between;
    height: 64px;
    border-radius: 40px;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-inner {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1);
    border-radius: 25px;
  }
}
.top-nav button.accordion-trigger {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: inherit;
}
@media only screen and (min-width:768px) {
  .top-nav button.accordion-trigger {
    display: none;
  }
}
@media only screen and (max-width:767px) {
  .top-nav button.accordion-trigger {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
  }
}
.top-nav button.accordion-trigger[aria-expanded=true] + .top-nav-icon {
  transform: rotate(180deg);
}
.top-nav button.accordion-trigger[aria-expanded=true] + .top-nav-icon::after {
  opacity: 0;
}
@media only screen and (min-width:768px) {
  .top-nav .accordion-contents {
    height: 100%;
    display: flex !important;
    align-items: center;
    grid-template-rows: 1fr;
  }
  .top-nav .accordion-contents[hidden] {
    grid-template-rows: 1fr;
  }
}
.top-nav-title {
  font-weight: 600;
}
@media only screen and (min-width:768px) {
  .top-nav-title {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-title {
    font-size: 16px;
  }
}
@media only screen and (min-width:768px) {
  .top-nav-title {
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: 50px;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-title {
    height: 50px;
    display: flex;
    align-items: center;
    padding-left: 20px;
  }
}
@media only screen and (min-width:768px) {
  .top-nav-links ul {
    display: flex;
    gap: 40px;
    height: 100%;
    align-items: center;
    padding-right: 50px;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-links ul {
    padding: 10px 0 15px 20px;
    display: flex;
    flex-direction: column;
  }
}
.top-nav-links ul li {
  letter-spacing: 0.04em;
  position: relative;
  display: inline-block;
}
@media only screen and (min-width:768px) {
  .top-nav-links ul li {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-links ul li {
    font-size: 14px;
  }
}
@media only screen and (min-width:768px) {
  .top-nav-links ul li {
    padding: 0 10px;
  }
}
.top-nav-links ul li.-current {
  color: #004F99;
  font-weight: 600;
}
.top-nav-links ul li.-current::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #004F99;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media only screen and (max-width:767px) {
  .top-nav-links ul li.-current::after {
    display: none;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-links ul li.-current a {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
}
.top-nav-links ul li a {
  white-space: nowrap;
  display: inline-block;
  width: 100%;
  height: 100%;
  transition: 0.2s;
}
@media only screen and (min-width:768px) {
  .top-nav-links ul li a {
    padding: 10px 0;
  }
}
@media only screen and (max-width:767px) {
  .top-nav-links ul li a {
    padding: 10px 0;
  }
}
@media (hover: hover) {
  .top-nav-links ul li a:hover {
    color: #004F99;
  }
}
.top-nav-icon {
  pointer-events: none;
  position: absolute;
  top: 18px;
  right: 24px;
  width: 14px;
  height: 14px;
  transition: 0.2s;
}
@media only screen and (min-width:768px) {
  .top-nav-icon {
    display: none;
  }
}
.top-nav-icon::before, .top-nav-icon::after {
  content: "";
  display: block;
  background-color: #004F99;
  transition: 0.2s;
}
.top-nav-icon::before {
  width: 14px;
  height: 2px;
  position: absolute;
  top: 6px;
  left: 0;
}
.top-nav-icon::after {
  width: 2px;
  height: 14px;
  position: absolute;
  top: 0;
  left: 6px;
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  .purpose {
    padding-top: 120px;
  }
}
@media only screen and (max-width:767px) {
  .purpose {
    padding-top: 60px;
  }
}
@media only screen and (min-width:768px) {
  .purpose {
    padding-bottom: 190px;
  }
}
@media only screen and (max-width:767px) {
  .purpose {
    padding-bottom: 60px;
  }
}
.purpose-title {
  text-align: center;
}
.purpose-title-en {
  font-weight: 600;
  color: #004F99;
  line-height: 1.5em;
}
@media only screen and (min-width:768px) {
  .purpose-title-en {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .purpose-title-en {
    font-size: 14px;
  }
}
.purpose-title-ja {
  font-weight: 600;
  line-height: 1.5em;
}
@media only screen and (min-width:768px) {
  .purpose-title-ja {
    margin-top: 7px;
  }
}
@media only screen and (max-width:767px) {
  .purpose-title-ja {
    margin-top: 10px;
  }
}
@media only screen and (min-width:768px) {
  .purpose-title-ja {
    font-size: 50px;
  }
}
@media only screen and (max-width:767px) {
  .purpose-title-ja {
    font-size: 24px;
  }
}
.purpose-top-txt {
  line-height: 2em;
}
@media only screen and (min-width:768px) {
  .purpose-top-txt {
    margin-top: 39px;
  }
}
@media only screen and (max-width:767px) {
  .purpose-top-txt {
    margin-top: 27px;
  }
}
@media only screen and (min-width:768px) {
  .purpose-top-txt {
    font-size: 18px;
  }
}
@media only screen and (max-width:767px) {
  .purpose-top-txt {
    font-size: 14px;
  }
}
@media only screen and (min-width:768px) {
  .purpose-top-txt {
    text-align: center;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  .values {
    padding-top: 115px;
  }
}
@media only screen and (max-width:767px) {
  .values {
    padding-top: 50px;
  }
}
.values-title {
  font-weight: 600;
  text-align: center;
  line-height: 1.7em;
}
@media only screen and (min-width:768px) {
  .values-title {
    font-size: 36px;
  }
}
@media only screen and (max-width:767px) {
  .values-title {
    font-size: 20px;
  }
}
@media only screen and (min-width:768px) {
  .values-boxes {
    margin-top: 50px;
  }
}
@media only screen and (max-width:767px) {
  .values-boxes {
    margin-top: 30px;
  }
}
@media only screen and (min-width:768px) {
  .values-boxes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875%;
  }
}
@media only screen and (max-width:767px) {
  .values-boxes {
    width: 89.7435897436vw;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}
.values-box-pic-wrapper {
  position: relative;
}
.values-box-name {
  background-color: white;
  width: 65%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 1px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #004F99;
  font-weight: 600;
}
@media only screen and (min-width:768px) {
  .values-box-name {
    height: 96px;
  }
}
@media only screen and (max-width:767px) {
  .values-box-name {
    height: 60px;
  }
}
@media only screen and (min-width:768px) {
  .values-box-name {
    font-size: 26px;
  }
}
@media only screen and (max-width:767px) {
  .values-box-name {
    font-size: 20px;
  }
}
@media only screen and (min-width:768px) {
  .values-box-txts {
    padding-top: 30px;
  }
}
@media only screen and (max-width:767px) {
  .values-box-txts {
    padding-top: 20px;
  }
}
.values-box-txt-01 {
  font-weight: 600;
  line-height: 1.7em;
  text-align: center;
}
@media only screen and (min-width:768px) {
  .values-box-txt-01 {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .values-box-txt-01 {
    font-size: 18px;
  }
}
.values-box-txt-02 {
  line-height: 1.7em;
}
@media only screen and (min-width:768px) {
  .values-box-txt-02 {
    margin-top: 20px;
  }
}
@media only screen and (max-width:767px) {
  .values-box-txt-02 {
    margin-top: 10px;
  }
}
@media only screen and (min-width:768px) {
  .values-box-txt-02 {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .values-box-txt-02 {
    font-size: 14px;
  }
}
@media only screen and (min-width:768px) {
  .values-box-txt-02 {
    width: 75%;
    min-width: 380px;
    margin-inline: auto;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:768px) {
  .csr {
    padding-top: 90px;
  }
}
@media only screen and (max-width:767px) {
  .csr {
    padding-top: 55px;
  }
}
.csr-title {
  font-weight: 600;
  text-align: center;
  line-height: 1.7em;
}
@media only screen and (min-width:768px) {
  .csr-title {
    font-size: 36px;
  }
}
@media only screen and (max-width:767px) {
  .csr-title {
    font-size: 20px;
  }
}
.csr-top-txt {
  line-height: 2em;
}
@media only screen and (min-width:768px) {
  .csr-top-txt {
    margin-top: 34px;
  }
}
@media only screen and (max-width:767px) {
  .csr-top-txt {
    margin-top: 26px;
  }
}
@media only screen and (min-width:768px) {
  .csr-top-txt {
    font-size: 18px;
  }
}
@media only screen and (max-width:767px) {
  .csr-top-txt {
    font-size: 14px;
  }
}
@media only screen and (min-width:768px) {
  .csr-top-txt {
    text-align: center;
  }
}
@media only screen and (min-width:768px) {
  .csr-boxes {
    margin-top: 64px;
  }
}
@media only screen and (max-width:767px) {
  .csr-boxes {
    margin-top: 40px;
  }
}
@media only screen and (min-width:768px) {
  .csr-boxes {
    width: 1056px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
}
@media only screen and (max-width:767px) {
  .csr-boxes {
    width: 89.7435897436vw;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
}
@media only screen and (min-width:768px) {
  .csr-box {
    display: flex;
    flex-direction: column;
  }
}
@media only screen and (min-width:768px) {
  .csr-box-txts {
    padding-top: 30px;
  }
}
@media only screen and (max-width:767px) {
  .csr-box-txts {
    padding-top: 10px;
  }
}
.csr-box-txt-01 {
  font-weight: 600;
  line-height: 1.7em;
  text-align: center;
}
@media only screen and (min-width:768px) {
  .csr-box-txt-01 {
    font-size: 20px;
  }
}
@media only screen and (max-width:767px) {
  .csr-box-txt-01 {
    font-size: 18px;
  }
}
.csr-box-txt-02 {
  line-height: 1.7em;
}
@media only screen and (min-width:768px) {
  .csr-box-txt-02 {
    margin-top: 20px;
  }
}
@media only screen and (max-width:767px) {
  .csr-box-txt-02 {
    margin-top: 10px;
  }
}
@media only screen and (min-width:768px) {
  .csr-box-txt-02 {
    font-size: 16px;
  }
}
@media only screen and (max-width:767px) {
  .csr-box-txt-02 {
    font-size: 14px;
  }
}
@media only screen and (min-width:768px) {
  .csr-box-txt-02 {
    width: 75%;
    min-width: 380px;
    margin-inline: auto;
    padding-bottom: 26px;
  }
}
.csr-box-link {
  margin-inline: auto;
}
@media only screen and (min-width:768px) {
  .csr-box-link {
    margin-top: auto;
  }
}
@media only screen and (max-width:767px) {
  .csr-box-link {
    margin-top: 32px;
  }
}
@media only screen and (max-width:767px) {
  .csr-box-link {
    width: 100%;
    max-width: 450px;
  }
}

/************************************************************
SCREEN SP
*************************************************************/
/************************************************************
SCREEN PC
*************************************************************/
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJfZm91bmRhdGlvbi9fdmFycy5zY3NzIiwiX2ZvdW5kYXRpb24vX2Z1bmN0aW9uLnNjc3MiLCJfZm91bmRhdGlvbi9fbWl4aW4uc2NzcyIsIl9mb3VuZGF0aW9uL19pY29ucy5zY3NzIiwiX2NvbXBvbmVudC9fYWNjb3JkaW9uLnNjc3MiLCJfY29tcG9uZW50L19tdl9hLnNjc3MiLCJfZm91bmRhdGlvbi9fbWVkaWEuc2NzcyIsInBoaWxvc29waHkvaW5kZXhfc3R5bGVzL19nZW5lcmFsLnNjc3MiLCJwaGlsb3NvcGh5L2luZGV4X3N0eWxlcy9fdG9wLW5hdi5zY3NzIiwicGhpbG9zb3BoeS9pbmRleF9zdHlsZXMvX3B1cnBvc2Uuc2NzcyIsInBoaWxvc29waHkvaW5kZXhfc3R5bGVzL192YWx1ZXMuc2NzcyIsInBoaWxvc29waHkvaW5kZXhfc3R5bGVzL19jc3Iuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0E7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FDZEE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFxQkE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FDaENBO0FBQUE7QUFBQTtBQ0tBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0M7OztBQUlBO0VBQ0U7RUFDQTtFQUNBOztBQUNBO0VBQ0U7RUFDQTs7QUFFRjtFQUNFOzs7QUFNTjtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUMzQ0E7QUFBQTtBQUFBO0FBSUE7RUFLRTtFQUNBO0VBQ0E7O0FDYkE7RURNRjtJQ0FnQixRRENhOzs7QUNKM0I7RURHRjtJQ0NnQjs7O0FBUGQ7RURNRjtJQ0FnQixhREVrQjs7O0FDTGhDO0VER0Y7SUNDZ0IsYURDd0I7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RTtJSFhZLFdHYW9COzs7QUhoQmxDO0VHY0U7SUhWWSxXR1l5Qjs7O0FBS3ZDO0VBR0U7O0FIM0JGO0VHd0JBO0lIbEJjLFlHbUJtQjs7O0FIdEJqQztFR3FCQTtJSGpCYyxZR2tCd0I7OztBSHpCdEM7RUd3QkE7SUhsQmMsV0dvQmtCOzs7QUh2QmhDO0VHcUJBO0lIakJjLFdHbUJ1Qjs7O0FIMUJyQztFR3dCQTtJQUtJOzs7O0FBS047QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FDdENBO0FBQUE7QUFBQTtBSkZFO0VJTUY7SUpBZ0IsYUlDa0I7OztBSkpoQztFSUdGO0lKQ2dCOzs7QUlDZDtFQUVFO0VBQ0E7RUFDQTs7QUpaRjtFSVFBO0lKRmMsV0lHa0I7OztBSk5oQztFSUtBO0lKRGMsV0lFdUI7OztBSlRyQztFSWNBO0lKUmMsWUlTbUI7OztBSlpqQztFSVdBO0lKUGMsWUlRd0I7OztBSmZ0QztFSWNBO0lBR0k7SUFDQTtJQUNBOzs7QUpoQko7RUlXQTtJQVFJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9WNUJNO0VVOEJOOztBSi9DSjtFSWlDRTtJSjNCWSxRSThCaUI7OztBSmpDL0I7RUk4QkU7SUoxQlksUUk2QnNCOzs7QUpwQ3BDO0VJaUNFO0lKM0JZLFdJd0NvQjs7O0FKM0NsQztFSThCRTtJSjFCWSxXSXVDeUI7OztBSjlDdkM7RUlpREU7SUozQ1ksYUk0Q3NCOzs7QUovQ3BDO0VJOENFO0lKMUNZLGFJMkMyQjs7O0FBRXZDO0VBRUU7RUFDQTtFQUNBOztBSnhESjtFSW9ERTtJSjlDWSxXSStDb0I7OztBSmxEbEM7RUlpREU7SUo3Q1ksV0k4Q3lCOzs7QUFLckM7RUFHRTs7QUo3REo7RUkwREU7SUpwRFksWUlxRHFCOzs7QUp4RG5DO0VJdURFO0lKbkRZLFlJb0QwQjs7O0FKM0R4QztFSTBERTtJSnBEWSxXSXNEb0I7OztBSnpEbEM7RUl1REU7SUpuRFksV0lxRHlCOzs7QUo1RHZDO0VJMERFO0lBS0k7SUFDQTtJQUNBOzs7O0FBTVI7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FDM0VBO0FBQUE7QUFBQTtBTEZFO0VLTUY7SUxBZ0IsYUtDa0I7OztBTEpoQztFS0dGO0lMQ2dCOzs7QUtDZDtFQUVFO0VBQ0E7RUFDQTs7QUxaRjtFS1FBO0lMRmMsV0tHa0I7OztBTE5oQztFS0tBO0lMRGMsV0tFdUI7OztBQUtyQztFQUdFOztBTGpCRjtFS2NBO0lMUmMsWUtTbUI7OztBTFpqQztFS1dBO0lMUGMsWUtRd0I7OztBTGZ0QztFS2NBO0lMUmMsV0tVa0I7OztBTGJoQztFS1dBO0lMUGMsV0tTdUI7OztBTGhCckM7RUtjQTtJQUtJOzs7QUxuQko7RUtzQkE7SUxoQmMsWUtpQm1COzs7QUxwQmpDO0VLbUJBO0lMZmMsWUtnQndCOzs7QUx2QnRDO0VLc0JBO0lBR0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FMMUJKO0VLbUJBO0lBVUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FMcENKO0VLdUNBO0lBRUk7SUFDQTs7O0FMMUNKO0VLNENFO0lMdENZLGFLdUNzQjs7O0FMMUNwQztFS3lDRTtJTHJDWSxhS3NDMkI7OztBQUV2QztFQUVFO0VBQ0E7RUFDQTs7QUxuREo7RUsrQ0U7SUx6Q1ksV0swQ29COzs7QUw3Q2xDO0VLNENFO0lMeENZLFdLeUN5Qjs7O0FBS3JDO0VBR0U7O0FMeERKO0VLcURFO0lML0NZLFlLZ0RxQjs7O0FMbkRuQztFS2tERTtJTDlDWSxZSytDMEI7OztBTHREeEM7RUtxREU7SUwvQ1ksV0tpRG9COzs7QUxwRGxDO0VLa0RFO0lMOUNZLFdLZ0R5Qjs7O0FMdkR2QztFS3FERTtJQUtJO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUVFOztBTGxFSjtFS2dFRTtJTDFEWSxZSzJEcUI7OztBTDlEbkM7RUs2REU7SUx6RFksWUswRDBCOzs7QUw5RHhDO0VLNkRFO0lBSUk7SUFDQTs7OztBQU1SO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQSIsImZpbGUiOiJwaGlsb3NvcGh5L2luZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRzY3JlZW5fc3A6XCJzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpXCI7XG4kc2NyZWVuX3BjOlwic2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KVwiO1xuXG4vKlxubGF5b3V0XG4qL1xuXG4kcGNfbWluX3dpZHRoOjEyMDBweDtcbiRwY19tYXhfd2lkdGg6MTQwMHB4O1xuXG4vKlxuei1pbmRleFxuKi9cblxuJHpfaW5kZXhfaGVhZGVyOjEwMDA7XG5cbi8qXG5jb2xvclxuKi9cblxuJGNvbG9yX2JsdWU6IzAwNEY5OTtcbiRjb2xvcl9ncmVlbjojMDA4QTNCOyIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLypcbnB444KSdnfjgavlpInmj5tcblxu44Km44Kk44Oz44OJ44Km5bmFMTQwMHB444Gr5a++44GX44Gm6KaB57Sg5bmFNTBweOOBruWgtOWQiFxuZ2V0dncoNTAsMTQwMCnjgajjgarjgotcbiovXG5AZnVuY3Rpb24gZ2V0dncoJHNpemUsICR2aWV3cG9ydDozOTApe1xuICAkcmF0ZTogbWF0aC5kaXYoMTAwLCR2aWV3cG9ydCk7XG4gIEByZXR1cm4gJHJhdGUgKiAkc2l6ZSAqIDF2dztcbn1cblxuLy/vvIXjgpLov5TjgZlcbkBmdW5jdGlvbiBnZXRwZXIoJHNpemUsICRwYXJlbnQpe1xuICAkcmF0ZTogbWF0aC5kaXYoMTAwLCRwYXJlbnQpO1xuICBAcmV0dXJuICRyYXRlICogJHNpemUgKiAxJTtcbn1cblxuLy/ljYrliIbjga7jgrXjgqTjgrrjgpJweOOBp+i/lOOBmVxuQGZ1bmN0aW9uIGdldGhhbGYoJHNpemUpe1xuICBAcmV0dXJuICRzaXplICogMC41cHg7XG59XG5cbi8vcmVt44KS6L+U44GZXG5AZnVuY3Rpb24gZ2V0cmVtKCRzaXplLCAkYmFzZTogMTYpIHtcblx0QHJldHVybiBtYXRoLmRpdigkc2l6ZSwgJGJhc2UpICsgcmVtO1xufVxuXG4vL2xpbmUtaGVpZ2h044GuZW3jgpLoqIjnrpdcbkBmdW5jdGlvbiBnZXRsaGVtKCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuXHRAcmV0dXJuIG1hdGguZGl2KCRsaW5lLWhlaWdodCwkZm9udC1zaXplKSArIGVtO1xufVxuXG4vL2xldHRlci1zcGFjaW5n44GuZW3jgpLoqIjnrpdcbkBmdW5jdGlvbiBnZXRsc2VtKCRmb250LXNpemUsICRweCkge1xuXHRAcmV0dXJuIG1hdGguZGl2KCRweCwkZm9udC1zaXplKSArIGVtO1xufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLypcbuODoeODh+OCo+OCouOCr+OCqOODqlxu6KiY6L+w5L6LXG5ib2R5e1xuICBAaW5jbHVkZSBtaXhpbi5tcy13KCdtYXgnLDEyMDApe1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgfVxufVxuKi9cbkBtaXhpbiBtcy13KCRtYXhtaW4sJHZhbCl7XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgjeyRtYXhtaW59LXdpZHRoOiN7JHZhbH1weCl7XG4gICAgQGNvbnRlbnQ7XG4gIH07XG59XG5cbkBtaXhpbiBtcy1oKCRtYXhtaW4sJHZhbCl7XG4gIEBtZWRpYSBzY3JlZW4gYW5kICgjeyRtYXhtaW59LWhlaWdodDojeyR2YWx9cHgpe1xuICAgIEBjb250ZW50O1xuICB9O1xufVxuXG4vKlxuV0VCIEZPTlRcbiovXG5cbkBtaXhpbiBmb250LWJhcmxvdygpe1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKlxuSUNPTiBGT05UXG4qL1xuXG5AbWl4aW4gaWNvbnMtZm9udHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGljb25zLXh7IGNvbnRlbnQ6IFwiXFxFQTA0XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYWNlYm9va3sgY29udGVudDogXCJcXEVBMDVcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWluc3RhZ3JhbXsgY29udGVudDogXCJcXEVBMDZcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXlvdXR1YmV7IGNvbnRlbnQ6IFwiXFxFQTA3XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1saW5leyBjb250ZW50OiBcIlxcRUEwOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5cbiIsIi8qXG5taXhpblxuKi9cblxuQG1peGluIGljb25zLWZvbnR7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGljb25zLWFycm93LWEgeyBjb250ZW50OiBcIlxcRUEwMVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYXJyb3ctYiB7IGNvbnRlbnQ6IFwiXFxFQTAyXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1wbGF5IHsgY29udGVudDogXCJcXEVBMDNcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWFycm93LWMgeyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYXJyb3ctZCB7IGNvbnRlbnQ6IFwiXFxFQTA1XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbiIsIkB1c2UgXCIuLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9pY29uc1wiIGFzIGljb25zO1xuXG4vKlxuKlxu44Ki44Kz44O844OH44Kj44Kq44OzXG4qXG4qL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gQUxMXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5idXR0b24uYWNjb3JkaW9uLXRyaWdnZXJ7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGNvbG9yOmluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjY29yZGlvbntcbiAgLmFjY29yZGlvbi1jb250ZW50c3tcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjJzIGVhc2Utb3V0O1xuICAgICZbaGlkZGVuXXtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgICB9XG4gICAgLmFjY29yZGlvbi1jb250ZW50cy1pbm5lcntcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e31cbiIsIkB1c2UgXCIuLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLm12e1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKGhlaWdodCw0ODBweCwzMjVweCk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMTUzcHgsOTBweCk7XG4gIC8vQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLWJvdHRvbSw1NHB4LDM1cHgpO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctYm90dG9tLDEwcHgsMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgJi1pbm5lcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuICAmLXRpdGxle1xuICAgIGNvbG9yOndoaXRlO1xuICAgICYtZW57XG4gICAgICBAaW5jbHVkZSBtaXhpbi5mb250LWJhcmxvdztcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDgwcHgsNDBweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIH1cbiAgICAmLWphe1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDdweCwxMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDIwcHgsMTRweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICAgIH1cbiAgfVxuICAmLXBpY3tcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgbGVmdDowO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBpbWd7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuICAuY29tbW9uLWJyZWFkY3J1bWJze1xuICAgIG1hcmdpbi10b3A6YXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLypAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsLTEwMHB4LC04MHB4KTsqL1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gU1BcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9zcH17fVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUENcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSAje3ZhcnMuJHNjcmVlbl9wY317fVxuIiwiQHVzZSBcIi4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuXG5AbWl4aW4gcGMge1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9wY30geyBAY29udGVudDsgfVxufVxuQG1peGluIHNwIHtcbiAgQG1lZGlhIG9ubHkgI3t2YXJzLiRzY3JlZW5fc3B9IHsgQGNvbnRlbnQ7IH1cbn1cbkBtaXhpbiByZXNwKCRhdHIsICRwYywgJHNwKSB7XG4gIEBpbmNsdWRlIHBjIHsgI3skYXRyfTogJHBjOyB9XG4gIEBpbmNsdWRlIHNwIHsgI3skYXRyfTogJHNwOyB9XG59XG5cbkBtaXhpbiBob3ZlcntcbiAgQG1lZGlhKGhvdmVyOmhvdmVyKSB7XG4gICAgJjpob3ZlcntcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufSIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLm12e1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctYm90dG9tLDU0cHgsMzVweCk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBTUFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3NwfXt9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBQQ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3BjfXt9XG4iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi50b3AtbmF2e1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsLTMycHgsLTI1cHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYtaW5uZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYShibGFjaywuMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIH1cbiAgfVxuICBidXR0b24uYWNjb3JkaW9uLXRyaWdnZXJ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY29sb3I6aW5oZXJpdDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIGxlZnQ6MDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdICsgLnRvcC1uYXYtaWNvbntcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAmOjphZnRlcntcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFjY29yZGlvbi1jb250ZW50c3tcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICAgICZbaGlkZGVuXXtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtdGl0bGV7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsMjBweCwxNnB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG4gICYtbGlua3N7XG4gICAgdWx7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOjQwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICBwYWRkaW5nOjEwcHggMCAxNXB4IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICBsaXtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsMTZweCwxNHB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgICAgIHBhZGRpbmc6MCAxMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuLWN1cnJlbnR7XG4gICAgICAgICAgY29sb3I6dmFycy4kY29sb3JfYmx1ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICY6OmFmdGVye1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcnMuJGNvbG9yX2JsdWU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGF7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDoycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZywxMHB4IDAsMTBweCAwKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAuMnM7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEuaG92ZXJ7XG4gICAgICAgICAgICBjb2xvcjp2YXJzLiRjb2xvcl9ibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWljb257XG4gICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjE4cHg7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHRyYW5zaXRpb246IC4ycztcbiAgICAmOjpiZWZvcmUsJjo6YWZ0ZXJ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXJzLiRjb2xvcl9ibHVlO1xuICAgICAgdHJhbnNpdGlvbjogLjJzO1xuICAgIH1cbiAgICAmOjpiZWZvcmV7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjZweDtcbiAgICAgIGxlZnQ6MDtcbiAgICB9XG4gICAgJjo6YWZ0ZXJ7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjZweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e31cbiIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnB1cnBvc2V7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMTIwcHgsNjBweCk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy1ib3R0b20sMTkwcHgsNjBweCk7XG4gICYtdGl0bGV7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICYtZW57XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwyMHB4LDE0cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOnZhcnMuJGNvbG9yX2JsdWU7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgfVxuICAgICYtamF7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsN3B4LDEwcHgpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsNTBweCwyNHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgfVxuICB9XG4gICYtdG9wLXR4dHtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMzlweCwyN3B4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwxOHB4LDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBTUFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3NwfXt9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBQQ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1lZGlhICN7dmFycy4kc2NyZWVuX3BjfXt9XG4iLCJAdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi52YWx1ZXN7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMTE1cHgsNTBweCk7XG4gICYtdGl0bGV7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsMzZweCwyMHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMS43ZW07XG4gIH1cbiAgJi1ib3hlc3tcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsNTBweCwzMHB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLDFmcik7XG4gICAgICBnYXA6MS44NzUlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS5zcHtcbiAgICAgIHdpZHRoOiBmdW5jLmdldHZ3KDM1MCk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6MzBweDtcbiAgICB9XG4gIH1cbiAgJi1ib3h7XG4gICAgJi1waWMtd3JhcHBlcntcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgJi1uYW1le1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB3aWR0aDogNjUlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChoZWlnaHQsOTZweCw2MHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgbGVmdDo1MCU7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMXB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjp2YXJzLiRjb2xvcl9ibHVlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEucmVzcChmb250LXNpemUsMjZweCwyMHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgICYtdHh0c3tcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMzBweCwyMHB4KTtcbiAgICB9XG4gICAgJi10eHQtMDF7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwyMHB4LDE4cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJi10eHQtMDJ7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMjBweCwxMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDE2cHgsMTRweCk7XG4gICAgICBsaW5lLWhlaWdodDogMS43ZW07XG4gICAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWluLXdpZHRoOiAzODBweDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e31cbiIsIkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmNzcntcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLXRvcCw5MHB4LDU1cHgpO1xuICAmLXRpdGxle1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDM2cHgsMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICB9XG4gICYtdG9wLXR4dHtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMzRweCwyNnB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwxOHB4LDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gICYtYm94ZXN7XG4gICAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLDY0cHgsNDBweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEucGN7XG4gICAgICB3aWR0aDogMTA1NnB4O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLDFmcik7XG4gICAgICBnYXA6MzJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEuc3B7XG4gICAgICB3aWR0aDogZnVuYy5nZXR2dygzNTApO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOjUwcHg7XG4gICAgfVxuICB9XG4gICYtYm94e1xuICAgIEBpbmNsdWRlIG1lZGlhLnBje1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgICYtdHh0c3tcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy10b3AsMzBweCwxMHB4KTtcbiAgICB9XG4gICAgJi10eHQtMDF7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwyMHB4LDE4cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJi10eHQtMDJ7XG4gICAgICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsMjBweCwxMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLDE2cHgsMTRweCk7XG4gICAgICBsaW5lLWhlaWdodDogMS43ZW07XG4gICAgICBAaW5jbHVkZSBtZWRpYS5wY3tcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWluLXdpZHRoOiAzODBweDtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI2cHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtbGlua3tcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AobWFyZ2luLXRvcCxhdXRvLDMycHgpO1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIEBpbmNsdWRlIG1lZGlhLnNwe1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFNQXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fc3B9e31cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFBDXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AbWVkaWEgI3t2YXJzLiRzY3JlZW5fcGN9e31cbiJdfQ== */