/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
/* @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap'); */
@font-face {
  font-family: 'Champagne-Limousine';
  src: url(/build/fonts/Champagne-Limousines.97e52f7c.ttf) format("truetype");
}

@font-face {
  font-family: 'Champagne-Limousine-Bold';
  src: url(/build/fonts/Champagne-Limousines-Bold.6f3cd024.ttf) format("truetype");
}

:root {
  /* COLORS */
  --color-white: #ffffff;
  --color-dark: #2B2B2B;
  --color-blue: #215575;
  --color-green: #219A8C;
  --color-green-2: #1F9789;
  --color-pale-blue: #9FBFC3;
  --color-grey: #707070;
  --color-black: #000000;
  --color-yellow: #FBE78A;
  /* BACKGROUNDS */
  --background-blue: #215575;
  --background-blue-pale: #9FBFC3;
  --background-green: #219A8C;
  --background-dark: #2B2B2B;
  /* FONTS */
  --font-primary: 'Champagne-Limousine', serif;
  --font-bold: 'Champagne-Limousine-Bold', serif;
  /* HEIGHTS */
  --line-height-xxs: clamp(15px, 1.05vw, 17px);
  --line-height-xs: clamp(16px, 1.1vw, 19px);
  --line-height-s: clamp(17px, 1.3vw, 21px);
  --line-height-n: clamp(20px, 1.65vw, 23px);
  --line-height-m: clamp(22px, 1.95vw, 26px);
  --line-height-xm: clamp(24px, 2.25vw, 36px);
  --line-height-l: clamp(32px, 2.7vw, 52px);
  --line-height-ml: clamp(33px, 3.4vw, 56px);
  --line-height-xl: clamp(34px, 3.8vw, 58px);
  --line-height-xxl: clamp(36px, 7.5vw, 78px);
  --line-height-xxxl: clamp(55px, 8.8vw, 125px);
  /* SPACES */
  --space-xxsmall: clamp(2px, 1.2vw, 7px);
  --space-xsmall: clamp(6px, 2.5vw, 20px);
  --space-small: clamp(10px, 4vw, 40px);
  --space-normal: clamp(8px, 6.25vw, 120px);
  --space-large: clamp(10px, 10vw, 148px);
  --space-xlarge: clamp(100px, 20vw, 200px);
  --space-li-header: clamp(4px, 1.5vw, 8px);
  /* HEADER */
  --header-height: clamp(85px, 12vw, 100px);
}

* {
  padding: 0;
  margin: 0;
  text-decoration: none;
}

body {
  font-family: var(--font-primary);
  font-size: clamp(13px, 2vw, 16px);
  overflow-x: hidden;
}

/* GLOBAL CLASSES */
.img_fluid {
  max-width: 100%;
  height: auto;
}

.form-control {
  display: block;
  width: 100%;
  height: auto;
  padding: 15px 15px;
}

.container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
  z-index: 1;
}

.break {
  position: relative;
  margin: 45px 0;
  clear: both;
}

/****************************************************
  HEADER
****************************************************/
header {
  position: fixed;
  height: var(--header-height);
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9;
}

/****************************************************
  NAVBAR
****************************************************/
nav {
  position: relative;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 87%;
  padding: 0;
  font-size: calc(0.5rem + 1.5vw);
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.2);
}

#nav {
  height: 100%;
}

/* nav .logo {
  font-family: var(--font-secondary);
  font-size: var(--font-size-xm);
  font-weight: var(--font-bold);
  color: var(--color-primary);
} */
nav ul {
  display: flex;
  justify-content: space-evenly;
  width: 60%;
  list-style: none;
  margin: 0;
  padding: 0;
}

nav ul li {
  margin-right: var(--space-li-header);
}

nav ul li a {
  text-decoration: none;
  text-transform: uppercase;
  color: var(--color-blue);
  font-size: clamp(15px, 3vw, 17px);
  padding-bottom: 3px;
}

nav ul li a:hover {
  color: var(--color-green);
}

nav ul li a.active {
  color: var(--color-green);
  font-weight: bold;
}

.logo {
  max-width: 120px;
  width: 100%;
  height: auto;
  cursor: pointer;
  margin-right: 35px;
}

#icons {
  cursor: pointer;
  display: none;
}

.social {
  display: flex;
  margin-top: 15px;
}

.social a {
  display: flex;
  align-items: center;
  margin-right: 7px;
}

.social a :last-child {
  display: flex;
  align-items: center;
  margin-right: 0;
}

.social img {
  max-width: 35px;
  width: 100%;
  height: auto;
}

.submenu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background-color: #195526;
  height: 25%;
}

.submenu .text {
  background-color: transparent;
  color: #fff;
  font-size: calc(10px + 0.1vw);
  padding: 8px 25px;
  text-align: center;
  display: inline-block;
  border-left: solid 1px #fff;
}

.submenu .connection-link {
  text-decoration: none;
  background-color: #b3c9a1;
  color: #fff;
  padding: 8px 25px;
  margin: 0 30px 0 0;
  text-align: center;
  display: inline-block;
  font-size: calc(11px + 0.1vw);
  font-weight: bold;
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 220px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 8px 22px 35px 22px;
  z-index: 1;
  line-height: 0.7;
  margin-top: 3px;
  border-top: solid 6px #219A8C;
  left: 0;
  /* transform: translateX(-50%); */
  top: 37px;
}

.dropdown-content h2 {
  font-size: calc(17px + 0.2vw);
  color: var(--color-blue);
  line-height: 1.1;
}

.dropdown-content h2:not(:first-child) {
  margin-top: 25px;
}

.dropdown-content a {
  font-size: clamp(13px, 2vw, 15px);
  text-transform: none;
  padding: 0;
}

.dropdown:hover .dropdown-content {
  display: block;
}

/****************************************************
  HOMEPAGE
****************************************************/
.hero {
  position: relative;
  margin-top: 87px;
}

.hero .splide__arrow--prev {
  left: 1em !important;
}

.hero .splide__arrow--next {
  right: 1em !important;
}

.hero-img {
  position: relative;
  width: 100%;
}

.hero h1 {
  font-size: clamp(24px, 5vw, 94px);
  text-transform: uppercase;
  color: var(--color-white);
  font-family: var(--font-bold);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* margin-top: calc(5px + 0.25vw); */
}

.home-about {
  position: relative;
  padding: 15px 0 75px 0;
}

.home-about h2 {
  font-size: clamp(22px, 5vw, 42px);
  font-family: var(--font-bold);
  color: var(--color-green);
  text-align: center;
  margin: 50px 0;
}

.home-about .text {
  position: relative;
  font-size: clamp(16px, 2vw, 22px);
  color: var(--color-grey);
  text-align: center;
}

.home-about .image-bg-left {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -225px;
  max-width: 450px;
}

.home-about .image-bg-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -225px;
  max-width: 450px;
}

.home-container-about {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
  z-index: 1;
}

.home__contact {
  position: relative;
  background: transparent linear-gradient(0deg, var(--color-green) 0%, #FFFFFF00 100%) 0% 0% no-repeat padding-box;
  padding: 10px 0 80px 0;
}

.home-contact h2 {
  font-size: clamp(24px, 8vw, 46px);
  font-family: var(--font-bold);
  text-align: center;
  margin: 50px 0;
}

.home-contact .vert {
  position: relative;
  color: var(--color-green);
}

.home-contact .bleu {
  position: relative;
  color: var(--color-blue);
}

.home-contact .urgence {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

.home-contact .urgence p {
  font-size: clamp(16px, 3vw, 38px);
  color: var(--color-white);
  font-weight: 600;
}

.home-contact .urgence .telephone {
  position: relative;
  background-color: var(--background-green);
  margin: 10px;
  padding: 15px;
  border-radius: 17px;
  color: var(--color-white);
  display: flex;
  flex: 1;
  align-items: center;
}

.home-contact .urgence .telephone h3,
.email h3 {
  font-size: clamp(23px, 4vw, 40px);
  line-height: 70px;
}

.home-contact .urgence .img-urgence {
  max-width: 150px;
  margin-right: calc(5px + 0.25vw);
}

.home-contact .urgence .email {
  position: relative;
  background-color: var(--background-green);
  margin: 10px;
  padding: 15px;
  border-radius: 17px;
  color: var(--color-white);
  display: flex;
  flex: 1;
  align-items: center;
}

/* .home__adresse {
  position: relative;
  padding: 15px 0;
  width: 100%;
}

.home-adresse {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin: 50px 0;
}

.home-adresse h3 {
  font-size: clamp(17px, 4vw, 32px);
  color: var(--color-blue);
  margin-top: 20px;
}

.home-adresse p {
  font-size: clamp(15px, 4vw, 25px);
  color: var(--color-blue);
  margin-top: 20px;
  font-weight: 500;
} */
.home__adresse {
  position: relative;
  margin: 0 auto;
}

.home-adresse-container {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 95px;
  padding: 65px 35px;
}

.home-adresse-container h3 {
  color: var(--color-blue);
  font-size: clamp(30px, 3vw, 38px);
  font-family: var(--font-bold);
  margin-top: 25px;
}

.home-adresse-container p {
  color: var(--color-blue);
  font-size: clamp(23px, 3vw, 28px);
  margin-top: 25px;
}

.adresse-map {
  border: solid 6px var(--color-green);
  border-radius: 17px;
  width: 50%;
}

.adresse-picto {
  text-align: left;
}

.picto__adresse {
  max-width: 150px;
}

/* .home__info {
  position: relative;
  border-top: solid 45px var(--color-green);
  padding: 65px 0 80px 0;
  width: 100%;
  background-color: var(--color-blue);
  color: var(--color-white);
}

.home__info .infos {
  position: relative;
  display: flex;
}

.home__info .infos .list {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
}

.home__info .infos .image {
  position: relative;
  margin: 10px;
  padding: 15px;
  border-radius: 17px;
  color: var(--color-white);
  display: flex;
  flex: 1;
  align-items: center;
}

.home__info .infos .text {
  position: relative;
  margin: 10px;
  padding: 15px;
  border-radius: 17px;
  color: var(--color-white);
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: space-between;
}

.home__info .infos .text h2 {
  font-size: clamp(17px, 4vw, 32px);
  text-transform: uppercase;
}

.home-info .infos .text p {
  font-size: clamp(9px, 3vw, 15px);
}

.home__info .infos .button {
  background-color: var(--color-green);
  border: none;
  color: var(--color-white);
  padding: 10px 25px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: clamp(10px, 4vw, 23px);
  text-transform: uppercase;
  width: calc(150px + 4vw);
} */
.home__info {
  position: relative;
  border-top: solid 75px var(--color-green);
  background-color: var(--color-blue);
  margin: 0 auto;
}

.home__info .info-container {
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 95px;
  padding: 65px 35px;
}

.home__info .info-container .info-image .image {
  width: 100%;
}

.home__info .info-container .info-text {
  width: 35%;
}

.home__info .info-container .info-text h2 {
  color: var(--color-white);
  font-size: clamp(30px, 3vw, 46px);
  font-family: var(--font-bold);
  text-transform: uppercase;
}

.home__info .info-container .info-text p {
  margin-top: 35px;
  font-size: clamp(15px, 3vw, 23px);
  color: var(--color-white);
}

.home__info .info-container .info-text .info-button {
  background-color: var(--color-green);
  border: none;
  color: var(--color-white);
  padding: 20px 35px;
  margin-top: 75px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: bold;
  text-transform: uppercase;
  width: calc(175px + 12vw);
}

.home__sellings {
  position: relative;
  padding: 10px 0 30px 0;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.home__sellings__block {
  position: relative;
  width: 50%;
  height: auto;
  /* min-width: 592.5px; */
  padding: 0;
  justify-content: center;
  align-items: flex-start;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
}

.home__sellings__block.home__sellings__block--is-blue {
  background-color: var(--color-blue);
}

.home__sellings__block.home__sellings__block--is-green {
  background-color: var(--color-pale-blue);
}

.sellings__block {
  width: 86%;
  display: flex;
  margin: calc(14px + 1vw) auto calc(32px + 1.25vw) auto;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative;
  min-height: calc(300px + 10vw);
  height: auto;
}

.sellings__content {
  width: 48%;
  display: flex;
  margin: 0;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  flex-wrap: wrap;
}

.home__sellings__block h2 {
  color: var(--color-white);
  font-size: clamp(17px, 4vw, 30px);
  font-family: var(--font-bold);
  text-transform: uppercase;
  width: 86%;
  text-align: left;
  display: block;
  margin: calc(32px + 1.25vw) auto 0 auto;
  position: relative;
}

.home__sellings__block h3 {
  color: var(--color-white);
  font-size: clamp(15px, 4vw, 22px);
  margin: 0 0 calc(8px + 1vw) 0;
}

.sellings__content .mainpicture {
  max-width: unset;
  margin: 0 0 calc(8px + 1vw) 0;
  object-fit: contain;
  width: 100%;
  height: auto;
}

/****************************************************
  PAGE NOTRE ENTREPRISE
****************************************************/
.hero-entreprise {
  position: relative;
  margin-top: 150px;
  margin-bottom: 55px;
}

.entreprise {
  position: relative;
  padding-bottom: 55px;
}

.entreprise h1 {
  font-size: clamp(26px, 4vw, 46px);
  font-family: var(--font-bold);
  color: var(--color-green);
  text-transform: uppercase;
}

.entreprise .maintext {
  padding: 45px 0;
  font-size: clamp(13px, 3vw, 18px);
}

.experts {
  position: relative;
  background: transparent linear-gradient(180deg, var(--color-yellow) 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
}

.experts h2 {
  font-size: clamp(26px, 4vw, 46px);
  font-family: var(--font-bold);
  color: var(--color-blue);
  text-transform: uppercase;
  margin-bottom: 25px;
}

.experts .experts-block {
  padding: 55px 0;
}

.experts-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.expert-card {
  position: relative;
  /* padding: 15px; */
  /* background-color: var(--color-white); */
  border-radius: 17px;
  display: flex;
  /* flex-wrap: wrap; */
  flex-direction: column;
  /* align-items: center; */
  margin: 25px 4% calc(18px + 1.25vw) 0;
  width: 22%;
  height: auto;
}

.expert-card:nth-child(4n) {
  margin-right: 0;
}

.expert-card h3 {
  font-size: clamp(15px, 3vw, 22px);
  font-weight: 500;
  color: var(--color-blue);
  margin: 15px 0;
}

.engagements {
  position: relative;
  padding: 55px 0 75px 0;
}

.engagements .block {
  display: flex;
  flex-wrap: wrap;
}

.engagements .block .list {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  /* align-items: center; */
  justify-content: center;
}

.engagements .block .list img {
  max-height: 175px;
  max-width: 325px;
  margin: 15px 10px;
}

.engagements h2 {
  font-size: clamp(26px, 4vw, 46px);
  font-family: var(--font-bold);
  color: var(--color-blue);
  text-transform: uppercase;
  margin-bottom: 25px;
}

.engagements p {
  font-size: clamp(14px, 3vw, 20px);
  color: var(--color-grey);
}

/****************************************************
  PAGE SERVICES
****************************************************/
.container-services {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}

.hero-services {
  position: relative;
  margin-top: 88px;
  margin-bottom: 55px;
}

.hero-services h1 {
  font-size: clamp(20px, 3vw, 48px);
  text-transform: uppercase;
  font-family: var(--font-bold);
  color: var(--color-white);
  position: absolute;
  top: 5%;
  left: 15%;
  /* transform: translate(-50%, -50%); */
  margin-top: calc(2px + 2vw);
}

.services {
  position: relative;
  /* padding-bottom: 55px; */
  margin-top: 150px;
  margin-bottom: 55px;
}

.services .block {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.services .block .list {
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  /* align-items: center; */
  /* justify-content: center; */
}

.services .block .list .service-card {
  margin-bottom: 75px;
}

.services .block .list .service-card .card-titre {
  border-left: 8px solid var(--color-pale-blue);
  padding-left: 15px;
  margin-left: 10px;
}

.services .block .list .service-card h2 {
  font-size: clamp(20px, 3vw, 35px);
  font-weight: 600;
  word-break: break-word;
  color: var(--color-blue);
}

.services .block .list img {
  max-height: 295px;
  max-width: 295px;
  margin: 15px 10px;
}

.services .services-cat {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 45px;
}

.services .services-cat .services-cat-img {
  position: relative;
  margin-bottom: 45px;
}

.services .services-cat .services-cat-img h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.services .services-cat .services-cat-img img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  position: relative;
}

.services .services-cat .services-cat-services {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 35px;
}

.services .services-cat h2 {
  font-size: clamp(25px, 3vw, 44px);
  font-family: var(--font-bold);
  color: var(--color-white);
  text-transform: uppercase;
  margin-bottom: 35px;
}

.services .services-cat h3 {
  font-size: clamp(20px, 2vw, 32px);
  font-family: var(--font-bold);
  color: var(--color-blue);
  word-break: break-word;
  margin-bottom: 35px;
  border-left: solid 8px var(--color-pale-blue);
  padding: 10px 0 0 15px;
}

.container-service-show {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
  z-index: 1;
  margin-top: 150px;
  margin-bottom: 75px;
}

.service-description {
  text-align: left;
}

.service-description h1 {
  text-align: center;
}

.service-description h1 {
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  margin-bottom: 35px;
  color: var(--color-blue);
}

.service-description p {
  font-size: clamp(14px, 2vw, 20px);
}

.service-description .image-service {
  display: block;
  margin: 0 auto;
  margin-bottom: 35px;
  border: solid 7px var(--color-blue);
  border-radius: 10px;
  width: 295px;
}

/****************************************************
  PAGE PRODUITS
****************************************************/
.produits {
  position: relative;
  margin: 150px 0 55px 0;
}

.container-produits {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
  /* z-index: 1;
  display: flex;
  justify-content: center; */
}

.container-produits h1 {
  font-size: clamp(25px, 4vw, 48px);
  font-family: var(--font-bold);
  text-transform: uppercase;
  color: var(--color-blue);
  margin: 35px 0;
  text-align: center;
}

.container-produits .splide h2 {
  font-size: clamp(28px, 1vw, 40px);
  color: var(--color-blue);
  text-transform: uppercase;
  padding: 25px;
  text-align: center;
}

.container-produits h2 {
  font-size: clamp(25px, 4vw, 44px);
  font-family: var(--font-bold);
  text-transform: uppercase;
  color: var(--color-white);
  padding: 25px;
}

.container-produits .block {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 150px;
}

.splide__arrow--prev {
  left: -5em !important;
}

.splide__arrow--next {
  right: -5em !important;
}

.splide__slide {
  /* height: 850px !important; */
  max-width: 100%;
  height: auto;
}

.produits .splide__slide {
  height: 850px !important;
}

/****************************************************
  PAGE REALISATIONS
****************************************************/
.realisations {
  position: relative;
  margin: 150px 0 55px 0;
}

.container-realisations {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
  /* z-index: 1;
  display: flex;
  justify-content: center; */
}

.container-realisations h1 {
  font-size: clamp(25px, 4vw, 48px);
  font-family: var(--font-bold);
  text-transform: uppercase;
  color: var(--color-green);
}

.container-realisations .h2light {
  font-size: clamp(20px, 2vw, 28px);
  font-family: var(--font-bold);
  color: var(--color-white);
  position: absolute;
  top: 5%;
  left: 5%;
  /* transform: translate(-50%, -50%); */
  /* margin-top: 35px; */
}

.container-realisations .h2dark {
  font-size: clamp(20px, 2vw, 28px);
  font-family: var(--font-bold);
  color: var(--color-blue);
  position: absolute;
  top: 5%;
  left: 5%;
  /* transform: translate(-50%, -50%); */
  /* margin-top: 35px; */
}

.container-realisations .block {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}

.container-realisations .list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 75px;
}

.container-realisations .list .card {
  display: flex;
  position: relative;
}

.container-realisations .list .card .card-body {
  text-align: center;
}

.container-realisations .list .card .card-body .picto-coeur-light {
  position: absolute;
  top: 24%;
  right: 7%;
  width: 60px;
}

.container-realisations .list .card .card-body .texte-coeur-light {
  font-size: clamp(11px, 2vw, 12px);
  font-weight: bold;
  color: var(--color-white);
  position: absolute;
  top: 40%;
  right: 8.5%;
}

.container-realisations .list .card .card-body .picto-lieu-light {
  position: absolute;
  top: 51%;
  right: 7%;
  width: 60px;
}

.container-realisations .list .card .card-body .texte-lieu-light {
  font-size: clamp(11px, 2vw, 12px);
  font-weight: bold;
  color: var(--color-white);
  position: absolute;
  top: 67%;
  right: 9%;
}

.container-realisations .list .card .card-body .picto-date-light {
  position: absolute;
  top: 76%;
  right: 7%;
  width: 60px;
}

.container-realisations .list .card .card-body .texte-date-light {
  font-size: clamp(11px, 2vw, 12px);
  font-weight: bold;
  color: var(--color-white);
  position: absolute;
  top: 92%;
  right: 7.5%;
}

.container-realisations .list .card .card-body .picto-coeur-dark {
  position: absolute;
  top: 24%;
  right: 7%;
  width: 60px;
}

.container-realisations .list .card .card-body .texte-coeur-dark {
  font-size: clamp(11px, 2vw, 12px);
  font-weight: bold;
  color: var(--color-blue);
  position: absolute;
  top: 40%;
  right: 8.5%;
}

.container-realisations .list .card .card-body .picto-lieu-dark {
  position: absolute;
  top: 51%;
  right: 7%;
  width: 60px;
}

.container-realisations .list .card .card-body .texte-lieu-dark {
  font-size: clamp(11px, 2vw, 12px);
  font-weight: bold;
  color: var(--color-blue);
  position: absolute;
  top: 67%;
  right: 9%;
}

.container-realisations .list .card .card-body .picto-date-dark {
  position: absolute;
  top: 76%;
  right: 7%;
  width: 60px;
}

.container-realisations .list .card .card-body .texte-date-dark {
  font-size: clamp(11px, 2vw, 12px);
  font-weight: bold;
  color: var(--color-blue);
  position: absolute;
  top: 92%;
  right: 7.5%;
}

.container-realisations .list .card img {
  max-width: 390px;
  display: block;
  margin: 0 auto;
  position: relative;
}

.container-realisations input[type=text] {
  padding: 10px 15px;
  border: solid 2px var(--color-blue);
  border-radius: 20px;
  margin-top: 8px;
  margin-right: 16px;
  font-size: clamp(14px, 3vw, 24px);
  color: var(--color-blue);
}

.container-realisations input::placeholder {
  color: var(--color-blue);
  opacity: 1;
}

.container-realisations input::placeholder-shown {
  border: 2px solid var(--color-blue);
}

/* pagination */
#pagination {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 45px;
  background: unset;
  box-shadow: none;
  font-size: clamp(14px, 3vw, 22px);
  color: var(--color-blue);
}

#pagination ul {
  width: unset;
}

.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 1;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
}

/* Modal Content/Box */
.modal-content {
  background-color: #fefefe;
  margin: 10% auto;
  /* 15% from the top and centered */
  padding: 50px 20px;
  border: 1px solid #888;
  width: 50%;
  /* Could be more or less, depending on screen size */
}

.modal-body {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.modal-body h2 {
  color: var(--color-blue);
  font-size: clamp(20px, 2vw, 34px);
  margin: 25px 0;
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/****************************************************
  PAGE CONTACT
****************************************************/
/* .contact {
  position: relative;
  margin: 150px 0 55px 0;
} */
.container-contact {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
}

.contact-top {
  background: transparent linear-gradient(180deg, var(--color-blue) 0%, #FFFFFF00 100%) 0% 0% no-repeat padding-box;
  margin: 88px 0 5px 0;
  position: relative;
  padding: 65px 0;
}

.contact-top h1 {
  font-size: clamp(25px, 4vw, 48px);
  text-transform: uppercase;
  color: var(--color-white);
}

.contact-bottom {
  background-color: var(--color-blue);
  position: relative;
  padding: 85px 0 35px 0;
}

.contact-bottom h2 {
  font-size: clamp(22px, 3vw, 34px);
  color: var(--color-white);
  font-family: var(--font-bold);
  text-transform: uppercase;
  background-color: var(--color-green);
  padding: 15px;
  margin-bottom: 55px;
  text-align: center;
}

.contact-bottom .message {
  text-align: center;
  color: var(--color-green);
  font-size: clamp(15px, 3vw, 22px);
  font-weight: bold;
  margin: 100px 0 50px 0;
  padding: 20px;
  background-color: var(--color-white);
  border-radius: 17px;
}

.contact-bottom input[type=text],
input[type=email],
select {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

.contact-bottom textarea {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

.contact-bottom button[type=submit] {
  /* width: 100%; */
  background-color: var(--color-green);
  font-size: clamp(17px, 2vw, 26px);
  text-transform: uppercase;
  color: white;
  padding: 15px 25px;
  margin: 8px 0;
  border: none;
  cursor: pointer;
}

.contact-bottom button[type=submit]:hover {
  background-color: #45a049;
}

.contact-bottom .contact .message {
  position: relative;
  text-align: center;
  color: var(--color-green);
  font-size: clamp(15px, 4vw, 20px);
  margin: 100px 0 50px 0;
  padding: 20px;
  background-color: #fff;
  border-radius: 17px;
}

.formulaire {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 35px;
  width: 100%;
}

.img-formulaire {
  position: relative;
  width: calc(100px + 9vw);
  height: 642px;
  max-height: unset;
  padding: 0 calc(22px + 1.25vw) 0 0;
  margin: 33px 0 0 0;
  object-fit: cover;
}

.formulaire form {
  position: relative;
  height: 100%;
  width: calc(100% - calc(100px + 9vw) - calc(22px + 1.25vw));
}

.contact-bottom .formulaire .column {
  position: relative;
  display: flex;
  /* justify-content: center; */
  align-items: center;
  flex-direction: row;
}

.contact-bottom .formulaire .column .col1 {
  position: relative;
  width: 100%;
  margin-right: 25px;
  margin-bottom: 30px;
}

.contact-bottom .formulaire .column .col2 {
  position: relative;
  width: 100%;
  margin-bottom: 30px;
}

.contact-bottom .formulaire .captcha {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  list-style: none;
}

.contact-bottom .formulaire .submit {
  position: relative;
  display: flex;
  justify-content: flex-end;
}

.contact-bottom .formulaire .captcha {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  color: var(--color-white);
}

.contact-bottom .formulaire .captcha a {
  color: var(--color-white);
  text-decoration: none;
}

/****************************************************
  PAGE LOGIN
****************************************************/
.login {
  margin-top: 125px;
  margin-bottom: 25px;
  position: relative;
  padding: 35px 0;
}

.login .login-form {
  display: flex;
  justify-content: center;
  align-items: center;
}

.login .login-form .form-signin {
  width: 30%;
  text-align: center;
  padding: 35px;
  background-color: var(--color-pale-blue);
  border-radius: 7px;
}

.login input[type=email], input[type=password] {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

.login button[type=submit] {
  /* width: 100%; */
  background-color: var(--color-green);
  font-size: clamp(15px, 3vw, 22px);
  text-transform: uppercase;
  color: var(--color-white);
  padding: 10px 25px;
  margin: 22px 0;
  border: none;
  cursor: pointer;
}

.login button[type=submit]:hover {
  background-color: #45a049;
}

/****************************************************
  PAGE MENTIONS LEGALES
****************************************************/
.mentions-legales {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
}

.mentions-legales .container {
  margin: 88px 0 55px 0;
  position: relative;
  padding: 65px 0;
}

.mentions-legales h1 {
  font-size: clamp(25px, 4vw, 48px);
  text-transform: uppercase;
  color: var(--color-blue);
  margin-bottom: 35px;
}

.mentions-legales p {
  font-size: clamp(14px, 3vw, 18px);
  color: var(--color-black);
  text-align: justify;
}

/****************************************************
  PAGE RECHERCHE
****************************************************/
.recherche {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
  position: relative;
}

.recherche .container {
  margin: 88px 0 55px 0;
  position: relative;
  padding: 65px 0;
}

.recherche .container h1 {
  font-size: clamp(24px, 3vw, 40px);
  text-transform: uppercase;
  color: var(--color-blue);
  margin-bottom: 35px;
  text-align: center;
}

.search-results {
  margin-bottom: 50px;
  text-align: center;
}

.search-results h2 {
  text-align: center;
}

.search-results .block {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  gap: 45px;
  justify-content: center;
  align-items: center;
  padding: 20px;
}

.search-results .block .card {
  width: 350px;
}

.search-results .block .card .picto-realisation {
  max-width: 350px;
  margin-top: 15px;
}

.search-results h2 {
  font-size: clamp(24px, 1vw, 32px);
  color: var(--color-blue);
}

.search-results p {
  font-size: clamp(14px, 3vw, 18px);
}

/****************************************************
  FOOTER
****************************************************/
footer {
  background-color: var(--color-dark);
  color: var(--color-white);
  position: relative;
  width: 100%;
  height: auto;
}

footer .container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  height: auto;
  margin: 0 auto;
  padding: calc(24px + 1.25vw) 15px;
}

footer a {
  color: var(--color-white);
  text-decoration: none;
}

footer a:hover {
  color: var(--color-green);
}

.footer__blocks {
  position: relative;
  width: auto;
  height: auto;
  margin: 0 auto 0 calc(28px + 2vw);
  padding: 0 0 0 calc(26px + 0.75vw);
  border-left: 2px solid white;
}

.footer__blocks:first-of-type,
.footer__blocks:last-of-type {
  margin: 0;
  padding: 0;
  border-left: unset;
}

/****************************************************
  MEDIA QUERIES
****************************************************/
@media screen and (max-width: 1199px) {
  #header_logo {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
  }
  .home__sellings__block {
    width: 100%;
  }
  #icons {
    display: block;
    font-size: 30px;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
  }
  #icons:before {
    content: "\2630";
    color: var(--color-black);
  }
  .active #icons:before {
    content: "\2715";
    color: var(--color-black);
  }
  .burgermenu_content {
    position: fixed;
    left: -100%;
    top: var(--header-height);
    flex-direction: column;
    height: calc(100vh - var(--header-height));
    justify-content: center;
    background: #fff;
    width: 100%;
    text-align: center;
    transition: 0.25s;
    z-index: 2;
  }
  .dropdown {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 0;
    top: 4.5%;
  }
  .dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    /* min-width: 250px; */
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    padding: 8px 22px 35px 22px;
    z-index: 1;
    line-height: 0.5;
    /* margin-top: 2px; */
    border-top: solid 6px #219A8C;
    left: 50%;
    transform: translateX(-50%);
    top: 20px;
  }
  nav ul li {
    padding: 11px 0;
  }
  nav ul li a {
    text-decoration: none;
    color: var(--color-green);
  }
  nav ul li a:hover {
    /* background: #fff; */
    color: var(--color-brown);
    /* padding: 5px 35px; */
  }
  nav.active ul {
    left: 0;
  }
  .logo {
    max-width: 120px;
    width: 100%;
    height: auto;
    cursor: pointer;
    display: block;
    margin: 0 auto;
  }
  .submenu {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #195526;
    height: 40px;
  }
  .submenu .connection-link {
    margin: 0 15px;
  }
  .splide__arrow--prev {
    left: 1em !important;
  }
  .splide__arrow--next {
    right: 1em !important;
  }
  .image-bg-left {
    display: none;
  }
  .image-bg-right {
    display: none;
  }
  .home__info .info-container .info-text {
    width: 100%;
  }
  .login .login-form .form-signin {
    width: 40%;
  }
}

@media screen and (max-width: 959px) {
  .expert-card {
    margin: 25px 8% calc(18px + 1.25vw) 0;
    width: 46%;
  }
  .expert-card:nth-child(2n) {
    margin-right: 0;
  }
  .adresse-picto {
    text-align: center;
  }
  .contact-bottom .formulaire .img-formulaire {
    display: none;
  }
  .formulaire form {
    width: 100%;
    height: auto;
  }
  .login .login-form .form-signin {
    width: 50%;
  }
  .hero-services h1 {
    left: 8%;
  }
}

@media screen and (max-width: 767px) {
  .footer__blocks {
    margin: 0 0 0 calc(1px + 2vw);
    padding: 0 0 0 calc(1px + 2vw);
    width: calc(50% - calc(1px + 2vw) - 1px);
  }
  .footer__blocks:first-of-type {
    margin: 0;
    padding: 0;
  }
  .footer__blocks:last-of-type {
    margin: 30px 0 0 0;
    padding: 0;
  }
  .footer__block__list__elem {
    text-align: center;
  }
  footer .container {
    flex-wrap: wrap;
  }
  .footer__blocks .img_fluid {
    max-width: unset;
    width: 100%;
    height: 140px;
    object-fit: contain;
  }
  .sellings__content {
    margin-bottom: 38px;
    min-width: 310px;
  }
  .sellings__block {
    justify-content: center;
  }
  .home__sellings__block h2 {
    text-align: center;
  }
  .adresse-map {
    width: 100%;
  }
  #icons {
    display: block;
    margin: 0 auto;
    font-size: 30px;
    padding-top: 15px;
  }
  #icons:before {
    content: "\2630";
    color: var(--color-black);
  }
  .active #icons:before {
    content: "\2715";
    color: var(--color-black);
  }
  nav ul {
    position: fixed;
    left: -100%;
    top: 9.2%;
    /* top: 16.8%; */
    flex-direction: column;
    height: 92%;
    justify-content: center;
    background: #fff;
    width: 100%;
    text-align: center;
    transition: 0.25s;
    z-index: 2;
  }
  /* nav ul li {
    padding: 15px 0;
  }

  nav ul li a {
    text-decoration: none;
    color: var(--color-green);
  }

  nav ul li a:hover {
    background: #fff;
    color: var(--color-brown);
    padding: 5px 35px;
  } */
  nav.active ul {
    left: 0;
  }
  .logo {
    max-width: 120px;
    width: 100%;
    height: auto;
    cursor: pointer;
    display: block;
  }
  .submenu {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #195526;
    height: 40px;
  }
  .submenu .connection-link {
    margin: 0 15px;
  }
  .login .login-form .form-signin {
    width: 60%;
  }
  .home-contact .urgence .img-urgence {
    max-width: 100px;
  }
}

@media screen and (max-width: 575px) {
  .contact-bottom .formulaire .column {
    flex-wrap: wrap;
  }
  .contact-bottom .formulaire .column .col1 {
    margin-right: 0;
  }
  .login .login-form .form-signin {
    width: 70%;
  }
  .picto__adresse {
    max-width: 100px;
  }
}

@media screen and (max-width: 480px) {
  .expert-card {
    margin: 25px 0 calc(18px + 1.25vw) 0;
    width: 100%;
  }
  nav ul {
    position: fixed;
    left: -100%;
    /* top: 13.5%; */
    /* top: 18.8%; */
    /* top: 16.9%; */
    top: 10%;
    flex-direction: column;
    height: 84%;
    justify-content: center;
    background: #fff;
    width: 100%;
    text-align: center;
    transition: 0.25s;
    z-index: 2;
  }
  .login .login-form .form-signin {
    width: 80%;
  }
}

/*!**********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/@splidejs/splide/dist/css/splide.min.css ***!
  \**********************************************************************************************************************************************/
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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eUMsc0JBQXNCLENBQUMsbUJBQW1CLENBQUMsQ0FBQywyQ0FBMkMseUNBQXlDLHFCQUFxQixDQUFDLHNFQUFzRSxpQkFBaUIsQ0FBQyxDQUFDLGdCQUFnQixjQUFjLENBQUMsOEJBQThCLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDLDBDQUEwQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxpREFBaUQsNEJBQTRCLENBQUMsY0FBYyxDQUFDLDJEQUEyRCxxQkFBcUIsQ0FBQywwQ0FBMEMsU0FBUyxDQUFDLFNBQVMsQ0FBQyw4Q0FBOEMsbUJBQW1CLENBQUMsMENBQTBDLFFBQVEsQ0FBQyxVQUFVLENBQUMsOENBQThDLG9CQUFvQixDQUFDLG9DQUFvQyxRQUFRLENBQUMseUJBQXlCLENBQUMsMENBQTBDLE9BQU8sQ0FBQyw4Q0FBOEMsd0JBQXdCLENBQUMsMENBQTBDLFVBQVUsQ0FBQyxRQUFRLENBQUMsOENBQThDLHVCQUF1QixDQUFDLHlCQUF5QixRQUFRLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEtBQUssQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZm9udHMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy92YXJpYWJsZXMuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY3VzdG9tLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQHNwbGlkZWpzL3NwbGlkZS9kaXN0L2Nzcy9zcGxpZGUubWluLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Sb2JvdG86d2dodEAzMDA7NDAwOzUwMDs3MDA7OTAwJmRpc3BsYXk9c3dhcCcpOyAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NoYW1wYWduZS1MaW1vdXNpbmUnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DaGFtcGFnbmUtTGltb3VzaW5lcy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2hhbXBhZ25lLUxpbW91c2luZS1Cb2xkJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2hhbXBhZ25lLUxpbW91c2luZXMtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG4iLCJAaW1wb3J0IFwiZm9udHNcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJjdXN0b21cIjsiLCI6cm9vdCB7XG4gICAgLyogQ09MT1JTICovXG4gICAgLS1jb2xvci13aGl0ZTogI2ZmZmZmZjtcbiAgICAtLWNvbG9yLWRhcms6ICMyQjJCMkI7XG4gICAgLS1jb2xvci1ibHVlOiAjMjE1NTc1O1xuICAgIC0tY29sb3ItZ3JlZW46ICMyMTlBOEM7XG4gICAgLS1jb2xvci1ncmVlbi0yOiAjMUY5Nzg5O1xuICAgIC0tY29sb3ItcGFsZS1ibHVlOiAjOUZCRkMzO1xuICAgIC0tY29sb3ItZ3JleTogIzcwNzA3MDtcbiAgICAtLWNvbG9yLWJsYWNrOiAjMDAwMDAwO1xuICAgIC0tY29sb3IteWVsbG93OiAjRkJFNzhBO1xuXG4gICAgLyogQkFDS0dST1VORFMgKi9cbiAgICAtLWJhY2tncm91bmQtYmx1ZTogIzIxNTU3NTtcbiAgICAtLWJhY2tncm91bmQtYmx1ZS1wYWxlOiAjOUZCRkMzO1xuICAgIC0tYmFja2dyb3VuZC1ncmVlbjogIzIxOUE4QztcbiAgICAtLWJhY2tncm91bmQtZGFyazogIzJCMkIyQjtcblxuICAgIC8qIEZPTlRTICovXG4gICAgLS1mb250LXByaW1hcnk6ICdDaGFtcGFnbmUtTGltb3VzaW5lJywgc2VyaWY7XG4gICAgLS1mb250LWJvbGQ6ICdDaGFtcGFnbmUtTGltb3VzaW5lLUJvbGQnLCBzZXJpZjtcblxuICAgIC8qIEhFSUdIVFMgKi9cbiAgICAtLWxpbmUtaGVpZ2h0LXh4czogY2xhbXAoMTVweCwgMS4wNXZ3LCAxN3B4KTtcbiAgICAtLWxpbmUtaGVpZ2h0LXhzOiBjbGFtcCgxNnB4LCAxLjF2dywgMTlweCk7XG4gICAgLS1saW5lLWhlaWdodC1zOiBjbGFtcCgxN3B4LCAxLjN2dywgMjFweCk7XG4gICAgLS1saW5lLWhlaWdodC1uOiBjbGFtcCgyMHB4LCAxLjY1dncsIDIzcHgpO1xuICAgIC0tbGluZS1oZWlnaHQtbTogY2xhbXAoMjJweCwgMS45NXZ3LCAyNnB4KTtcbiAgICAtLWxpbmUtaGVpZ2h0LXhtOiBjbGFtcCgyNHB4LCAyLjI1dncsIDM2cHgpO1xuICAgIC0tbGluZS1oZWlnaHQtbDogY2xhbXAoMzJweCwgMi43dncsIDUycHgpO1xuICAgIC0tbGluZS1oZWlnaHQtbWw6IGNsYW1wKDMzcHgsIDMuNHZ3LCA1NnB4KTtcbiAgICAtLWxpbmUtaGVpZ2h0LXhsOiBjbGFtcCgzNHB4LCAzLjh2dywgNThweCk7XG4gICAgLS1saW5lLWhlaWdodC14eGw6IGNsYW1wKDM2cHgsIDcuNXZ3LCA3OHB4KTtcbiAgICAtLWxpbmUtaGVpZ2h0LXh4eGw6IGNsYW1wKDU1cHgsIDguOHZ3LCAxMjVweCk7XG5cbiAgICAvKiBTUEFDRVMgKi9cbiAgICAtLXNwYWNlLXh4c21hbGw6IGNsYW1wKDJweCwgMS4ydncsIDdweCk7XG4gICAgLS1zcGFjZS14c21hbGw6IGNsYW1wKDZweCwgMi41dncsIDIwcHgpO1xuICAgIC0tc3BhY2Utc21hbGw6IGNsYW1wKDEwcHgsIDR2dywgNDBweCk7XG4gICAgLS1zcGFjZS1ub3JtYWw6IGNsYW1wKDhweCwgNi4yNXZ3LCAxMjBweCk7XG4gICAgLS1zcGFjZS1sYXJnZTogY2xhbXAoMTBweCwgMTB2dywgMTQ4cHgpO1xuICAgIC0tc3BhY2UteGxhcmdlOiBjbGFtcCgxMDBweCwgMjB2dywgMjAwcHgpO1xuXG4gICAgLS1zcGFjZS1saS1oZWFkZXI6IGNsYW1wKDRweCwgMS41dncsIDhweCk7XG5cbiAgICAvKiBIRUFERVIgKi9cbiAgICAtLWhlYWRlci1oZWlnaHQ6IGNsYW1wKDg1cHgsIDEydncsIDEwMHB4KTtcbn0iLCIqIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiBjbGFtcCgxM3B4LCAydncsIDE2cHgpO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi8qIEdMT0JBTCBDTEFTU0VTICovXG4uaW1nX2ZsdWlkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMTVweCAxNXB4O1xufVxuXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYnJlYWsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDVweCAwO1xuICBjbGVhcjogYm90aDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgSEVBREVSXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IHZhcigtLWhlYWRlci1oZWlnaHQpO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBOQVZCQVJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDg3JTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBjYWxjKDAuNXJlbSArIDEuNXZ3KTtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuI25hdiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogbmF2IC5sb2dvIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteG0pO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufSAqL1xuXG5uYXYgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgd2lkdGg6IDYwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5uYXYgdWwgbGkge1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLWxpLWhlYWRlcik7XG59XG5cbm5hdiB1bCBsaSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTVweCwgM3Z3LCAxN3B4KTtcbiAgcGFkZGluZy1ib3R0b206IDNweDtcbn1cblxubmF2IHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG5uYXYgdWwgbGkgYS5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmxvZ28ge1xuICBtYXgtd2lkdGg6IDEyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMzVweDtcbn1cblxuI2ljb25zIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnNvY2lhbCBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG59XG5cbi5zb2NpYWwgYSA6bGFzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLnNvY2lhbCBpbWcge1xuICBtYXgtd2lkdGg6IDM1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zdWJtZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5NTUyNjtcbiAgaGVpZ2h0OiAyNSU7XG59XG5cbi5zdWJtZW51IC50ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IGNhbGMoMTBweCArIDAuMXZ3KTtcbiAgcGFkZGluZzogOHB4IDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItbGVmdDogc29saWQgMXB4ICNmZmY7XG59XG5cbi5zdWJtZW51IC5jb25uZWN0aW9uLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2M5YTE7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA4cHggMjVweDtcbiAgbWFyZ2luOiAwIDMwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBjYWxjKDExcHggKyAwLjF2dyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmRyb3Bkb3duLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIG1pbi13aWR0aDogMjIwcHg7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTZweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwYWRkaW5nOiA4cHggMjJweCAzNXB4IDIycHg7XG4gIHotaW5kZXg6IDE7XG4gIGxpbmUtaGVpZ2h0OiAwLjc7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgYm9yZGVyLXRvcDogc29saWQgNnB4ICMyMTlBOEM7XG4gIGxlZnQ6IDA7XG4gIC8qIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgKi9cbiAgdG9wOiAzN3B4O1xufVxuXG4uZHJvcGRvd24tY29udGVudCBoMiB7XG4gIGZvbnQtc2l6ZTogY2FsYygxN3B4ICsgMC4ydncpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi5kcm9wZG93bi1jb250ZW50IGgyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLmRyb3Bkb3duLWNvbnRlbnQgYSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTNweCwgMnZ3LCAxNXB4KTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5kcm9wZG93bjpob3ZlciAuZHJvcGRvd24tY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgSE9NRVBBR0VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogODdweDtcbn1cblxuLmhlcm8gLnNwbGlkZV9fYXJyb3ctLXByZXYge1xuICBsZWZ0OiAxZW0gIWltcG9ydGFudDtcbn1cblxuLmhlcm8gLnNwbGlkZV9fYXJyb3ctLW5leHQge1xuICByaWdodDogMWVtICFpbXBvcnRhbnQ7XG59XG5cbi5oZXJvLWltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oZXJvIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA1dncsIDk0cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLyogbWFyZ2luLXRvcDogY2FsYyg1cHggKyAwLjI1dncpOyAqL1xufVxuXG4uaG9tZS1hYm91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTVweCAwIDc1cHggMDtcbn1cblxuLmhvbWUtYWJvdXQgaDIge1xuICBmb250LXNpemU6IGNsYW1wKDIycHgsIDV2dywgNDJweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNTBweCAwO1xufVxuXG4uaG9tZS1hYm91dCAudGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCAydncsIDIycHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhvbWUtYWJvdXQgLmltYWdlLWJnLWxlZnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IC0yMjVweDtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbn1cblxuLmhvbWUtYWJvdXQgLmltYWdlLWJnLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogLTIyNXB4O1xuICBtYXgtd2lkdGg6IDQ1MHB4O1xufVxuXG4uaG9tZS1jb250YWluZXItYWJvdXQge1xuICBtYXgtd2lkdGg6IDkyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmhvbWVfX2NvbnRhY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1jb2xvci1ncmVlbikgMCUsICNGRkZGRkYwMCAxMDAlKSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gIHBhZGRpbmc6IDEwcHggMCA4MHB4IDA7XG59XG5cbi5ob21lLWNvbnRhY3QgaDIge1xuICBmb250LXNpemU6IGNsYW1wKDI0cHgsIDh2dywgNDZweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogNTBweCAwO1xufVxuXG4uaG9tZS1jb250YWN0IC52ZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xufVxuXG4uaG9tZS1jb250YWN0IC5ibGV1IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5ob21lLWNvbnRhY3QgLnVyZ2VuY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmhvbWUtY29udGFjdCAudXJnZW5jZSBwIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCAzdncsIDM4cHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uaG9tZS1jb250YWN0IC51cmdlbmNlIC50ZWxlcGhvbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtZ3JlZW4pO1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5ob21lLWNvbnRhY3QgLnVyZ2VuY2UgLnRlbGVwaG9uZSBoMyxcbi5lbWFpbCBoMyB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjNweCwgNHZ3LCA0MHB4KTtcbiAgbGluZS1oZWlnaHQ6IDcwcHg7XG59XG5cbi5ob21lLWNvbnRhY3QgLnVyZ2VuY2UgLmltZy11cmdlbmNlIHtcbiAgbWF4LXdpZHRoOiAxNTBweDtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDVweCArIDAuMjV2dyk7XG59XG5cbi5ob21lLWNvbnRhY3QgLnVyZ2VuY2UgLmVtYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWdyZWVuKTtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxN3B4O1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiAuaG9tZV9fYWRyZXNzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTVweCAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWUtYWRyZXNzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDUwcHggMDtcbn1cblxuLmhvbWUtYWRyZXNzZSBoMyB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTdweCwgNHZ3LCAzMnB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaG9tZS1hZHJlc3NlIHAge1xuICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDR2dywgMjVweCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn0gKi9cblxuLmhvbWVfX2FkcmVzc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaG9tZS1hZHJlc3NlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiA5NXB4O1xuICBwYWRkaW5nOiA2NXB4IDM1cHg7XG59XG5cbi5ob21lLWFkcmVzc2UtY29udGFpbmVyIGgzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDN2dywgMzhweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4uaG9tZS1hZHJlc3NlLWNvbnRhaW5lciBwIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICBmb250LXNpemU6IGNsYW1wKDIzcHgsIDN2dywgMjhweCk7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG59XG5cbi5hZHJlc3NlLW1hcCB7XG4gIGJvcmRlcjogc29saWQgNnB4IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgYm9yZGVyLXJhZGl1czogMTdweDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmFkcmVzc2UtcGljdG8ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucGljdG9fX2FkcmVzc2Uge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4vKiAuaG9tZV9faW5mbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXRvcDogc29saWQgNDVweCB2YXIoLS1jb2xvci1ncmVlbik7XG4gIHBhZGRpbmc6IDY1cHggMCA4MHB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmhvbWVfX2luZm8gLmluZm9zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uaG9tZV9faW5mbyAuaW5mb3MgLmxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5ob21lX19pbmZvIC5pbmZvcyAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMTdweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhvbWVfX2luZm8gLmluZm9zIC50ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmhvbWVfX2luZm8gLmluZm9zIC50ZXh0IGgyIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxN3B4LCA0dncsIDMycHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaG9tZS1pbmZvIC5pbmZvcyAudGV4dCBwIHtcbiAgZm9udC1zaXplOiBjbGFtcCg5cHgsIDN2dywgMTVweCk7XG59XG5cbi5ob21lX19pbmZvIC5pbmZvcyAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBjbGFtcCgxMHB4LCA0dncsIDIzcHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogY2FsYygxNTBweCArIDR2dyk7XG59ICovXG5cbi5ob21lX19pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItdG9wOiBzb2xpZCA3NXB4IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaG9tZV9faW5mbyAuaW5mby1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogOTVweDtcbiAgcGFkZGluZzogNjVweCAzNXB4O1xufVxuXG4uaG9tZV9faW5mbyAuaW5mby1jb250YWluZXIgLmluZm8taW1hZ2UgLmltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ob21lX19pbmZvIC5pbmZvLWNvbnRhaW5lciAuaW5mby10ZXh0IHtcbiAgd2lkdGg6IDM1JTtcbn1cblxuLmhvbWVfX2luZm8gLmluZm8tY29udGFpbmVyIC5pbmZvLXRleHQgaDIge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDN2dywgNDZweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaG9tZV9faW5mbyAuaW5mby1jb250YWluZXIgLmluZm8tdGV4dCBwIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgZm9udC1zaXplOiBjbGFtcCgxNXB4LCAzdncsIDIzcHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uaG9tZV9faW5mbyAuaW5mby1jb250YWluZXIgLmluZm8tdGV4dCAuaW5mby1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgcGFkZGluZzogMjBweCAzNXB4O1xuICBtYXJnaW4tdG9wOiA3NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDN2dywgMjhweCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogY2FsYygxNzVweCArIDEydncpO1xufVxuXG5cbi5ob21lX19zZWxsaW5ncyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwIDMwcHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmhvbWVfX3NlbGxpbmdzX19ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAvKiBtaW4td2lkdGg6IDU5Mi41cHg7ICovXG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmhvbWVfX3NlbGxpbmdzX19ibG9jay5ob21lX19zZWxsaW5nc19fYmxvY2stLWlzLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLmhvbWVfX3NlbGxpbmdzX19ibG9jay5ob21lX19zZWxsaW5nc19fYmxvY2stLWlzLWdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcGFsZS1ibHVlKTtcbn1cblxuLnNlbGxpbmdzX19ibG9jayB7XG4gIHdpZHRoOiA4NiU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogY2FsYygxNHB4ICsgMXZ3KSBhdXRvIGNhbGMoMzJweCArIDEuMjV2dykgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMzAwcHggKyAxMHZ3KTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uc2VsbGluZ3NfX2NvbnRlbnQge1xuICB3aWR0aDogNDglO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5ob21lX19zZWxsaW5nc19fYmxvY2sgaDIge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXNpemU6IGNsYW1wKDE3cHgsIDR2dywgMzBweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aWR0aDogODYlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBjYWxjKDMycHggKyAxLjI1dncpIGF1dG8gMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lX19zZWxsaW5nc19fYmxvY2sgaDMge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDR2dywgMjJweCk7XG4gIG1hcmdpbjogMCAwIGNhbGMoOHB4ICsgMXZ3KSAwO1xufVxuXG4uc2VsbGluZ3NfX2NvbnRlbnQgLm1haW5waWN0dXJlIHtcbiAgbWF4LXdpZHRoOiB1bnNldDtcbiAgbWFyZ2luOiAwIDAgY2FsYyg4cHggKyAxdncpIDA7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgUEFHRSBOT1RSRSBFTlRSRVBSSVNFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmhlcm8tZW50cmVwcmlzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDU1cHg7XG59XG5cbi5lbnRyZXByaXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbn1cblxuLmVudHJlcHJpc2UgaDEge1xuICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDR2dywgNDZweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uZW50cmVwcmlzZSAubWFpbnRleHQge1xuICBwYWRkaW5nOiA0NXB4IDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTNweCwgM3Z3LCAxOHB4KTtcbn1cblxuLmV4cGVydHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNvbG9yLXllbGxvdykgMCUsICNGRkZGRkYgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xufVxuXG4uZXhwZXJ0cyBoMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgNHZ3LCA0NnB4KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmV4cGVydHMgLmV4cGVydHMtYmxvY2sge1xuICBwYWRkaW5nOiA1NXB4IDA7XG59XG5cbi5leHBlcnRzLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmV4cGVydC1jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBwYWRkaW5nOiAxNXB4OyAqL1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7ICovXG4gIGJvcmRlci1yYWRpdXM6IDE3cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIGZsZXgtd3JhcDogd3JhcDsgKi9cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogYWxpZ24taXRlbXM6IGNlbnRlcjsgKi9cbiAgbWFyZ2luOiAyNXB4IDQlIGNhbGMoMThweCArIDEuMjV2dykgMDtcbiAgd2lkdGg6IDIyJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZXhwZXJ0LWNhcmQ6bnRoLWNoaWxkKDRuKSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmV4cGVydC1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxNXB4LCAzdncsIDIycHgpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIG1hcmdpbjogMTVweCAwO1xufVxuXG4uZW5nYWdlbWVudHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDU1cHggMCA3NXB4IDA7XG59XG5cbi5lbmdhZ2VtZW50cyAuYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5lbmdhZ2VtZW50cyAuYmxvY2sgLmxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDE7XG4gIC8qIGFsaWduLWl0ZW1zOiBjZW50ZXI7ICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZW5nYWdlbWVudHMgLmJsb2NrIC5saXN0IGltZyB7XG4gIG1heC1oZWlnaHQ6IDE3NXB4O1xuICBtYXgtd2lkdGg6IDMyNXB4O1xuICBtYXJnaW46IDE1cHggMTBweDtcbn1cblxuLmVuZ2FnZW1lbnRzIGgyIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCA0dncsIDQ2cHgpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uZW5nYWdlbWVudHMgcCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgM3Z3LCAyMHB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIFBBR0UgU0VSVklDRVNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY29udGFpbmVyLXNlcnZpY2VzIHtcbiAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmhlcm8tc2VydmljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDg4cHg7XG4gIG1hcmdpbi1ib3R0b206IDU1cHg7XG59XG5cbi5oZXJvLXNlcnZpY2VzIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAzdncsIDQ4cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUlO1xuICBsZWZ0OiAxNSU7XG4gIC8qIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyAqL1xuICBtYXJnaW4tdG9wOiBjYWxjKDJweCArIDJ2dyk7XG59XG5cbi5zZXJ2aWNlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogcGFkZGluZy1ib3R0b206IDU1cHg7ICovXG4gIG1hcmdpbi10b3A6IDE1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xufVxuXG4uc2VydmljZXMgLmJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbi5zZXJ2aWNlcyAuYmxvY2sgLmxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDE7XG4gIC8qIGFsaWduLWl0ZW1zOiBjZW50ZXI7ICovXG4gIC8qIGp1c3RpZnktY29udGVudDogY2VudGVyOyAqL1xufVxuXG4uc2VydmljZXMgLmJsb2NrIC5saXN0IC5zZXJ2aWNlLWNhcmQge1xuICBtYXJnaW4tYm90dG9tOiA3NXB4O1xufVxuXG4uc2VydmljZXMgLmJsb2NrIC5saXN0IC5zZXJ2aWNlLWNhcmQgLmNhcmQtdGl0cmUge1xuICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHZhcigtLWNvbG9yLXBhbGUtYmx1ZSk7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cblxuLnNlcnZpY2VzIC5ibG9jayAubGlzdCAuc2VydmljZS1jYXJkIGgyIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAzdncsIDM1cHgpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5zZXJ2aWNlcyAuYmxvY2sgLmxpc3QgaW1nIHtcbiAgbWF4LWhlaWdodDogMjk1cHg7XG4gIG1heC13aWR0aDogMjk1cHg7XG4gIG1hcmdpbjogMTVweCAxMHB4O1xufVxuXG4uc2VydmljZXMgLnNlcnZpY2VzLWNhdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi5zZXJ2aWNlcyAuc2VydmljZXMtY2F0IC5zZXJ2aWNlcy1jYXQtaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xufVxuXG4uc2VydmljZXMgLnNlcnZpY2VzLWNhdCAuc2VydmljZXMtY2F0LWltZyBoMiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5zZXJ2aWNlcyAuc2VydmljZXMtY2F0IC5zZXJ2aWNlcy1jYXQtaW1nIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VydmljZXMgLnNlcnZpY2VzLWNhdCAuc2VydmljZXMtY2F0LXNlcnZpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAzNXB4O1xufVxuXG4uc2VydmljZXMgLnNlcnZpY2VzLWNhdCBoMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjVweCwgM3Z3LCA0NHB4KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG59XG5cbi5zZXJ2aWNlcyAuc2VydmljZXMtY2F0IGgzIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCAydncsIDMycHgpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBib3JkZXItbGVmdDogc29saWQgOHB4IHZhcigtLWNvbG9yLXBhbGUtYmx1ZSk7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDE1cHg7XG59XG5cbi5jb250YWluZXItc2VydmljZS1zaG93IHtcbiAgbWF4LXdpZHRoOiAxMzIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW4tdG9wOiAxNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNzVweDtcbn1cblxuLnNlcnZpY2UtZGVzY3JpcHRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uc2VydmljZS1kZXNjcmlwdGlvbiBoMSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlcnZpY2UtZGVzY3JpcHRpb24gaDEge1xuICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDR2dywgNDZweCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbn1cblxuLnNlcnZpY2UtZGVzY3JpcHRpb24gcCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgMnZ3LCAyMHB4KTtcbn1cblxuLnNlcnZpY2UtZGVzY3JpcHRpb24gLmltYWdlLXNlcnZpY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIGJvcmRlcjogc29saWQgN3B4IHZhcigtLWNvbG9yLWJsdWUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB3aWR0aDogMjk1cHg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIFBBR0UgUFJPRFVJVFNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucHJvZHVpdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMTUwcHggMCA1NXB4IDA7XG59XG5cbi5jb250YWluZXItcHJvZHVpdHMge1xuICBtYXgtd2lkdGg6IDEzMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAqL1xufVxuXG4uY29udGFpbmVyLXByb2R1aXRzIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNXB4LCA0dncsIDQ4cHgpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICBtYXJnaW46IDM1cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29udGFpbmVyLXByb2R1aXRzIC5zcGxpZGUgaDIge1xuICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDF2dywgNDBweCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi5jb250YWluZXItcHJvZHVpdHMgaDIge1xuICBmb250LXNpemU6IGNsYW1wKDI1cHgsIDR2dywgNDRweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBwYWRkaW5nOiAyNXB4O1xufVxuXG4uY29udGFpbmVyLXByb2R1aXRzIC5ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDE1MHB4O1xufVxuXG4uc3BsaWRlX19hcnJvdy0tcHJldiB7XG4gIGxlZnQ6IC01ZW0gIWltcG9ydGFudDtcbn1cblxuLnNwbGlkZV9fYXJyb3ctLW5leHQge1xuICByaWdodDogLTVlbSAhaW1wb3J0YW50O1xufVxuXG4uc3BsaWRlX19zbGlkZSB7XG4gIC8qIGhlaWdodDogODUwcHggIWltcG9ydGFudDsgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wcm9kdWl0cyAuc3BsaWRlX19zbGlkZSB7XG4gIGhlaWdodDogODUwcHggIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgUEFHRSBSRUFMSVNBVElPTlNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucmVhbGlzYXRpb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDE1MHB4IDAgNTVweCAwO1xufVxuXG4uY29udGFpbmVyLXJlYWxpc2F0aW9ucyB7XG4gIG1heC13aWR0aDogMTMyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICovXG59XG5cbi5jb250YWluZXItcmVhbGlzYXRpb25zIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNXB4LCA0dncsIDQ4cHgpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmgybGlnaHQge1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDJ2dywgMjhweCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNSU7XG4gIGxlZnQ6IDUlO1xuICAvKiB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgKi9cbiAgLyogbWFyZ2luLXRvcDogMzVweDsgKi9cbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmgyZGFyayB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMnZ3LCAyOHB4KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUlO1xuICBsZWZ0OiA1JTtcbiAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7ICovXG4gIC8qIG1hcmdpbi10b3A6IDM1cHg7ICovXG59XG5cbi5jb250YWluZXItcmVhbGlzYXRpb25zIC5ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA3NXB4O1xufVxuXG4uY29udGFpbmVyLXJlYWxpc2F0aW9ucyAubGlzdCAuY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSAucGljdG8tY29ldXItbGlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjQlO1xuICByaWdodDogNyU7XG4gIHdpZHRoOiA2MHB4O1xufVxuXG4uY29udGFpbmVyLXJlYWxpc2F0aW9ucyAubGlzdCAuY2FyZCAuY2FyZC1ib2R5IC50ZXh0ZS1jb2V1ci1saWdodCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTFweCwgMnZ3LCAxMnB4KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MCU7XG4gIHJpZ2h0OiA4LjUlO1xufVxuXG4uY29udGFpbmVyLXJlYWxpc2F0aW9ucyAubGlzdCAuY2FyZCAuY2FyZC1ib2R5IC5waWN0by1saWV1LWxpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUxJTtcbiAgcmlnaHQ6IDclO1xuICB3aWR0aDogNjBweDtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSAudGV4dGUtbGlldS1saWdodCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTFweCwgMnZ3LCAxMnB4KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2NyU7XG4gIHJpZ2h0OiA5JTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSAucGljdG8tZGF0ZS1saWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3NiU7XG4gIHJpZ2h0OiA3JTtcbiAgd2lkdGg6IDYwcHg7XG59XG5cbi5jb250YWluZXItcmVhbGlzYXRpb25zIC5saXN0IC5jYXJkIC5jYXJkLWJvZHkgLnRleHRlLWRhdGUtbGlnaHQge1xuICBmb250LXNpemU6IGNsYW1wKDExcHgsIDJ2dywgMTJweCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTIlO1xuICByaWdodDogNy41JTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSAucGljdG8tY29ldXItZGFyayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNCU7XG4gIHJpZ2h0OiA3JTtcbiAgd2lkdGg6IDYwcHg7XG59XG5cbi5jb250YWluZXItcmVhbGlzYXRpb25zIC5saXN0IC5jYXJkIC5jYXJkLWJvZHkgLnRleHRlLWNvZXVyLWRhcmsge1xuICBmb250LXNpemU6IGNsYW1wKDExcHgsIDJ2dywgMTJweCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MCU7XG4gIHJpZ2h0OiA4LjUlO1xufVxuXG4uY29udGFpbmVyLXJlYWxpc2F0aW9ucyAubGlzdCAuY2FyZCAuY2FyZC1ib2R5IC5waWN0by1saWV1LWRhcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTElO1xuICByaWdodDogNyU7XG4gIHdpZHRoOiA2MHB4O1xufVxuXG4uY29udGFpbmVyLXJlYWxpc2F0aW9ucyAubGlzdCAuY2FyZCAuY2FyZC1ib2R5IC50ZXh0ZS1saWV1LWRhcmsge1xuICBmb250LXNpemU6IGNsYW1wKDExcHgsIDJ2dywgMTJweCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2NyU7XG4gIHJpZ2h0OiA5JTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSAucGljdG8tZGF0ZS1kYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDc2JTtcbiAgcmlnaHQ6IDclO1xuICB3aWR0aDogNjBweDtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgLmNhcmQtYm9keSAudGV4dGUtZGF0ZS1kYXJrIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxMXB4LCAydncsIDEycHgpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTIlO1xuICByaWdodDogNy41JTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgLmxpc3QgLmNhcmQgaW1nIHtcbiAgbWF4LXdpZHRoOiAzOTBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWluZXItcmVhbGlzYXRpb25zIGlucHV0W3R5cGU9dGV4dF0ge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlcjogc29saWQgMnB4IHZhcigtLWNvbG9yLWJsdWUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgZm9udC1zaXplOiBjbGFtcCgxNHB4LCAzdncsIDI0cHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi5jb250YWluZXItcmVhbGlzYXRpb25zIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmNvbnRhaW5lci1yZWFsaXNhdGlvbnMgaW5wdXQ6OnBsYWNlaG9sZGVyLXNob3duIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYmx1ZSk7XG59XG5cbi8qIHBhZ2luYXRpb24gKi9cbiNwYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNDVweDtcbiAgYmFja2dyb3VuZDogdW5zZXQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgM3Z3LCAyMnB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xufVxuXG4jcGFnaW5hdGlvbiB1bCB7XG4gIHdpZHRoOiB1bnNldDtcbn1cblxuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cbiAgcG9zaXRpb246IGZpeGVkOyAvKiBTdGF5IGluIHBsYWNlICovXG4gIHotaW5kZXg6IDE7IC8qIFNpdCBvbiB0b3AgKi9cbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xuICBoZWlnaHQ6IDEwMCU7IC8qIEZ1bGwgaGVpZ2h0ICovXG4gIG92ZXJmbG93OiBhdXRvOyAvKiBFbmFibGUgc2Nyb2xsIGlmIG5lZWRlZCAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApOyAvKiBGYWxsYmFjayBjb2xvciAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7IC8qIEJsYWNrIHcvIG9wYWNpdHkgKi9cbn1cblxuLyogTW9kYWwgQ29udGVudC9Cb3ggKi9cbi5tb2RhbC1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgbWFyZ2luOiAxMCUgYXV0bzsgLyogMTUlIGZyb20gdGhlIHRvcCBhbmQgY2VudGVyZWQgKi9cbiAgcGFkZGluZzogNTBweCAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICB3aWR0aDogNTAlOyAvKiBDb3VsZCBiZSBtb3JlIG9yIGxlc3MsIGRlcGVuZGluZyBvbiBzY3JlZW4gc2l6ZSAqL1xufVxuXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tb2RhbC1ib2R5IGgyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDJ2dywgMzRweCk7XG4gIG1hcmdpbjogMjVweCAwO1xufVxuXG4vKiBUaGUgQ2xvc2UgQnV0dG9uICovXG4uY2xvc2Uge1xuICBjb2xvcjogI2FhYTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY2xvc2U6aG92ZXIsXG4uY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIFBBR0UgQ09OVEFDVFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIC5jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDE1MHB4IDAgNTVweCAwO1xufSAqL1xuXG4uY29udGFpbmVyLWNvbnRhY3Qge1xuICBtYXgtd2lkdGg6IDEzMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWN0LXRvcCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHZhcigtLWNvbG9yLWJsdWUpIDAlLCAjRkZGRkZGMDAgMTAwJSkgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICBtYXJnaW46IDg4cHggMCA1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2NXB4IDA7XG59XG5cbi5jb250YWN0LXRvcCBoMSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjVweCwgNHZ3LCA0OHB4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmNvbnRhY3QtYm90dG9tIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogODVweCAwIDM1cHggMDtcbn1cblxuLmNvbnRhY3QtYm90dG9tIGgyIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAzdncsIDM0cHgpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICBwYWRkaW5nOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb250YWN0LWJvdHRvbSAubWVzc2FnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgZm9udC1zaXplOiBjbGFtcCgxNXB4LCAzdncsIDIycHgpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAxMDBweCAwIDUwcHggMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiAxN3B4O1xufVxuXG4uY29udGFjdC1ib3R0b20gaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgbWFyZ2luOiA4cHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jb250YWN0LWJvdHRvbSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIG1hcmdpbjogOHB4IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uY29udGFjdC1ib3R0b20gYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gIC8qIHdpZHRoOiAxMDAlOyAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbik7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTdweCwgMnZ3LCAyNnB4KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gIG1hcmdpbjogOHB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29udGFjdC1ib3R0b20gYnV0dG9uW3R5cGU9c3VibWl0XTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NWEwNDk7XG59XG5cbi5jb250YWN0LWJvdHRvbSAuY29udGFjdCAubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDR2dywgMjBweCk7XG4gIG1hcmdpbjogMTAwcHggMCA1MHB4IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDE3cHg7XG59XG5cbi5mb3JtdWxhaXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWctZm9ybXVsYWlyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwcHggKyA5dncpO1xuICBoZWlnaHQ6IDY0MnB4O1xuICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgcGFkZGluZzogMCBjYWxjKDIycHggKyAxLjI1dncpIDAgMDtcbiAgbWFyZ2luOiAzM3B4IDAgMCAwO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmZvcm11bGFpcmUgZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gY2FsYygxMDBweCArIDl2dykgLSBjYWxjKDIycHggKyAxLjI1dncpKTtcbn1cblxuLmNvbnRhY3QtYm90dG9tIC5mb3JtdWxhaXJlIC5jb2x1bW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIGp1c3RpZnktY29udGVudDogY2VudGVyOyAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uY29udGFjdC1ib3R0b20gLmZvcm11bGFpcmUgLmNvbHVtbiAuY29sMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLmNvbnRhY3QtYm90dG9tIC5mb3JtdWxhaXJlIC5jb2x1bW4gLmNvbDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uY29udGFjdC1ib3R0b20gLmZvcm11bGFpcmUgLmNhcHRjaGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNvbnRhY3QtYm90dG9tIC5mb3JtdWxhaXJlIC5zdWJtaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jb250YWN0LWJvdHRvbSAuZm9ybXVsYWlyZSAuY2FwdGNoYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uY29udGFjdC1ib3R0b20gLmZvcm11bGFpcmUgLmNhcHRjaGEgYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBQQUdFIExPR0lOXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmxvZ2luIHtcbiAgbWFyZ2luLXRvcDogMTI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMzVweCAwO1xufVxuXG4ubG9naW4gLmxvZ2luLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmxvZ2luIC5sb2dpbi1mb3JtIC5mb3JtLXNpZ25pbiB7XG4gIHdpZHRoOiAzMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcGFsZS1ibHVlKTtcbiAgYm9yZGVyLXJhZGl1czogN3B4O1xufVxuXG4ubG9naW4gaW5wdXRbdHlwZT1lbWFpbF0sIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEycHggMjBweDtcbiAgbWFyZ2luOiA4cHggMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sb2dpbiBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgLyogd2lkdGg6IDEwMCU7ICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgZm9udC1zaXplOiBjbGFtcCgxNXB4LCAzdncsIDIycHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gIG1hcmdpbjogMjJweCAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmxvZ2luIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDVhMDQ5O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBQQUdFIE1FTlRJT05TIExFR0FMRVNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubWVudGlvbnMtbGVnYWxlcyB7XG4gIG1heC13aWR0aDogMTMyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lbnRpb25zLWxlZ2FsZXMgLmNvbnRhaW5lciB7XG4gIG1hcmdpbjogODhweCAwIDU1cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA2NXB4IDA7XG59XG5cbi5tZW50aW9ucy1sZWdhbGVzIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNXB4LCA0dncsIDQ4cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG59XG5cbi5tZW50aW9ucy1sZWdhbGVzIHAge1xuICBmb250LXNpemU6IGNsYW1wKDE0cHgsIDN2dywgMThweCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIFBBR0UgUkVDSEVSQ0hFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnJlY2hlcmNoZSB7XG4gIG1heC13aWR0aDogMTMyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnJlY2hlcmNoZSAuY29udGFpbmVyIHtcbiAgbWFyZ2luOiA4OHB4IDAgNTVweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDY1cHggMDtcbn1cblxuLnJlY2hlcmNoZSAuY29udGFpbmVyIGgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCAzdncsIDQwcHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlYXJjaC1yZXN1bHRzIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMgaDIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWFyY2gtcmVzdWx0cyAuYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBnYXA6IDQ1cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uc2VhcmNoLXJlc3VsdHMgLmJsb2NrIC5jYXJkIHtcbiAgd2lkdGg6IDM1MHB4O1xufVxuXG4uc2VhcmNoLXJlc3VsdHMgLmJsb2NrIC5jYXJkIC5waWN0by1yZWFsaXNhdGlvbiB7XG4gIG1heC13aWR0aDogMzUwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5zZWFyY2gtcmVzdWx0cyBoMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjRweCwgMXZ3LCAzMnB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMgcCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMTRweCwgM3Z3LCAxOHB4KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgRk9PVEVSXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuZm9vdGVyIC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IGNhbGMoMjRweCArIDEuMjV2dykgMTVweDtcbn1cblxuZm9vdGVyIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmZvb3RlciBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbn1cblxuLmZvb3Rlcl9fYmxvY2tzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0byAwIGNhbGMoMjhweCArIDJ2dyk7XG4gIHBhZGRpbmc6IDAgMCAwIGNhbGMoMjZweCArIDAuNzV2dyk7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgd2hpdGU7XG59XG5cbi5mb290ZXJfX2Jsb2NrczpmaXJzdC1vZi10eXBlLFxuLmZvb3Rlcl9fYmxvY2tzOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLWxlZnQ6IHVuc2V0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBNRURJQSBRVUVSSUVTXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICNoZWFkZXJfbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAxNXB4O1xuICB9XG5cbiAgLmhvbWVfX3NlbGxpbmdzX19ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAjaWNvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHJpZ2h0OiAxNXB4O1xuICB9XG5cbiAgI2ljb25zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDI2MzBcIjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG5cbiAgLmFjdGl2ZSAjaWNvbnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjcxNVwiO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICAuYnVyZ2VybWVudV9jb250ZW50IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQpKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjI1cztcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdG9wOiA0LjUlO1xuICB9XG5cbiAgLmRyb3Bkb3duLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgLyogbWluLXdpZHRoOiAyNTBweDsgKi9cbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwYWRkaW5nOiA4cHggMjJweCAzNXB4IDIycHg7XG4gICAgei1pbmRleDogMTtcbiAgICBsaW5lLWhlaWdodDogMC41O1xuICAgIC8qIG1hcmdpbi10b3A6IDJweDsgKi9cbiAgICBib3JkZXItdG9wOiBzb2xpZCA2cHggIzIxOUE4QztcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRvcDogMjBweDtcbiAgfVxuXG4gIG5hdiB1bCBsaSB7XG4gICAgcGFkZGluZzogMTFweCAwO1xuICB9XG5cbiAgbmF2IHVsIGxpIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuICB9XG5cbiAgbmF2IHVsIGxpIGE6aG92ZXIge1xuICAgIC8qIGJhY2tncm91bmQ6ICNmZmY7ICovXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyb3duKTtcbiAgICAvKiBwYWRkaW5nOiA1cHggMzVweDsgKi9cbiAgfVxuXG4gIG5hdi5hY3RpdmUgdWwge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLnN1Ym1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTk1NTI2O1xuICAgIGhlaWdodDogNDBweDtcbiAgfVxuXG4gIC5zdWJtZW51IC5jb25uZWN0aW9uLWxpbmsge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICB9XG5cbiAgLnNwbGlkZV9fYXJyb3ctLXByZXYge1xuICAgIGxlZnQ6IDFlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnNwbGlkZV9fYXJyb3ctLW5leHQge1xuICAgIHJpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbWFnZS1iZy1sZWZ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmltYWdlLWJnLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmhvbWVfX2luZm8gLmluZm8tY29udGFpbmVyIC5pbmZvLXRleHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmxvZ2luIC5sb2dpbi1mb3JtIC5mb3JtLXNpZ25pbiB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAuZXhwZXJ0LWNhcmQge1xuICAgIG1hcmdpbjogMjVweCA4JSBjYWxjKDE4cHggKyAxLjI1dncpIDA7XG4gICAgd2lkdGg6IDQ2JTtcbiAgfVxuXG4gIC5leHBlcnQtY2FyZDpudGgtY2hpbGQoMm4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAuYWRyZXNzZS1waWN0byB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRhY3QtYm90dG9tIC5mb3JtdWxhaXJlIC5pbWctZm9ybXVsYWlyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5mb3JtdWxhaXJlIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5sb2dpbiAubG9naW4tZm9ybSAuZm9ybS1zaWduaW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAuaGVyby1zZXJ2aWNlcyBoMSB7XG4gICAgbGVmdDogOCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmZvb3Rlcl9fYmxvY2tzIHtcbiAgICBtYXJnaW46IDAgMCAwIGNhbGMoMXB4ICsgMnZ3KTtcbiAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKDFweCArIDJ2dyk7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gY2FsYygxcHggKyAydncpIC0gMXB4KTtcbiAgfVxuXG4gIC5mb290ZXJfX2Jsb2NrczpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5mb290ZXJfX2Jsb2NrczpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbjogMzBweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmZvb3Rlcl9fYmxvY2tfX2xpc3RfX2VsZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIGZvb3RlciAuY29udGFpbmVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuZm9vdGVyX19ibG9ja3MgLmltZ19mbHVpZCB7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cblxuICAuc2VsbGluZ3NfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgbWluLXdpZHRoOiAzMTBweDtcbiAgfVxuXG4gIC5zZWxsaW5nc19fYmxvY2sge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmhvbWVfX3NlbGxpbmdzX19ibG9jayBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmFkcmVzc2UtbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICNpY29ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG5cbiAgI2ljb25zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDI2MzBcIjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG5cbiAgLmFjdGl2ZSAjaWNvbnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjcxNVwiO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICBuYXYgdWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB0b3A6IDkuMiU7XG4gICAgLyogdG9wOiAxNi44JTsgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogOTIlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAvKiBuYXYgdWwgbGkge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxuXG4gIG5hdiB1bCBsaSBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuKTtcbiAgfVxuXG4gIG5hdiB1bCBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icm93bik7XG4gICAgcGFkZGluZzogNXB4IDM1cHg7XG4gIH0gKi9cblxuICBuYXYuYWN0aXZlIHVsIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE5NTUyNjtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAuc3VibWVudSAuY29ubmVjdGlvbi1saW5rIHtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgfVxuXG4gIC5sb2dpbiAubG9naW4tZm9ybSAuZm9ybS1zaWduaW4ge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cblxuICAuaG9tZS1jb250YWN0IC51cmdlbmNlIC5pbWctdXJnZW5jZSB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuY29udGFjdC1ib3R0b20gLmZvcm11bGFpcmUgLmNvbHVtbiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmNvbnRhY3QtYm90dG9tIC5mb3JtdWxhaXJlIC5jb2x1bW4gLmNvbDEge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIC5sb2dpbiAubG9naW4tZm9ybSAuZm9ybS1zaWduaW4ge1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cblxuICAucGljdG9fX2FkcmVzc2Uge1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmV4cGVydC1jYXJkIHtcbiAgICBtYXJnaW46IDI1cHggMCBjYWxjKDE4cHggKyAxLjI1dncpIDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBuYXYgdWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICAvKiB0b3A6IDEzLjUlOyAqL1xuICAgIC8qIHRvcDogMTguOCU7ICovXG4gICAgLyogdG9wOiAxNi45JTsgKi9cbiAgICB0b3A6IDEwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogODQlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuMjVzO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAubG9naW4gLmxvZ2luLWZvcm0gLmZvcm0tc2lnbmluIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG59IiwiLnNwbGlkZV9fY29udGFpbmVye2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uc3BsaWRlX19saXN0e2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O2hlaWdodDoxMDAlO21hcmdpbjowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50fS5zcGxpZGUuaXMtaW5pdGlhbGl6ZWQ6bm90KC5pcy1hY3RpdmUpIC5zcGxpZGVfX2xpc3R7ZGlzcGxheTpibG9ja30uc3BsaWRlX19wYWdpbmF0aW9uey1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjA7cG9pbnRlci1ldmVudHM6bm9uZX0uc3BsaWRlX19wYWdpbmF0aW9uIGxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjE7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjA7cG9pbnRlci1ldmVudHM6YXV0b30uc3BsaWRlOm5vdCguaXMtb3ZlcmZsb3cpIC5zcGxpZGVfX3BhZ2luYXRpb257ZGlzcGxheTpub25lfS5zcGxpZGVfX3Byb2dyZXNzX19iYXJ7d2lkdGg6MH0uc3BsaWRle3Bvc2l0aW9uOnJlbGF0aXZlO3Zpc2liaWxpdHk6aGlkZGVufS5zcGxpZGUuaXMtaW5pdGlhbGl6ZWQsLnNwbGlkZS5pcy1yZW5kZXJlZHt2aXNpYmlsaXR5OnZpc2libGV9LnNwbGlkZV9fc2xpZGV7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47Ym94LXNpemluZzpib3JkZXItYm94Oy1tcy1mbGV4LW5lZ2F0aXZlOjA7ZmxleC1zaHJpbms6MDtsaXN0LXN0eWxlLXR5cGU6bm9uZSFpbXBvcnRhbnQ7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmV9LnNwbGlkZV9fc2xpZGUgaW1ne3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0uc3BsaWRlX19zcGlubmVye2FuaW1hdGlvbjpzcGxpZGUtbG9hZGluZyAxcyBsaW5lYXIgaW5maW5pdGU7Ym9yZGVyOjJweCBzb2xpZCAjOTk5O2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTowO2NvbnRhaW46c3RyaWN0O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoyMHB4O2xlZnQ6MDttYXJnaW46YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3dpZHRoOjIwcHh9LnNwbGlkZV9fc3J7Y2xpcDpyZWN0KDAgMCAwIDApO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9LnNwbGlkZV9fdG9nZ2xlLmlzLWFjdGl2ZSAuc3BsaWRlX190b2dnbGVfX3BsYXksLnNwbGlkZV9fdG9nZ2xlX19wYXVzZXtkaXNwbGF5Om5vbmV9LnNwbGlkZV9fdG9nZ2xlLmlzLWFjdGl2ZSAuc3BsaWRlX190b2dnbGVfX3BhdXNle2Rpc3BsYXk6aW5saW5lfS5zcGxpZGVfX3RyYWNre292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjB9QGtleWZyYW1lcyBzcGxpZGUtbG9hZGluZ3swJXt0cmFuc2Zvcm06cm90YXRlKDApfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0uc3BsaWRlX190cmFjay0tZHJhZ2dhYmxley13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zcGxpZGVfX3RyYWNrLS1mYWRlPi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGV7bWFyZ2luOjAhaW1wb3J0YW50O29wYWNpdHk6MDt6LWluZGV4OjB9LnNwbGlkZV9fdHJhY2stLWZhZGU+LnNwbGlkZV9fbGlzdD4uc3BsaWRlX19zbGlkZS5pcy1hY3RpdmV7b3BhY2l0eToxO3otaW5kZXg6MX0uc3BsaWRlLS1ydGx7ZGlyZWN0aW9uOnJ0bH0uc3BsaWRlX190cmFjay0tdHRiPi5zcGxpZGVfX2xpc3R7ZGlzcGxheTpibG9ja30uc3BsaWRlX19hcnJvd3stbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6I2NjYztib3JkZXI6MDtib3JkZXItcmFkaXVzOjUwJTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MmVtOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3BhY2l0eTouNztwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDoyZW07ei1pbmRleDoxfS5zcGxpZGVfX2Fycm93IHN2Z3tmaWxsOiMwMDA7aGVpZ2h0OjEuMmVtO3dpZHRoOjEuMmVtfS5zcGxpZGVfX2Fycm93OmhvdmVyOm5vdCg6ZGlzYWJsZWQpe29wYWNpdHk6Ljl9LnNwbGlkZV9fYXJyb3c6ZGlzYWJsZWR7b3BhY2l0eTouM30uc3BsaWRlX19hcnJvdzpmb2N1cy12aXNpYmxle291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6M3B4fS5zcGxpZGVfX2Fycm93LS1wcmV2e2xlZnQ6MWVtfS5zcGxpZGVfX2Fycm93LS1wcmV2IHN2Z3t0cmFuc2Zvcm06c2NhbGVYKC0xKX0uc3BsaWRlX19hcnJvdy0tbmV4dHtyaWdodDoxZW19LnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19hcnJvdzpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0OjNweH0uc3BsaWRlX19wYWdpbmF0aW9ue2JvdHRvbTouNWVtO2xlZnQ6MDtwYWRkaW5nOjAgMWVtO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxfS5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2V7YmFja2dyb3VuZDojY2NjO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDo4cHg7bWFyZ2luOjNweDtvcGFjaXR5Oi43O3BhZGRpbmc6MDtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgbGluZWFyO3dpZHRoOjhweH0uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlLmlzLWFjdGl2ZXtiYWNrZ3JvdW5kOiNmZmY7dHJhbnNmb3JtOnNjYWxlKDEuNCk7ei1pbmRleDoxfS5zcGxpZGVfX3BhZ2luYXRpb25fX3BhZ2U6aG92ZXJ7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouOX0uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlOmZvY3VzLXZpc2libGV7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDozcHh9LnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlOmZvY3Vze291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6M3B4fS5zcGxpZGVfX3Byb2dyZXNzX19iYXJ7YmFja2dyb3VuZDojY2NjO2hlaWdodDozcHh9LnNwbGlkZV9fc2xpZGV7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9LnNwbGlkZV9fc2xpZGU6Zm9jdXN7b3V0bGluZTowfUBzdXBwb3J0cyhvdXRsaW5lLW9mZnNldDotM3B4KXsuc3BsaWRlX19zbGlkZTpmb2N1cy12aXNpYmxle291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6LTNweH19QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpey5zcGxpZGVfX3NsaWRlOmZvY3VzLXZpc2libGV7Ym9yZGVyOjNweCBzb2xpZCAjMGJmfX1Ac3VwcG9ydHMob3V0bGluZS1vZmZzZXQ6LTNweCl7LnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19zbGlkZTpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0Oi0zcHh9fUBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKXsuc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3NsaWRlOmZvY3Vze2JvcmRlcjozcHggc29saWQgIzBiZn0uc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3RyYWNrPi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGU6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMwYmZ9fS5zcGxpZGVfX3RvZ2dsZXtjdXJzb3I6cG9pbnRlcn0uc3BsaWRlX190b2dnbGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0OjNweH0uc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3RvZ2dsZTpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0OjNweH0uc3BsaWRlX190cmFjay0tbmF2Pi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGV7Ym9yZGVyOjNweCBzb2xpZCB0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0uc3BsaWRlX190cmFjay0tbmF2Pi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGUuaXMtYWN0aXZle2JvcmRlcjozcHggc29saWQgIzAwMH0uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tcHJldntsZWZ0OmF1dG87cmlnaHQ6MWVtfS5zcGxpZGVfX2Fycm93cy0tcnRsIC5zcGxpZGVfX2Fycm93LS1wcmV2IHN2Z3t0cmFuc2Zvcm06c2NhbGVYKDEpfS5zcGxpZGVfX2Fycm93cy0tcnRsIC5zcGxpZGVfX2Fycm93LS1uZXh0e2xlZnQ6MWVtO3JpZ2h0OmF1dG99LnNwbGlkZV9fYXJyb3dzLS1ydGwgLnNwbGlkZV9fYXJyb3ctLW5leHQgc3Zne3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93e2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSl9LnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLXByZXZ7dG9wOjFlbX0uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tcHJldiBzdmd7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93LS1uZXh0e2JvdHRvbToxZW07dG9wOmF1dG99LnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLW5leHQgc3Zne3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5zcGxpZGVfX3BhZ2luYXRpb24tLXR0Yntib3R0b206MDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtsZWZ0OmF1dG87cGFkZGluZzoxZW0gMDtyaWdodDouNWVtO3RvcDowfSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/