/*--------------------------------------------------------------------------
Template name: Constrata
Template URI: https://constratahtml.netlify.app
Author Name: Tortoiztheme
Author URI: 
Tag: Modern, Agency, Business
Verson: 1.0.0
Description: Constrata is a responsive html5 multipurpose template    

===========================
CSS Index 
===========================

------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;800&family=Rubik:ital,wght@0,300;0,400;0,500;1,400;1,500&display=swap");
/**
* ============================
*  3.Media Query
* ============================
*/
/****************************
Headings
*******************************/
.heading-one-alt {
  color: #fd7b2c;
  font-size: 4rem;
  font-weight: 600; }
  @media (min-width: 768px) and (max-width: 991px) {
    .heading-one-alt {
      font-size: 3.5rem; } }
  @media (max-width: 768px) {
    .heading-one-alt {
      font-size: 3rem; } }
  @media (max-width: 575px) {
    .heading-one-alt {
      font-size: 2.5rem; } }

.big-heading {
  font-size: 9rem;
  font-weight: 800; }
  @media (max-width: 1199px) {
    .big-heading {
      font-size: 7.5rem; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .big-heading {
      font-size: 6.5rem; } }
  @media (max-width: 768px) {
    .big-heading {
      font-size: 4.5rem; } }
  @media (max-width: 575px) {
    .big-heading {
      font-size: 3.5rem; } }

.sub-title {
  font-size: 28px;
  line-height: 1.6em;
  margin-bottom: 0;
  margin-bottom: 0; }
  @media (min-width: 768px) and (max-width: 991px) {
    .sub-title {
      font-size: 22px; } }
  @media (max-width: 768px) {
    .sub-title {
      font-size: 18px; } }

.heading-2 {
  color: #001659;
  font-size: 45px;
  font-weight: 600;
  margin-bottom: 0; }
  .heading-2 span {
    color: #f4772a; }
  @media (min-width: 768px) and (max-width: 991px) {
    .heading-2 {
      font-size: 35px; } }
  @media (max-width: 768px) {
    .heading-2 {
      font-size: 35px; } }
  @media (max-width: 575px) {
    .heading-2 {
      font-size: 35px; } }

.heading-3 {
  font-size: 28px;
  color: #001659;
  font-weight: 600;
  margin-bottom: 0; }
  @media (min-width: 768px) and (max-width: 991px) {
    .heading-3 {
      font-size: 25px; } }
  @media (max-width: 768px) {
    .heading-3 {
      font-size: 22px; } }
  @media (max-width: 575px) {
    .heading-3 {
      font-size: 22px; } }

.heading-4 {
  margin-bottom: 0;
  color: #001659;
  font-size: 24px;
  font-weight: 600; }
  @media (min-width: 768px) and (max-width: 991px) {
    .heading-4 {
      font-size: 22px; } }
  @media (max-width: 768px) {
    .heading-4 {
      font-size: 20px; } }
  @media (max-width: 575px) {
    .heading-4 {
      font-size: 20px; } }
  .heading-4 a {
    color: #001659;
    transition: all .4s linear 0s;
    text-decoration: none; }
    .heading-4 a:hover {
      text-decoration: none;
      color: #ff8b45; }

.heading-alt-2 {
  font-size: 4.5rem;
  color: #001659;
  font-weight: 600; }
  @media (min-width: 768px) and (max-width: 991px) {
    .heading-alt-2 {
      font-size: 3.5rem; } }
  @media (max-width: 768px) {
    .heading-alt-2 {
      font-size: 3rem; } }
  @media (max-width: 575px) {
    .heading-alt-2 {
      font-size: 2.5rem; } }

.sub-title-2 {
  font-size: 28px;
  line-height: 1.3em;
  margin-bottom: 0;
  color: #001659; }
  @media (min-width: 768px) and (max-width: 991px) {
    .sub-title-2 {
      font-size: 24px; } }
  @media (max-width: 768px) {
    .sub-title-2 {
      font-size: 22px; } }
  @media (max-width: 575px) {
    .sub-title-2 {
      font-size: 20px; } }

.sub-title-3 {
  font-size: 18px;
  font-weight: 300;
  color: #001659;
  text-transform: uppercase;
  font-family: "Rubik", sans-serif;
  letter-spacing: 5px; }

.special-heading {
  font-size: 35px;
  color: #001659;
  font-weight: 400;
  margin-bottom: 0; }
  .special-heading span {
    color: #fd5c2c;
    font-weight: 500; }

.big-heading-2 {
  font-size: 5rem;
  color: #fff;
  font-weight: 600; }
  @media (min-width: 992px) and (max-width: 1230px) {
    .big-heading-2 {
      font-size: 4rem; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .big-heading-2 {
      font-size: 4rem; } }
  @media (max-width: 768px) {
    .big-heading-2 {
      font-size: 3.5rem; } }
  @media (max-width: 575px) {
    .big-heading-2 {
      font-size: 2.5rem; } }

.heading-6 {
  font-size: 18px;
  color: #001659;
  font-weight: 500; }

.heading-5-alt {
  font-size: 24px;
  margin-bottom: 0; }
  .heading-5-alt a {
    color: #656565;
    text-decoration: none; }
  @media (min-width: 768px) and (max-width: 991px) {
    .heading-5-alt {
      font-size: 20px; } }
  @media (max-width: 768px) {
    .heading-5-alt {
      font-size: 18px; } }
  @media (max-width: 575px) {
    .heading-5-alt {
      font-size: 16px; } }

.widget-title {
  position: relative;
  font-size: 28px;
  font-weight: 500;
  color: #fff;
  padding-bottom: 15px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .widget-title {
      font-size: 22px; } }
  @media (max-width: 768px) {
    .widget-title {
      font-size: 22px; } }
  @media (max-width: 575px) {
    .widget-title {
      font-size: 22px; } }
  .widget-title:before {
    content: "";
    position: absolute;
    width: 45px;
    height: 3px;
    background-color: #f4772a;
    bottom: 0;
    left: 0; }

.widget-title-2 {
  position: relative;
  font-size: 28px;
  font-weight: 600;
  color: #001659;
  padding-bottom: 15px; }
  .widget-title-2:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #d5d5d5;
    bottom: 0;
    left: 0; }

.widget-title-3 {
  position: relative;
  font-size: 28px;
  font-weight: 600;
  color: #001659; }

.read-more-btn {
  color: #001659;
  font-size: 1rem;
  font-weight: 500;
  transition: all .4s linear 0s;
  text-decoration: none; }
  .read-more-btn i {
    color: #ff8b45; }
  .read-more-btn:hover {
    color: #ff8b45;
    text-decoration: none; }
  .read-more-btn span {
    margin-left: 10px; }

/**********************
Buttons
*************************/
.custom-big-btn {
  color: #f3f3f3;
  font-family: "Poppins", sans-serif;
  background-color: #fd7b2c;
  padding: 15px 20px;
  border: 0; }
  @media (max-width: 1199px) {
    .custom-big-btn {
      padding: 12px 14px;
      font-size: .9rem; } }
  .custom-big-btn span {
    display: inline-block;
    font-size: 20px;
    border-left: 2px solid #ff8b45;
    margin-left: 10px;
    padding-left: 15px; }
    @media (max-width: 1199px) {
      .custom-big-btn span {
        display: none; } }
  .custom-big-btn:focus {
    outline: 0;
    box-shadow: none; }

.custom-btn {
  background-color: #fd5c2c;
  color: #fff;
  border: 0;
  padding: 15px 40px;
  font-weight: 400;
  text-transform: uppercase; }

/****************************
 height
*****************************/
.height-500 {
  height: 500px; }

.height-700 {
  height: 700px; }

.bg-semi {
  background-color: #001659; }

/*****************************************
Padding
******************************************/
.pl-170 {
  padding-left: 170px; }

.light-comma:after {
  content: ".";
  color: #f4772a; }

.section-ptb {
  }
  @media (min-width: 768px) and (max-width: 991px) {
    .section-ptb {
      padding-top: 80px;
      padding-bottom: 80px; } }
  @media (max-width: 768px) {
    .section-ptb {
      padding-top: 80px;
      padding-bottom: 80px; } }
  @media (max-width: 575px) {
    .section-ptb {
      padding-top: 60px;
      padding-bottom: 60px; } }

.section-pb {
  padding-bottom: 150px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .section-pb {
      padding-bottom: 80px; } }
  @media (max-width: 768px) {
    .section-pb {
      padding-bottom: 80px; } }
  @media (max-width: 575px) {
    .section-pb {
      padding-bottom: 60px; } }

.inner-pb {
  padding-bottom: 80px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .inner-pb {
      padding-bottom: 50px; } }
  @media (max-width: 768px) {
    .inner-pb {
      padding-bottom: 40px; } }
  @media (max-width: 575px) {
    .inner-pb {
      padding-bottom: 35px; } }

.inner-pt {
  padding-top: 80px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .inner-pt {
      padding-top: 50px; } }
  @media (max-width: 768px) {
    .inner-pt {
      padding-top: 40px; } }
  @media (max-width: 575px) {
    .inner-pt {
      padding-top: 35px; } }

.inner-ptb {
  padding-top: 80px;
  padding-bottom: 80px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .inner-ptb {
      padding-top: 50px;
      padding-bottom: 50px; } }
  @media (max-width: 768px) {
    .inner-ptb {
      padding-top: 40px;
      padding-bottom: 40px; } }
  @media (max-width: 575px) {
    .inner-ptb {
      padding-top: 35px;
      padding-bottom: 35px; } }

.ptb-100 {
  padding-top: 100px;
  padding-bottom: 100px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .ptb-100 {
      padding-top: 60px;
      padding-bottom: 60px; } }
  @media (max-width: 768px) {
    .ptb-100 {
      padding-top: 60px;
      padding-bottom: 60px; } }
  @media (max-width: 575px) {
    .ptb-100 {
      padding-top: 65px;
      padding-bottom: 50px; } }

.pr-100 {
  padding-right: 100px; }

.pb-100 {
  padding-bottom: 100px; }

@media (max-width: 768px) {
  .mb-xs-5 {
    margin-bottom: 3rem; } }

@media (max-width: 768px) {
  .mb-xs-4 {
    margin-bottom: 2rem; } }

/******************************
Background
******************************/
.bg-hover {
  background-color: #fd5c2c; }

.bg-semi-white {
  background-color: #f3f3f3; }

.semi-hover-4 {
  background-color: #0d2e62; }

.semi-hover-3 {
  background-color: #f4772a; }

.semi-hover-5 {
  background-color: #002258; }

.black-overlay {
  position: relative; }
  .black-overlay:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.45); }

/******************
List Styles
*******************/
.social-profiles ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .social-profiles ul li {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #0d2e62;
    color: #fff;
    border-radius: 50%;
    line-height: 40px;
    margin: 0 5px;
    transition: all .4s linear 0s;
    text-align: center; }
    .social-profiles ul li a {
      display: block;
      color: #fff; }
    .social-profiles ul li.active {
      background-color: #f4772a; }
    .social-profiles ul li:hover {
      background-color: #f4772a; }

.social-profiles-2 ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .social-profiles-2 ul li {
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: tranaparent;
    border-radius: 50%;
    line-height: 40px;
    margin: 0 5px;
    transition: all .4s linear 0s;
    text-align: center; }
    .social-profiles-2 ul li a {
      display: block;
      color: #aaaaaa; }
    .social-profiles-2 ul li.active {
      background-color: #f4772a; }
      .social-profiles-2 ul li.active a {
        color: #fff; }
    .social-profiles-2 ul li:hover {
      background-color: #f4772a; }
      .social-profiles-2 ul li:hover a {
        color: #fff; }

.social-profiles-3 ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .social-profiles-3 ul li {
    display: inline-block;
    height: 20px;
    line-height: 20px;
    margin: 0 5px;
    transition: all .4s linear 0s;
    text-align: center; }
    .social-profiles-3 ul li a {
      display: block;
      color: #aaaaaa; }
    .social-profiles-3 ul li.active a {
      color: #ff8b45; }
    .social-profiles-3 ul li:hover a {
      color: #ff8b45; }

.list-2 ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .list-2 ul li {
    padding-bottom: 10px; }
    .list-2 ul li:last-child {
      padding-bottom: 0; }
    .list-2 ul li span {
      color: #fd8136;
      padding-right: 10px; }

.special-list ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .special-list ul li {
    display: flex;
    padding-bottom: 10px; }
    .special-list ul li:last-child {
      padding-bottom: 0; }
    .special-list ul li b {
      color: #001659;
      padding-right: 5px; }
    .special-list ul li span i {
      color: #f4772a;
      padding-right: 10px;
      font-size: 12px; }

/*********************
colors
************************/
.active-border {
  border-color: #fd5c2c !important; }

/*****************************
Borders
*******************************/
.dotted-border-bottom {
  border-bottom: 1px dashed #5f727f; }

.border-bottom-dark {
  border-bottom: 1px solid #d5d5d5; }

@media (min-width: 992px) {
  .special-lg-border {
    border-top: 1px;
    border-bottom: 1px;
    border-right: 1px;
    border-color: #d9d9d9;
    border-style: solid;
    border-left: 0; } }

.border-bottom-light {
  border-bottom: 1px solid #febd96; }

.border-radius-0 {
  border-radius: 0; }

/**********************
quote
***********************/
.blockquote-2 p {
  margin-bottom: 0;
  font-size: 28px;
  color: #001659;
  line-height: 1.4em;
  background-color: #f1f1f1;
  border: 1px solid #d9d9d9;
  padding: 2.5rem;
  margin: 1.5rem 0; }
  @media (min-width: 768px) and (max-width: 991px) {
    .blockquote-2 p {
      font-size: 25px;
      padding: 2rem; } }
  @media (max-width: 768px) {
    .blockquote-2 p {
      font-size: 22px;
      padding: 1.6rem; } }
  @media (max-width: 575px) {
    .blockquote-2 p {
      font-size: 20px;
      padding: 1.3rem; } }

/**
* ============================
*  3.Media Query
* ============================
*/
/*********************
 01. Global Style
**********************/
body {
  font-family: "Rubik", sans-serif;
  color: #656565; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif; }

/*****************************
   02. header
*********************************/
.main-menu nav ul li a {
  color: #f3f3f3;
  font-family: "Poppins", sans-serif;
  padding: 0 15px !important;
  font-size: 1rem;
  text-transform: uppercase;
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s;
  position: relative; }
  .main-menu nav ul li a:before {
    content: "";
    position: absolute;
    left: 0;
    top: -41px;
    width: 0;
    height: 0;
    background-color: #fd5c2c;
    -webkit-transition: all 0.2s linear 0s;
    -o-transition: all 0.2s linear 0s;
    transition: all 0.2s linear 0s; }
    @media (min-width: 768px) and (max-width: 991px) {
      .main-menu nav ul li a:before {
        content: none; } }
    @media (max-width: 768px) {
      .main-menu nav ul li a:before {
        content: none; } }
    @media (max-width: 575px) {
      .main-menu nav ul li a:before {
        content: none; } }
  .main-menu nav ul li a:hover {
    color: #fd5c2c; }
    .main-menu nav ul li a:hover:before {
      width: 70%;
      height: 2px;
      margin: 0 auto;
      text-align: center;
      left: 15%; }
      @media (min-width: 768px) and (max-width: 991px) {
        .main-menu nav ul li a:hover:before {
          content: none; } }
      @media (max-width: 768px) {
        .main-menu nav ul li a:hover:before {
          content: none; } }
      @media (max-width: 575px) {
        .main-menu nav ul li a:hover:before {
          content: none; } }
  @media (max-width: 1199px) {
    .main-menu nav ul li a {
      padding: 0 10px !important;
      font-size: 0.9rem; }
      .main-menu nav ul li a .search-icon {
        width: 20px; } }
  .main-menu nav ul li a .search-icon {
    width: 23px; }

.main-menu nav ul li.active > a {
  color: #fd5c2c; }
  .main-menu nav ul li.active > a:before {
    width: 70%;
    height: 2px;
    margin: 0 auto;
    text-align: center;
    left: 15%; }
    @media (max-width: 768px) {
      .main-menu nav ul li.active > a:before {
        content: none; } }
    @media (max-width: 575px) {
      .main-menu nav ul li.active > a:before {
        content: none; } }

.main-menu .navbar {
  padding-left: 0;
  padding-right: 0; }

.main-menu .extended-menu ul li a {
  padding: 0; }
  .main-menu .extended-menu ul li a:before {
    content: none; }

.main-menu .extended-menu .search-btn {
  border: 0;
  background-color: transparent;
  color: #f3f3f3;
  font-size: 20px; }
  @media (max-width: 1199px) {
    .main-menu .extended-menu .search-btn {
      font-size: 18px; } }

@media (min-width: 992px) {
  .main-menu .extended-menu .navbar-nav {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }

.main-menu .dropdown-menu {
  border-radius: 0; }
  .main-menu .dropdown-menu li a {
    color: #001659;
    padding: 5px 12px !important;
    text-transform: capitalize; }
    .main-menu .dropdown-menu li a:before {
      content: none; }

.main-menu .navbar-toggler:focus {
  outline: 0;
  border-radius: 0;
  -webkit-box-shadow: 0 0 0 0.09rem;
  box-shadow: 0 0 0 0.09rem; }

@media (min-width: 768px) and (max-width: 991px) {
  .main-menu .nav-wrapper {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px;
    margin-top: 15px; }
  .main-menu nav ul li a {
    padding: 6px 10px !important; } }

@media (max-width: 768px) {
  .main-menu .nav-wrapper {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px;
    margin-top: 15px; }
  .main-menu nav ul li a {
    padding: 6px 10px !important; } }

@media (max-width: 575px) {
  .main-menu .nav-wrapper {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 15px;
    margin-top: 15px; }
  .main-menu nav ul li a {
    padding: 6px 10px !important; } }

/*****************************
  03. hero area 
******************************/
.hero-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-position: top left 116px;
  background-size: cover;
  background-repeat: no-repeat; }
  @media (max-width: 768px) {
    .hero-area.height-700 {
      height: 650px; } }
  @media (max-width: 575px) {
    .hero-area.height-700 {
      height: 500px; } }
  .hero-area .hero-text {
    padding-left: 100px; }
    @media (max-width: 1199px) {
      .hero-area .hero-text {
        padding-left: 50px; } }
    @media (min-width: 768px) and (max-width: 991px) {
      .hero-area .hero-text {
        padding-left: 0; } }
    @media (max-width: 768px) {
      .hero-area .hero-text {
        padding-left: 0; } }
  @media (min-width: 992px) and (max-width: 1160px) {
    .hero-area {
      background-position: top left 50px; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .hero-area {
      background-position: top left 0; } }
  @media (max-width: 768px) {
    .hero-area {
      background-position: top left 0; } }

.feature-text .text-wrapper p {
  line-height: 1.8em; }

/**********************
04. Latest Projects
**************************/
.portfolio-wrapper {
  position: relative; }

.single-portfolio {
  position: relative; }
  .single-portfolio > a {
    display: inline-block;
    position: relative;
    width: 100%; }
    .single-portfolio > a img {
      width: 100%;
      max-height: 420px;
      -o-object-fit: cover;
      object-fit: cover; }
    .single-portfolio > a:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(244, 119, 42, 0.8);
      -webkit-transition: all 0.2s linear 0s;
      -o-transition: all 0.2s linear 0s;
      transition: all 0.2s linear 0s;
      opacity: 0;
      visibility: hidden;
      z-index: 1; }
  .single-portfolio .plus-btn {
    background-color: #001659;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: center;
    width: 90px;
    height: 90px;
    line-height: 85px;
    text-align: center;
    -webkit-transition: all 0.4s linear 0s;
    -o-transition: all 0.4s linear 0s;
    transition: all 0.4s linear 0s;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: scale3d(0, 0, 0);
    transform: scale3d(0, 0, 0);
    z-index: 2; }
    @media (min-width: 768px) and (max-width: 991px) {
      .single-portfolio .plus-btn {
        width: 55px;
        height: 55px;
        line-height: 50px; } }
    @media (max-width: 768px) {
      .single-portfolio .plus-btn {
        width: 55px;
        height: 55px;
        line-height: 50px; } }
    @media (max-width: 575px) {
      .single-portfolio .plus-btn {
        width: 55px;
        height: 55px;
        line-height: 50px; } }
  .single-portfolio .hover-text {
    position: absolute;
    top: 50%;
    margin: 0 auto;
    width: 90%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.3s linear 0s;
    -o-transition: all 0.3s linear 0s;
    transition: all 0.3s linear 0s;
    opacity: 0;
    visibility: hidden;
    z-index: 2; }
    .single-portfolio .hover-text h2 {
      margin-bottom: 0;
      color: #fff;
      font-size: 28px;
      font-weight: 600;
      font-family: "Poppins", sans-serif;
      padding-bottom: 5px; }
      @media (min-width: 768px) and (max-width: 991px) {
        .single-portfolio .hover-text h2 {
          font-size: 22px; } }
      @media (max-width: 768px) {
        .single-portfolio .hover-text h2 {
          font-size: 20px; } }
      @media (max-width: 575px) {
        .single-portfolio .hover-text h2 {
          font-size: 18px; } }
    .single-portfolio .hover-text p {
      color: #fff;
      margin-bottom: 0;
      font-size: 1rem; }
  .single-portfolio:hover .hover-text {
    opacity: 1;
    visibility: visible; }
  .single-portfolio:hover .plus-btn {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  .single-portfolio:hover > a:before {
    opacity: 1;
    visibility: visible; }

.projects-area .nav-tabs {
  border-bottom: 0; }
  @media (min-width: 992px) {
    .projects-area .nav-tabs {
     
       } }
  .projects-area .nav-tabs .nav-link {
    border: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    color: #fff;
    font-size: 24px; }
    @media (min-width: 768px) and (max-width: 991px) {
      .projects-area .nav-tabs .nav-link {
        padding: 0.4rem !important;
        font-size: 1rem; } }
    @media (max-width: 768px) {
      .projects-area .nav-tabs .nav-link {
        padding: 0.5rem !important;
        font-size: 1.1rem; } }
    @media (max-width: 575px) {
      .projects-area .nav-tabs .nav-link {
        padding: 0.5rem !important;
        font-size: 1.1rem; } }
    .projects-area .nav-tabs .nav-link.active {
      color: #214a91; }

/*******************************
05. Testimonials area
*******************************/
.testimonials-area {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right 100px;
  overflow: hidden; }
  @media (min-width: 768px) and (max-width: 991px) {
    .testimonials-area {
      background-image: none !important; }
      .testimonials-area .testimonial-img {
        display: none; }
      .testimonials-area .slick-dots {
        display: none !important; }
      .testimonials-area .slick-dotted.slick-slider {
        margin-bottom: 0; } }
  @media (max-width: 768px) {
    .testimonials-area {
      background-image: none !important; }
      .testimonials-area .testimonial-img {
        display: none; }
      .testimonials-area .slick-dots {
        display: none !important; }
      .testimonials-area .slick-dotted.slick-slider {
        margin-bottom: 0; } }
  @media (max-width: 575px) {
    .testimonials-area {
      background-image: none !important; }
      .testimonials-area .testimonial-img {
        display: none; }
      .testimonials-area .slick-dots {
        display: none !important; }
      .testimonials-area .slick-dotted.slick-slider {
        margin-bottom: 0; } }
  .testimonials-area .author-img img {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
    border: 40px solid #f1f1f1; }
  @media (min-width: 768px) and (max-width: 991px) {
    .testimonials-area .slider-two {
      background-color: #f4772a;
      padding-left: 40px; }
      .testimonials-area .slider-two .pr-100 {
        padding-right: 30px !important; }
      .testimonials-area .slider-two .slick-dots {
        display: none; } }
  @media (max-width: 768px) {
    .testimonials-area .slider-two {
      background-color: #f4772a;
      padding-left: 30px; }
      .testimonials-area .slider-two .pr-100 {
        padding-right: 30px !important; }
      .testimonials-area .slider-two .slick-dots {
        display: none; } }
  @media (max-width: 575px) {
    .testimonials-area .slider-two {
      background-color: #f4772a;
      padding-left: 30px; }
      .testimonials-area .slider-two .pr-100 {
        padding-right: 30px !important; }
      .testimonials-area .slider-two .slick-dots {
        display: none; } }

.testimonial-slider .slick-slide {
  margin: 0 25px; }

.testimonial-slider .slick-list {
  margin: 0 -25px; }

.testimonial-slider .testimonial-quote {
  position: relative; }
  .testimonial-slider .testimonial-quote p {
    font-size: 20px;
    line-height: 1.5em; }
  .testimonial-slider .testimonial-quote:before {
    content: "\f10d";
    position: absolute;
    left: 0;
    top: -40px;
    width: 80px;
    height: 45px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 25px;
    color: #dfdfdf; }
  .testimonial-slider .testimonial-quote .quote-bio p {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0; }
    .testimonial-slider .testimonial-quote .quote-bio p b {
      color: #001659; }

.testimonial-slider .testimonial-quote-2 {
  position: relative; }
  .testimonial-slider .testimonial-quote-2 p {
    font-size: 20px;
    line-height: 1.5em; }
  .testimonial-slider .testimonial-quote-2:before {
    content: "\f10d";
    position: absolute;
    left: 0;
    top: -40px;
    width: 80px;
    height: 45px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    font-size: 25px;
    color: #feb080; }
  .testimonial-slider .testimonial-quote-2 .quote-bio p {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 0; }
    .testimonial-slider .testimonial-quote-2 .quote-bio p b {
      color: #001659; }

.testimonial-area-2 {
  overflow: hidden; }

.slider-one .slick-dots {
  text-align: left;
  bottom: 30px; }
  .slider-one .slick-dots li {
    margin: 0; }
    .slider-one .slick-dots li button {
      background-color: #cccccc;
      width: 10px;
      height: 8px; }
      .slider-one .slick-dots li button:before {
        content: none; }
    .slider-one .slick-dots li.slick-active button {
      background-color: #f4772a; }

.slider-two .slick-dots {
  text-align: left;
  bottom: 30px;
  width: unset;
  display: inline-block;
  left: 25%;
  top: 68%; }
  .slider-two .slick-dots li {
    margin: 0; }
    .slider-two .slick-dots li button {
      background-color: #fecaab;
      width: 10px;
      height: 8px; }
      .slider-two .slick-dots li button:before {
        content: none; }
    .slider-two .slick-dots li.slick-active button {
      background-color: #fff; }

.slider-two .testimonial-item {
  background-size: cover;
  background-repeat: no-repeat; }

/************************
06. Start Blogs Area
*************************/
.author-info a {
  color: #656565;
  text-decoration: none;
  font-size: 15px; }
  .author-info a:hover {
    text-decoration: none;
    color: #001659; }

.post-date p {
  margin-bottom: 0;
  padding-left: 15px;
  font-size: 15px; }

/***************************
07. Start Two Columns Area
***************************/
.two-columns-area {
  background-size: 55% 100%;
  background-repeat: no-repeat;
  background-position: bottom right; }
  @media (max-width: 768px) {
    .two-columns-area {
      background-size: 70% 100%; } }
  @media (max-width: 575px) {
    .two-columns-area {
      background-size: 70% 100%; } }

.two-columns-content {
  position: relative;
  z-index: 2; }
  .two-columns-content p {
    color: #001659; }

.two-columns-area-3 {
  overflow: hidden; }

/**********************
08. Footer
***********************/
.contact-number span {
  color: #92a4d9;
  font-size: 1rem;
  position: relative;
  padding-right: 60px; }
  .contact-number span:before {
    content: "";
    position: absolute;
    left: -15px;
    top: 0;
    width: 2px;
    height: 50px;
    background-color: #f4772a; }

.contact-number h2 {
  font-size: 28px;
  margin-bottom: 0;
  padding-left: 20px; }
  .contact-number h2 a {
    color: #fff;
    text-decoration: none; }
    .contact-number h2 a:hover {
      text-decoration: none; }

.copyright-text p {
  margin-bottom: 0;
  color: #92a4d9;
  font-size: 1rem; }

.widget-menu {
  margin: 0;
  padding: 0;
  list-style: none; }
  .widget-menu li:first-child a {
    padding-top: 0; }
  .widget-menu li:last-child a {
    padding-bottom: 0; }
  .widget-menu li a {
    display: block;
    padding: 8px 0;
    color: #92a4d9;
    -webkit-transition: all 0.4s linear 0s;
    -o-transition: all 0.4s linear 0s;
    transition: all 0.4s linear 0s;
    text-decoration: none; }
    .widget-menu li a:hover {
      color: #fff; }
    .widget-menu li a span {
      padding-right: 25px; }

.with-icon li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .with-icon li span {
    padding-right: 15px;
    color: #92a4d9; }
  .with-icon li:hover span {
    color: #f4772a; }

@media (min-width: 768px) and (max-width: 991px) {
  .footer-widget {
    padding: 0 1.5rem; } }

@media (max-width: 768px) {
  .footer-widget {
    padding-left: 2rem; } }

/****************************
index -2
********************************/
/*******************************
09. Start Header -2 
********************************/
.logo-area-2 {
  position: absolute; }

/********************************
10. Start Hero Area 2 
********************************/
.hero-area-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100vh;
  background-repeat: no-repeat;
  background-size: 50% 100%;
  background-position: right;
  min-height: 450px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .hero-area-2 {
      background-size: 0; } }
  @media (max-width: 768px) {
    .hero-area-2 {
      background-size: 0; } }
  .hero-area-2 .col-lg-6 {
    position: relative; }
  @media (max-width: 768px) {
    .hero-area-2 .button-wrapper {
      display: none; } }

.hero-desc {
  position: relative; }
  .hero-desc h2 {
    font-size: 3rem;
    color: #fff;
    font-weight: 600; }
    .hero-desc h2 span {
      color: #f4772a;
      font-weight: 300; }
  .hero-desc p {
    color: #dbdbdb;
    font-size: 18px; }

.big-play-button {
  width: 130px;
  height: 130px;
  text-align: center;
  color: #fff;
  border-radius: 50%;
  font-size: 1.5rem;
  border-width: 25px;
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.19);
  background: transparent; }
  .big-play-button a {
    color: #fff; }
  .big-play-button:focus {
    outline: 0; }
  .big-play-button i {
    position: absolute;
    left: -5px;
    top: -5px;
    width: 90px;
    height: 90px;
    line-height: 89px;
    background: #f4772a;
    border-radius: 50%; }

.hero-area-2 .big-play-button {
  position: absolute;
  right: 0;
  top: 30%;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  transform: translateX(50%); }

/**********************************
11. Start Latest Projects
**********************************/
.bottom-shadow {
  position: relative; }
  .bottom-shadow:before {
    content: "";
    position: absolute;
  
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%; }

.service-item-wrapper .single-tab-text h3 {
  color: #001659;
  font-size: 28px;
  font-weight: 600; }

.service-item-wrapper .single-tab-image img {
  width: 100%; }

.service-item-wrapper .hover_text {
     position: absolute;
    bottom: 0%;
    z-index: 1;
    color: #fff;
    padding: 30px; }
  @media (min-width: 768px) and (max-width: 991px) {
    .service-item-wrapper .hover_text {
      bottom: 80px; } }
  @media (max-width: 768px) {
    .service-item-wrapper .hover_text {
      bottom: 80px; } }
  @media (max-width: 575px) {
    .service-item-wrapper .hover_text {
      bottom: 5%; } }
  .service-item-wrapper .hover_text h6 {
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 0; }
  .service-item-wrapper .hover_text p {
    margin-bottom: 0;
    font-size: 14px; }

.service-tab-content .tab-content > .tab-pane {
  display: block;
  height: 0px;
  overflow: hidden; }

.service-tab-content .tab-content > .active {
  height: auto; }

.service-tab-content .slick-next {
  position: absolute;
  bottom: 20px;
  left: 40px;
  width: 35px;
  height: 35px;
  background-color: #fff;
  border: 1px solid #2949ae;
  color: #2949ae;
  border-radius: 50%;
  line-height: 2em;
  padding-left: 8px;
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s; }
  @media (min-width: 768px) and (max-width: 991px) {
    .service-tab-content .slick-next {
      left: 90px;
      bottom: 20px; } }
  @media (max-width: 768px) {
    .service-tab-content .slick-next {
      left: 90px;
      bottom: 20px; } }
  @media (max-width: 575px) {
    .service-tab-content .slick-next {
      left: 190px;
      bottom: 20px; } }
  .service-tab-content .slick-next:hover {
    color: #000;
    border-color: #000; }
  .service-tab-content .slick-next:focus {
    outline: 0; }

.service-tab-content .slick-prev {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 35px;
  height: 35px;
  background-color: #fff;
  border: 1px solid #2949ae;
  color: #2949ae;
  border-radius: 50%;
  line-height: 2em;
  padding-right: 8px;
  z-index: 9; }
  @media (min-width: 768px) and (max-width: 991px) {
    .service-tab-content .slick-prev {
      left: 40px;
      bottom: 20px; } }
  @media (max-width: 768px) {
    .service-tab-content .slick-prev {
      left: 40px;
      bottom: 20px; } }
  @media (max-width: 575px) {
    .service-tab-content .slick-prev {
      left: 130px;
      bottom: 20px; } }
  .service-tab-content .slick-prev:hover {
    color: #000;
    border-color: #000; }
  .service-tab-content .slick-prev:focus {
    outline: 0; }

.portfolio-slider .slick-slide {
  margin: 0 15px; }
  .portfolio-slider .slick-slide:focus {
    outline: 0; }

.portfolio-slider:focus {
  outline: 0; }

/******************************
12. Start Testimonials Area 2
********************************/
.rating-list {
  margin-bottom: 5px; }
  .rating-list ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .rating-list ul li {
      display: inline-block;
      color: #fd7b2c; }

.author-bio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  .author-bio p {
    margin-bottom: 0; }

.author-designation {
  padding-left: 20px; }
  .author-designation p {
    margin-bottom: 0; }
  .author-designation h6 {
    margin-bottom: 5px;
    color: #001659;
    font-weight: 500; }

.testimonial-text p {
  font-size: 20px; }

.testimonial-wrapper-2 .slick-slide {
  margin: 0 25px; }

.testimonial-wrapper-2 .slick-list {
  margin: 0 -25px; }

.testimonial-wrapper-2 .single-testimonial {
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s; }
  .testimonial-wrapper-2 .single-testimonial:hover {
    -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }

/***************************
13. Start Projects Countdown
******************************/
.single-countdown .countdown-info h3 {
  font-size: 45px;
  color: #001659;
  font-weight: 500; }

.single-countdown .countdown-info p {
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 0; }

.single-countdown .icon-round {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 1px solid #ddd;
  line-height: 143px;
  margin: 0 auto; }
  .single-countdown .icon-round i {
    color: #fff;
    width: 90px;
    height: 90px;
    line-height: 90px;
    background: #001659;
    font-size: 1.5rem;
    border-radius: 50%; }

.single-countdown:hover .icon-round, .single-countdown.active .icon-round {
  border-color: #f4772a; }
  .single-countdown:hover .icon-round i, .single-countdown.active .icon-round i {
    width: 100px;
    height: 100px;
    line-height: 100px;
    background-color: #f4772a; }

.single-countdown:hover .countdown-info h3,
.single-countdown:hover .countdown-info p, .single-countdown.active .countdown-info h3,
.single-countdown.active .countdown-info p {
  color: #f4772a; }

.our-team-area .single-team {
  position: relative; }
  .our-team-area .single-team .member-thumb {
    display: inline-block;
    position: relative; }
    .our-team-area .single-team .member-thumb:before {
      content: "";
      position: absolute;
      left: 10px;
      top: 10px;
      width: calc(100% - 20px);
      height: calc(100% - 20px);
      background-color: rgba(244, 119, 42, 0.8);
      -webkit-transition: all 0.4s linear 0s;
      -o-transition: all 0.4s linear 0s;
      transition: all 0.4s linear 0s;
      opacity: 0;
      visibility: hidden; }
    .our-team-area .single-team .member-thumb img {
      border: 10px solid transparent;
      border-image-source: url(../images/border_img.png);
      border-image-repeat: repeat;
      border-image-slice: 5; }
  .our-team-area .single-team .hover-text {
    position: absolute;
    left: 40px;
    bottom: 30px;
    -webkit-transition: all 0.4s linear 0s;
    -o-transition: all 0.4s linear 0s;
    transition: all 0.4s linear 0s;
    opacity: 0;
    visibility: hidden; }
    .our-team-area .single-team .hover-text h3 {
      font-size: 24px;
      font-weight: 600;
      margin-bottom: 0;
      color: #fff;
      margin-bottom: 5px; }
    .our-team-area .single-team .hover-text p {
      color: #f7f7f7;
      margin-bottom: 0; }
  .our-team-area .single-team .social-links {
    position: absolute;
    top: 30px;
    right: 30px;
    -webkit-transition: all 0.4s linear 0s;
    -o-transition: all 0.4s linear 0s;
    transition: all 0.4s linear 0s;
    opacity: 0;
    visibility: hidden; }
    .our-team-area .single-team .social-links ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      .our-team-area .single-team .social-links ul li a {
        display: inline-block;
        color: #fff;
        padding: 2px;
        font-size: 1.2rem; }
  .our-team-area .single-team:hover .member-thumb:before {
    visibility: visible;
    opacity: 1; }
  .our-team-area .single-team:hover .social-links,
  .our-team-area .single-team:hover .hover-text {
    visibility: visible;
    opacity: 1; }

/************************
14. Start Brands Carousel
***************************/
.brands-carousel {
  overflow: hidden; }

.brands-wrapper .slick-list:focus,
.brands-wrapper .slick-slider:focus,
.brands-wrapper .slick-track:focus {
  outline: none; }

.brands-wrapper .slick-slide {
  margin: 0 50px; }
  @media (max-width: 768px) {
    .brands-wrapper .slick-slide {
      margin: 0 25px; } }
  @media (max-width: 575px) {
    .brands-wrapper .slick-slide {
      margin: 0 20px; } }
  .brands-wrapper .slick-slide:focus {
    outline: 0; }

.brands-wrapper .slick-list {
  margin: 0 -50px; }
  @media (max-width: 768px) {
    .brands-wrapper .slick-list {
      margin: 0 25px; } }
  @media (max-width: 575px) {
    .brands-wrapper .slick-list {
      margin: 0 20px; } }

.brands-wrapper .slick-track:focus {
  outline: 0; }

.post-tag {
  display: inline-block;
  font-size: 13px;
  text-transform: uppercase;
  padding: 5px 15px;
  border-radius: 5px;
  background-color: #ff8b45; }
  .post-tag a {
    color: #fff;
    text-decoration: none; }
    .post-tag a:hover {
      text-decoration: none; }

/*********************************
index -3
************************************/
/*************************************
15. Start Header 3
**************************************/
.header-area-3 .contact-list ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .header-area-3 .contact-list ul li {
    display: inline-block;
    border-right: 1px solid #dee2e6;
    padding: 10px 20px; }
    @media (min-width: 992px) and (max-width: 1230px) {
      .header-area-3 .contact-list ul li {
        padding: 10px;
        font-size: 14px; } }
    .header-area-3 .contact-list ul li a {
      display: inline-block;
      color: #656565;
      text-decoration: none; }
      .header-area-3 .contact-list ul li a:hover {
        text-decoration: none;
        color: #ff8b45; }
      .header-area-3 .contact-list ul li a span {
        color: #ff8b45;
        padding-right: 10px; }
        @media (min-width: 992px) and (max-width: 1230px) {
          .header-area-3 .contact-list ul li a span {
            padding-right: 5px; } }
    .header-area-3 .contact-list ul li span {
      color: #ff8b45;
      padding-right: 10px; }
      @media (min-width: 992px) and (max-width: 1230px) {
        .header-area-3 .contact-list ul li span {
          padding-right: 5px; } }

.header-area-3 .social-profiles-2 ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .header-area-3 .social-profiles-2 ul li {
    display: inline-block; }
    .header-area-3 .social-profiles-2 ul li:last-child {
      padding-right: 10px; }
    .header-area-3 .social-profiles-2 ul li a {
      display: inline-block;
      color: #656565;
      padding: 10px; }
      @media (min-width: 992px) and (max-width: 1230px) {
        .header-area-3 .social-profiles-2 ul li a {
          padding: 10px 5px;
          font-size: 14px; } }

@media (min-width: 992px) {
  .header-area-3 .main-menu-area {
    border-left: 1px solid #dee2e6; } }

.header-area-3 .main-menu-area nav ul li.active a {
  color: #f4772a; }
  .header-area-3 .main-menu-area nav ul li.active a:before {
    content: "";
    position: absolute;
    left: 15%;
    bottom: -22px;
    width: 75%;
    margin: 0 auto;
    height: 2px;
    background-color: #f4772a; }

.header-area-3 .main-menu-area nav ul li a {
  position: relative;
  color: #001659;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  padding: 0 15px !important;
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s; }
  .header-area-3 .main-menu-area nav ul li a:hover {
    color: #f4772a; }
    .header-area-3 .main-menu-area nav ul li a:hover:before {
      content: "";
      position: absolute;
      left: 15%;
      bottom: -22px;
      width: 75%;
      margin: 0 auto;
      height: 2px;
      background-color: #f4772a; }

.header-area-3 .main-menu-area nav .dropdown-menu {
  border-radius: 0; }
  .header-area-3 .main-menu-area nav .dropdown-menu li.active a:before {
    content: none; }
  .header-area-3 .main-menu-area nav .dropdown-menu li a {
    color: #001659;
    padding: 6px 15px !important;
    text-transform: capitalize;
    font-weight: 400; }
    .header-area-3 .main-menu-area nav .dropdown-menu li a:before {
      content: none !important; }

.header-area-3 .main-menu-area .extended-menu ul li a {
  font-size: 25px; }
  .header-area-3 .main-menu-area .extended-menu ul li a:hover:before {
    content: none; }
  .header-area-3 .main-menu-area .extended-menu ul li a:before {
    content: none; }

@media (min-width: 768px) and (max-width: 991px) {
  .header-area-3 .main-menu-area .nav-wrapper {
    background-color: #f3f3f3;
    padding: 15px;
    margin-top: 15px; }
  .header-area-3 .main-menu-area nav ul li a {
    padding: 6px 10px !important; }
    .header-area-3 .main-menu-area nav ul li a:before {
      content: none; }
    .header-area-3 .main-menu-area nav ul li a:hover:before {
      content: none !important; }
  .header-area-3 .main-menu-area nav ul li.active a:before {
    content: none !important; } }

@media (max-width: 768px) {
  .header-area-3 .main-menu-area .nav-wrapper {
    background-color: #f3f3f3;
    padding: 15px;
    margin-top: 15px; }
  .header-area-3 .main-menu-area nav ul li a {
    padding: 6px 10px !important; }
    .header-area-3 .main-menu-area nav ul li a:before {
      content: none; }
    .header-area-3 .main-menu-area nav ul li a:hover:before {
      content: none !important; }
  .header-area-3 .main-menu-area nav ul li.active a:before {
    content: none !important; } }

@media (max-width: 575px) {
  .header-area-3 .main-menu-area .nav-wrapper {
    background-color: #ddd;
    padding: 15px;
    margin-top: 15px; }
  .header-area-3 .main-menu-area nav ul li a {
    padding: 6px 10px !important; }
    .header-area-3 .main-menu-area nav ul li a:before {
      content: none; }
    .header-area-3 .main-menu-area nav ul li a:hover:before {
      content: none !important; }
  .header-area-3 .main-menu-area nav ul li.active a:before {
    content: none !important; } }

.header-area-3 .header-top ul li a {
  font-weight: 400; }

.header-area-3 .navbar-toggler:focus {
  outline: 0;
  border-color: #001659;
  box-shadow: none;
  border-radius: 0; }

/**************************
16. Start Hero Area 3
***************************/
.hero-area-3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100vh;
  background-size: cover;
  overflow: hidden;
  background-attachment: fixed; }
  .hero-area-3 .hero-text p {
    margin-bottom: 0;
    font-size: 20px;
    color: #fff;
    font-weight: 300;
    line-height: 1.7em; }

.multistep-form .form-header {
  background-color: #001659;
  color: #fff;
  border-top: 9px solid #f4772a; }
  .multistep-form .form-header h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 0; }
    @media (min-width: 992px) and (max-width: 1230px) {
      .multistep-form .form-header h2 {
        font-size: 24px; } }
    @media (min-width: 768px) and (max-width: 991px) {
      .multistep-form .form-header h2 {
        font-size: 24px; } }
    @media (max-width: 768px) {
      .multistep-form .form-header h2 {
        font-size: 22px; } }
    @media (max-width: 575px) {
      .multistep-form .form-header h2 {
        font-size: 20px; } }

.multistep-form .progress_step {
  position: absolute;
  top: 140px;
  left: 10px; }
  @media (min-width: 992px) and (max-width: 1230px) {
    .multistep-form .progress_step {
      top: 125px; } }
  @media (min-width: 768px) and (max-width: 991px) {
    .multistep-form .progress_step {
      top: 105px; } }
  @media (max-width: 768px) {
    .multistep-form .progress_step {
      top: 122px; } }
  @media (max-width: 575px) {
    .multistep-form .progress_step {
      top: 122px; } }
  .multistep-form .progress_step:after {
    content: "";
    position: absolute;
    left: 18%;
    top: 22%;
    width: 60%;
    height: 4px;
    background-color: #dcdcdc; }

.multistep-form .form-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%; }

.multistep-form .form-footer-text p {
  margin-bottom: 0;
  font-family: "Rubik", sans-serif; }

.multistep-form .action-button {
  background-color: #f4772a;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 15px 20px;
  border: 0;
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s;
  text-transform: uppercase;
  font-weight: 500;
  width: 100%; }

.multistep-form .input-group {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #dee2e6; }
  .multistep-form .input-group:last-child {
    border-bottom: 0; }

.multistep-form .input-group-icon .form-check-input[type="checkbox"] {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  padding: 0;
  background-color: #dcdcdc;
  border-color: #dcdcdc;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e"); }

.multistep-form .input-group-icon .form-check-input:checked[type="checkbox"] {
  background-color: #f4772a; }

.multistep-form input:focus {
  border-color: #f4772a;
  -webkit-box-shadow: none;
  box-shadow: none; }

.multistep-form label {
  cursor: pointer;
  text-transform: uppercase;
  color: #656565;
  font-weight: 500;
  font-size: 14px; }
  .multistep-form label span {
    padding-left: 10px; }
  .multistep-form label img {
    max-width: 30px; }

/*****************************
17. Start Services Area 3
******************************/
.service-section-3 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .service-section-3 p {
    color: #92a4d9;
    margin-bottom: 0; }

@media (max-width: 575px) {
  .services-area .filter-wrapper {
    padding-left: 0.7rem; } }

/********************************
 About Page
***********************************/
/********************************
18. Start Hero Area -4
*********************************/
.hero-area-4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/********************************
19. Start Company Info Area
*******************************/
.accordion-button::after {
  content: "\f067";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  background-image: none; }

.accordion-button:not(.collapsed)::after {
  content: "\f068";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  background-image: none; }

.skills-wrapper .progress {
  background-color: #f4f4f4;
  border-radius: 50px;
  height: 1.4rem;
  border: 2px solid #e7e7e7; }

.skills-wrapper .progress-bar {
  height: 1rem;
  border-radius: 50px;
  margin: 4px;
  background-color: #fd7b2c; }

.skills-wrapper .progress-info {
  font-size: 1rem; }
  .skills-wrapper .progress-info .skill-name {
    color: #001659;
    font-weight: 500; }

.custom-tabs-wrapper .accordion-button {
  border-bottom-width: 1px;
  padding: 0;
  background-color: #fff;
  overflow: hidden; }
  .custom-tabs-wrapper .accordion-button.collapsed {
    background-color: #ececec; }
  .custom-tabs-wrapper .accordion-button span {
    color: #001659;
    font-weight: 500;
    padding-left: 15px;
    font-size: 1rem; }
  .custom-tabs-wrapper .accordion-button:after {
    width: 60px;
    height: 60px;
    line-height: 60px;
    color: #999999;
    background-color: #fff;
    overflow: hidden;
    border-right: 1px solid rgba(0, 0, 0, 0.125); }
  .custom-tabs-wrapper .accordion-button:focus {
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-color: rgba(0, 0, 0, 0.125); }

.custom-tabs-wrapper .accordion-collapse {
  border-width: 0 1px 1px 1px !important; }

/***************************
20. Start Pricing Area
*******************************/
.single-pricing {
  border: 2px dashed #d9d9d9;
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s; }
  .single-pricing .pricing-header h2 {
    font-size: 4.5rem;
    font-weight: 600;
    color: #fd5c2c;
    margin-bottom: 0; }
  .single-pricing .pricing-header span {
    color: #fd5c2c;
    font-weight: 600;
    font-size: 1.2rem; }
  .single-pricing .pricing-body ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .single-pricing .pricing-body ul li {
      padding: 5px 0;
      font-weight: 500; }
      .single-pricing .pricing-body ul li:last-child {
        padding-bottom: 0; }
  .single-pricing:hover {
    background-color: #fd5c2c;
    color: #fff;
    border-color: #fd5c2c; }
    .single-pricing:hover .pricing-header h2,
    .single-pricing:hover .pricing-header span {
      color: #fff; }
    .single-pricing:hover .custom-btn {
      background-color: #fff;
      color: #fd5c2c; }
  .single-pricing.active {
    background-color: #fd5c2c;
    color: #fff;
    border-color: #fd5c2c; }
    .single-pricing.active .pricing-header h2,
    .single-pricing.active .pricing-header span {
      color: #fff; }
    .single-pricing.active .custom-btn {
      background-color: #fff;
      color: #fd5c2c; }

/************************
21. Start Google Map
*************************/
.gmap-wrapper iframe {
  width: 100%;
  height: 500px; }

/********************
22. Start Contact Information
********************************/
.contact-text p {
  margin-bottom: 6px; }

.contact-text i {
  padding-right: 5px;
  font-size: 14px; }

.contact-text a {
  color: #ff8b45;
  text-decoration: none; }

/******************************
23. Start Contact Form 
******************************/
.contact-form form label {
  font-size: 1.2rem;
  color: #001659;
  margin-bottom: 10px; }

.contact-form form input,
.contact-form form select {
  height: 60px;
  border-radius: 0; }
  .contact-form form input.form-control,
  .contact-form form select.form-control {
    border-color: #d6dde2; }
  .contact-form form input:focus,
  .contact-form form select:focus {
    -webkit-box-shadow: none;
    box-shadow: none; }

.contact-form form textarea {
  border-color: #d6dde2; }
  .contact-form form textarea:focus {
    -webkit-box-shadow: none;
    box-shadow: none; }

.contact-form form button[type="submit"] {
  border: 0;
  width: 100%;
  padding: 20px 0;
  background-color: #fd5c2c;
  color: #fff;
  font-size: 1.2rem; }

/**************************
24. blog page 
*************************/
.pagination-wrapper .pagination {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  .pagination-wrapper .pagination li {
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-color: #dfdfdf;
    margin: 0 5px; }
    .pagination-wrapper .pagination li a {
      padding: 0;
      margin: 0;
      color: #656565;
      -webkit-transition: all 0.4s linear 0s;
      -o-transition: all 0.4s linear 0s;
      transition: all 0.4s linear 0s;
      text-align: center; }
      .pagination-wrapper .pagination li a:hover {
        background-color: #f4772a;
        color: #fff; }
      .pagination-wrapper .pagination li a.active {
        background-color: #f4772a;
        color: #fff; }

/*********************************
25. blog left sidebar
********************************/
/********************
16. sidebar
*************************/
.search-widget .form-group {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .search-widget .form-group input[type="search"] {
    height: 60px;
    padding-left: 20px;
    border-radius: 0; }
    .search-widget .form-group input[type="search"]:focus {
      -webkit-box-shadow: none;
      box-shadow: none; }
  .search-widget .form-group button[type="submit"] {
    border: 0;
    background-color: transparent;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .search-widget .form-group button[type="submit"] i {
      color: #999999; }

.news-widget-content .single-news {
  border-bottom: 1px dashed #999999; }
  .news-widget-content .single-news:last-child {
    border-bottom: 0; }

.news-widget-content .news-thumb a img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  -o-object-fit: cover;
  object-fit: cover; }

.news-widget-content .news-content span {
  display: block;
  color: #ff8b45; }

.news-widget-content .news-content p {
  margin-bottom: 5px; }
  .news-widget-content .news-content p a {
    color: #656565;
    -webkit-transition: all 0.4s linear 0;
    -o-transition: all 0.4s linear 0;
    transition: all 0.4s linear 0;
    text-decoration: none;
    font-size: 1rem; }
    .news-widget-content .news-content p a:hover {
      color: #ff8b45; }

.social-widget ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .social-widget ul li {
    display: inline-block;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 32px;
    text-align: center; }
    .social-widget ul li.active {
      background-color: #ff8b45; }
      .social-widget ul li.active a {
        color: #fff; }
    .social-widget ul li:hover {
      background-color: #ff8b45; }
      .social-widget ul li:hover a {
        color: #fff; }
    .social-widget ul li a {
      display: inline-block;
      color: #8a8fa6;
      padding: 5px;
      font-size: 1.2rem;
      text-align: center; }

.meta-widget ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .meta-widget ul li a {
    display: block;
    color: #656565;
    text-decoration: none;
    padding: 15px 0;
    border-bottom: 1px dashed #999999;
    -webkit-transition: all 0.4s linear 0s;
    -o-transition: all 0.4s linear 0s;
    transition: all 0.4s linear 0s; }
    .meta-widget ul li a i {
      padding-right: 5px; }
    .meta-widget ul li a:hover {
      color: #ff8b45; }
  .meta-widget ul li:last-child a {
    border-bottom: 0; }
  .meta-widget ul li:first-child a {
    padding-top: 0; }

.category-widget ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/************************************* 
17. blog left sidebar
**************************************/
.blog-list-2 .post-content {
  width: 92%;
  margin: 0 auto;
  padding: 10px 30px 30px 30px;
  -webkit-transform: translateY(-60px);
  -ms-transform: translateY(-60px);
  transform: translateY(-60px);
  background-color: #fff; }
  @media (max-width: 768px) {
    .blog-list-2 .post-content {
      padding: 10px 20px 20px 20px; }
      .blog-list-2 .post-content .blog-meta {
        font-size: 14px; } }

.blockquote-wrapper {
  border: 1px dashed #999999; }

.blockquote {
  text-decoration: underline;
  font-style: italic;
  font-size: 1.1rem; }

.blockquote-footer {
  font-size: 1.2rem;
  font-weight: 600;
  font-style: italic;
  color: #ff8b45; }
  .blockquote-footer:before {
    color: #ff8b45; }

.post-pagination .pagi-btn {
  border: 2px solid #ff8b45;
  padding: 20px 0;
  color: #001659;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 1rem;
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s; }
  .post-pagination .pagi-btn:hover {
    color: #fff;
    background-color: #ff8b45; }
  .post-pagination .pagi-btn.active {
    color: #fff;
    background-color: #ff8b45; }

/******************
18. Blog Details
********************/
.comment-text {
  padding-left: 80px; }
  .comment-text p {
    margin-bottom: 0; }

.reply-btn a {
  color: #adadad;
  text-decoration: none;
  font-weight: 500; }
  .reply-btn a:hover {
    color: #ff8b45; }
  .reply-btn a i {
    color: #ff8b45; }

.comments-wrapper .single-comment {
  border-bottom: 1px dashed #999999; }
  .comments-wrapper .single-comment:last-child {
    border-bottom: 0; }

.author-name a {
  color: #001659;
  font-weight: 600;
  font-family: "Rubik", sans-serif; }

.author-name span {
  font-size: 15px; }

/****************************
19. services page
****************************/
.services-area .single-service {
  -webkit-transition: all 0.4s linear 0s;
  -o-transition: all 0.4s linear 0s;
  transition: all 0.4s linear 0s; }
  .services-area .single-service:hover {
    background-color: #ff8b45 !important;
    color: #fff; }
    .services-area .single-service:hover p {
      color: #fff; }
    .services-area .single-service:hover .heading-3 {
      color: #fff; }
    .services-area .single-service:hover .read-more-btn {
      color: #fff; }
    .services-area .single-service:hover .icon-container img {
      -webkit-filter: brightness(0) invert(1);
      filter: brightness(0) invert(1); }

/*****************************
20. Investor page
******************************/
.investor-pricing-wrapper .investor-pricing h2 {
  font-size: 30px;
  font-weight: 400; }
  .investor-pricing-wrapper .investor-pricing h2.text-bold {
    font-weight: 500; }

.investor-pricing-wrapper .change-btn h2 {
  display: inline-block;
  margin-bottom: 0;
  font-size: 30px; }

.investor-pricing-wrapper .change-btn button {
  background-color: transparent;
  border: 0;
  color: #fff; }
  .investor-pricing-wrapper .change-btn button:focus {
    outline: 0;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .investor-pricing-wrapper .change-btn button i {
    font-size: 25px; }

.subscribe-widget input[type="Email"] {
  height: 60px;
  border-radius: 0;
  padding-left: 20px; }

.press-area {
  overflow: hidden; }

.single-press {
  width: 100%;
  overflow: hidden; }
  .single-press .press-content p {
    margin-bottom: 5px; }
  .single-press .press-icon a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #656565;
    text-decoration: none;
    text-transform: uppercase; }
    .single-press .press-icon a:hover {
      color: #001659; }
  .single-press .heading-5-alt a {
    -webkit-transition: all 0.4 linear 0s;
    -o-transition: all 0.4 linear 0s;
    transition: all 0.4 linear 0s; }
    .single-press .heading-5-alt a:hover {
      text-decoration: underline;
      color: #001659; }
  .single-press:hover {
    -webkit-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }

.download-link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  color: #fff; }

.download-link img {
  padding-right: 10px; }

.ebook-info h3 {
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 500; }

.ebook-info p {
  margin-bottom: 0; }

/****************************
21. subcontractor page
*****************************/
.plane-text-wrapper p {
  margin-bottom: 0; }

.text-widget p {
  margin-bottom: 0; }

.video-wrapper {
  position: relative; }
  .video-wrapper .play-btn {
    position: absolute;
    bottom: 0;
    left: 0; }
    .video-wrapper .play-btn a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 30px 60px;
      text-decoration: none; }
      .video-wrapper .play-btn a i {
        font-size: 2rem;
        padding-right: 20px; }
      .video-wrapper .play-btn a:hover {
        color: #ddd; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwicGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwicGFydGlhbHMvX2RlZmF1bHQuc2NzcyIsInBhcnRpYWxzL19tZWRpYV9xdWVyeS5zY3NzIiwicGFydGlhbHMvX3ByZWZpeC5zY3NzIiwicGFydGlhbHMvX25hdmlnYXRpb24uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblRlbXBsYXRlIG5hbWU6IENvbnN0cmF0YVxyXG5UZW1wbGF0ZSBVUkk6IGh0dHBzOi8vY29uc3RyYXRhaHRtbC5uZXRsaWZ5LmFwcFxyXG5BdXRob3IgTmFtZTogVG9ydG9penRoZW1lXHJcbkF1dGhvciBVUkk6IFxyXG5UYWc6IE1vZGVybiwgQWdlbmN5LCBCdXNpbmVzc1xyXG5WZXJzb246IDEuMC4wXHJcbkRlc2NyaXB0aW9uOiBDb25zdHJhdGEgaXMgYSByZXNwb25zaXZlIGh0bWw1IG11bHRpcHVycG9zZSB0ZW1wbGF0ZSAgICBcclxuXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DU1MgSW5kZXggXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVBvcHBpbnM6d2dodEAzMDA7NDAwOzUwMDs2MDA7ODAwJmZhbWlseT1SdWJpazppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw1MDA7MSw0MDA7MSw1MDAmZGlzcGxheT1zd2FwXCIpO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9kZWZhdWx0XCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9tZWRpYV9xdWVyeVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvcHJlZml4XCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9uYXZpZ2F0aW9uXCI7XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbiAwMS4gR2xvYmFsIFN0eWxlXHJcbioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogJGZvbnRfMjtcclxuICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbn1cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiB7XHJcbiAgZm9udC1mYW1pbHk6ICRkZWZhdWx0X2ZvbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAwMi4gaGVhZGVyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLm1haW4tbWVudSB7XHJcbiAgbmF2IHtcclxuICAgIHVsIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICR3aGl0ZV8yO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRkZWZhdWx0X2ZvbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IC00MXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXI7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIDBzO1xyXG4gICAgICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhciAwcztcclxuICAgICAgICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRob3ZlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDE1JTtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpbmNsdWRlIHhsX2xhcmdlXzIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgIC5zZWFyY2gtaWNvbiB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC5zZWFyY2gtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGhvdmVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgbGVmdDogMTUlO1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLm5hdmJhciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuICAuZXh0ZW5kZWQtbWVudSB7XHJcbiAgICB1bCB7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VhcmNoLWJ0biB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGVfMjtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBAaW5jbHVkZSB4bF9sYXJnZV8yIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5uYXZiYXItbmF2IHtcclxuICAgICAgQGluY2x1ZGUgbGFyZ2Uge1xyXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5kcm9wZG93bi1tZW51IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTJweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjA5cmVtO1xyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMDlyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xyXG4gICAgLm5hdi13cmFwcGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgLm5hdi13cmFwcGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgLm5hdi13cmFwcGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgMDMuIGhlcm8gYXJlYSBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmhlcm8tYXJlYSB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdCAxMTZweDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICYuaGVpZ2h0LTcwMCB7XHJcbiAgICAgIGhlaWdodDogNjUwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAmLmhlaWdodC03MDAge1xyXG4gICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuaGVyby10ZXh0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XHJcbiAgICBAaW5jbHVkZSB4bF9sYXJnZV8yIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgY3VzdG9tX21lZGl1bSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdCA1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0IDA7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdCAwO1xyXG4gIH1cclxufVxyXG5cclxuLmZlYXR1cmUtdGV4dCB7XHJcbiAgLnRleHQtd3JhcHBlciB7XHJcbiAgICBwIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKipcclxuMDQuIExhdGVzdCBQcm9qZWN0c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLnBvcnRmb2xpby13cmFwcGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLnNpbmdsZS1wb3J0Zm9saW8ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICA+IGEge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LWhlaWdodDogNDIwcHg7XHJcbiAgICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlbWlfaG92ZXJfMywgMC44KTtcclxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7XHJcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhciAwcztcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIDBzO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wbHVzLWJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogOTBweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA4NXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICB3aWR0aDogNTVweDtcclxuICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuaG92ZXItdGV4dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBoMiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRkZWZhdWx0X2ZvbnQ7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAuaG92ZXItdGV4dCB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAucGx1cy1idG4ge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbiAgICA+IGEge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5wcm9qZWN0cy1hcmVhIHtcclxuICAubmF2LXRhYnMge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGxhcmdlIHtcclxuICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xyXG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbiAgICAubmF2LWxpbmsge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xyXG4gICAgICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgICAgIEBpbmNsdWRlIGRlc2t0b3Age1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgIH1cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjA1LiBUZXN0aW1vbmlhbHMgYXJlYVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4udGVzdGltb25pYWxzLWFyZWEge1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodCAxMDBweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIEBpbmNsdWRlIGRlc2t0b3Age1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLnRlc3RpbW9uaWFsLWltZyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zbGljay1kb3R0ZWQge1xyXG4gICAgICAmLnNsaWNrLXNsaWRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLnRlc3RpbW9uaWFsLWltZyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zbGljay1kb3R0ZWQge1xyXG4gICAgICAmLnNsaWNrLXNsaWRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLnRlc3RpbW9uaWFsLWltZyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zbGljay1kb3R0ZWQge1xyXG4gICAgICAmLnNsaWNrLXNsaWRlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuYXV0aG9yLWltZyB7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICBib3JkZXI6IDQwcHggc29saWQgJHNlbWlfd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zbGlkZXItdHdvIHtcclxuICBcdEBpbmNsdWRlIGRlc2t0b3Age1xyXG4gIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gIFx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgXHRcdC5wci0xMDAge1xyXG4gIFx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudDtcclxuICBcdFx0fVxyXG4gIFx0XHQuc2xpY2stZG90cyB7XHJcbiAgXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuICBcdFx0fVxyXG4gIFx0fVxyXG4gIFx0QGluY2x1ZGUgdGFibGV0IHtcclxuICBcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICBcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gIFx0XHQucHItMTAwIHtcclxuICBcdFx0XHRwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgXHRcdH1cclxuICBcdFx0LnNsaWNrLWRvdHMge1xyXG4gIFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcbiAgXHRcdH1cclxuICBcdH1cclxuICBcdEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgXHRcdHBhZGRpbmctbGVmdDogMzBweDtcclxuICBcdFx0LnByLTEwMCB7XHJcbiAgXHRcdFx0cGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gIFx0XHR9XHJcbiAgXHRcdC5zbGljay1kb3RzIHtcclxuICBcdFx0XHRkaXNwbGF5OiBub25lO1xyXG4gIFx0XHR9XHJcbiAgXHR9XHJcbiAgfVxyXG59XHJcblxyXG4udGVzdGltb25pYWwtc2xpZGVyIHtcclxuICAuc2xpY2stc2xpZGUge1xyXG4gICAgbWFyZ2luOiAwIDI1cHg7XHJcbiAgfVxyXG4gIC5zbGljay1saXN0IHtcclxuICAgIG1hcmdpbjogMCAtMjVweDtcclxuICB9XHJcbiAgLnRlc3RpbW9uaWFsLXF1b3RlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcXGYxMGRcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IC00MHB4O1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgY29sb3I6ICRkYXJrXzI7XHJcbiAgICB9XHJcbiAgICAucXVvdGUtYmlvIHtcclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBiIHtcclxuICAgICAgICAgIGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnRlc3RpbW9uaWFsLXF1b3RlLTIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlxcZjEwZFwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogLTQwcHg7XHJcbiAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICBjb2xvcjogI2ZlYjA4MDtcclxuICAgIH1cclxuICAgIC5xdW90ZS1iaW8ge1xyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGIge1xyXG4gICAgICAgICAgY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4udGVzdGltb25pYWwtYXJlYS0yIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5zbGlkZXItb25lIHtcclxuICAuc2xpY2stZG90cyB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfMztcclxuICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zbGlkZXItdHdvIHtcclxuICAuc2xpY2stZG90cyB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGVmdDogMjUlO1xyXG4gICAgdG9wOiA2OCU7XHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjYWFiO1xyXG4gICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICYuc2xpY2stYWN0aXZlIHtcclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAudGVzdGltb25pYWwtaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKipcclxuMDYuIFN0YXJ0IEJsb2dzIEFyZWFcclxuKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5hdXRob3ItaW5mbyB7XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5wb3N0LWRhdGUge1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuMDcuIFN0YXJ0IFR3byBDb2x1bW5zIEFyZWFcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnR3by1jb2x1bW5zLWFyZWEge1xyXG4gIGJhY2tncm91bmQtc2l6ZTogNTUlIDEwMCU7XHJcbiAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogNzAlIDEwMCU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJSAxMDAlO1xyXG4gIH1cclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcclxufVxyXG4udHdvLWNvbHVtbnMtY29udGVudCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgcCB7XHJcbiAgICBjb2xvcjogJHNlbWlfaG92ZXI7XHJcbiAgfVxyXG59XHJcbi50d28tY29sdW1ucy1hcmVhLTMge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKipcclxuMDguIEZvb3RlclxyXG4qKioqKioqKioqKioqKioqKioqKioqKi9cclxuLmNvbnRhY3QtbnVtYmVyIHtcclxuICBzcGFuIHtcclxuICAgIGNvbG9yOiAkZGFya180O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAtMTVweDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMnB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmNvcHlyaWdodC10ZXh0IHtcclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBjb2xvcjogJGRhcmtfNDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi53aWRnZXQtbWVudSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBsaSB7XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDhweCAwO1xyXG4gICAgICBjb2xvcjogJGRhcmtfNDtcclxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ud2l0aC1pY29uIHtcclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHNwYW4ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gICAgICBjb2xvcjogJGRhcmtfNDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uZm9vdGVyLXdpZGdldCB7XHJcbiAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcclxuICB9XHJcbiAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICB9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuaW5kZXggLTJcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4wOS4gU3RhcnQgSGVhZGVyIC0yIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5sb2dvLWFyZWEtMiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuMTAuIFN0YXJ0IEhlcm8gQXJlYSAyIFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5oZXJvLWFyZWEtMiB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiA1MCUgMTAwJTtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcclxuICBtaW4taGVpZ2h0OiA0NTBweDtcclxuICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMDtcclxuICB9XHJcbiAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMDtcclxuICB9XHJcbiAgLmNvbC1sZy02IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgLmJ1dHRvbi13cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVyby1kZXNjIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBzcGFuIHtcclxuICAgICAgY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgY29sb3I6ICRkYXJrXzU7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG59XHJcbi5iaWctcGxheS1idXR0b24ge1xyXG4gIHdpZHRoOiAxMzBweDtcclxuICBoZWlnaHQ6IDEzMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBib3JkZXItd2lkdGg6IDI1cHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6IHJnYmEoJHdoaXRlLCAwLjE5KTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBhIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7IFxyXG4gIH1cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG4gIGkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTVweDtcclxuICAgIHRvcDogLTVweDtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDg5cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjQ3NzJhO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIH1cclxufVxyXG4uaGVyby1hcmVhLTIge1xyXG4gIC5iaWctcGxheS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDMwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjExLiBTdGFydCBMYXRlc3QgUHJvamVjdHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5ib3R0b20tc2hhZG93IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgkYmxhY2ssIDAuOTUpKSwgdG8ocmdiYSgkd2hpdGUsIDAuMDkpKSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKCRibGFjaywgMC45NSksIHJnYmEoJHdoaXRlLCAwLjA5KSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCRibGFjaywgMC45NSksIHJnYmEoJHdoaXRlLCAwLjA5KSk7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uc2VydmljZS1pdGVtLXdyYXBwZXIge1xyXG4gIC5zaW5nbGUtdGFiLXRleHQge1xyXG4gICAgaDMge1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICB9XHJcbiAgLnNpbmdsZS10YWItaW1hZ2Uge1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5ob3Zlcl90ZXh0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMzBweDtcclxuICAgIGxlZnQ6IDQ1cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIEBpbmNsdWRlIGRlc2t0b3Age1xyXG4gICAgICBib3R0b206IDgwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICBib3R0b206IDgwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICBib3R0b206IDgwcHg7XHJcbiAgICB9XHJcbiAgICBoNiB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zZXJ2aWNlLXRhYi1jb250ZW50IHtcclxuICAudGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIC50YWItY29udGVudCA+IC5hY3RpdmUge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gIH1cclxuICAuc2xpY2stbmV4dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNGM5Yzk7XHJcbiAgICBjb2xvcjogI2Q0YzljOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyZW07XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgICAgIGxlZnQ6IDkwcHg7XHJcbiAgICAgIGJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgIGxlZnQ6IDkwcHg7XHJcbiAgICAgIGJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgIGxlZnQ6IDkwcHg7XHJcbiAgICAgIGJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zbGljay1wcmV2IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q0YzljOTtcclxuICAgIGNvbG9yOiAjZDRjOWM5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgICAgbGVmdDogNDBweDtcclxuICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgICAgbGVmdDogNDBweDtcclxuICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgbGVmdDogNDBweDtcclxuICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLnBvcnRmb2xpby1zbGlkZXIge1xyXG4gIC5zbGljay1zbGlkZSB7XHJcbiAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjEyLiBTdGFydCBUZXN0aW1vbmlhbHMgQXJlYSAyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4ucmF0aW5nLWxpc3Qge1xyXG4gIG1hcmdpbi1ib3R0b206IDVweDtcclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBjb2xvcjogJGhvdmVyXzI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5hdXRob3ItYmlvIHtcclxuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuLmF1dGhvci1kZXNpZ25hdGlvbiB7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgaDYge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB9XHJcbn1cclxuLnRlc3RpbW9uaWFsLXRleHQge1xyXG4gIHAge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxufVxyXG4udGVzdGltb25pYWwtd3JhcHBlci0yIHtcclxuICAuc2xpY2stc2xpZGUge1xyXG4gICAgbWFyZ2luOiAwIDI1cHg7XHJcbiAgfVxyXG4gIC5zbGljay1saXN0IHtcclxuICAgIG1hcmdpbjogMCAtMjVweDtcclxuICB9XHJcbiAgLnNpbmdsZS10ZXN0aW1vbmlhbCB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4xMy4gU3RhcnQgUHJvamVjdHMgQ291bnRkb3duXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5zaW5nbGUtY291bnRkb3duIHtcclxuICAuY291bnRkb3duLWluZm8ge1xyXG4gICAgaDMge1xyXG4gICAgICBmb250LXNpemU6IDQ1cHg7XHJcbiAgICAgIGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pY29uLXJvdW5kIHtcclxuICAgIHdpZHRoOiAxNDBweDtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyaztcclxuICAgIGxpbmUtaGVpZ2h0OiAxNDNweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgaSB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA5MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2VtaV9ob3ZlcjtcclxuICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlcixcclxuICAmLmFjdGl2ZSB7XHJcbiAgICAuaWNvbi1yb3VuZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICAgICAgaSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb3VudGRvd24taW5mbyB7XHJcbiAgICAgIGgzLFxyXG4gICAgICBwIHtcclxuICAgICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ub3VyLXRlYW0tYXJlYSB7XHJcbiAgLnNpbmdsZS10ZWFtIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC5tZW1iZXItdGh1bWIge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHNlbWlfaG92ZXJfMywgMC44KTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICB9XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWFnZXMvYm9yZGVyX2ltZy5wbmcpO1xyXG4gICAgICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHJlcGVhdDtcclxuICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5ob3Zlci10ZXh0IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiA0MHB4O1xyXG4gICAgICBib3R0b206IDMwcHg7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgfVxyXG4gICAgICBwIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlXzM7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNvY2lhbC1saW5rcyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAzMHB4O1xyXG4gICAgICByaWdodDogMzBweDtcclxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLm1lbWJlci10aHVtYiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5zb2NpYWwtbGlua3MsXHJcbiAgICAgIC5ob3Zlci10ZXh0IHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKipcclxuMTQuIFN0YXJ0IEJyYW5kcyBDYXJvdXNlbFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5icmFuZHMtY2Fyb3VzZWwge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLmJyYW5kcy13cmFwcGVyIHtcclxuICAuc2xpY2stbGlzdDpmb2N1cyxcclxuICAuc2xpY2stc2xpZGVyOmZvY3VzLFxyXG4gIC5zbGljay10cmFjazpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuICAuc2xpY2stc2xpZGUge1xyXG4gICAgbWFyZ2luOiAwIDUwcHg7XHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICBtYXJnaW46IDAgMjVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zbGljay1saXN0IHtcclxuICAgIG1hcmdpbjogMCAtNTBweDtcclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zbGljay10cmFjayB7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wb3N0LXRhZyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHBhZGRpbmc6IDVweCAxNXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG4gIGEge1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbmluZGV4IC0zXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjE1LiBTdGFydCBIZWFkZXIgM1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5oZWFkZXItYXJlYS0zIHtcclxuICAuY29udGFjdC1saXN0IHtcclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRkYXJrXzY7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGxhcmdlXzIge1xyXG4gICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbGFyZ2VfMiB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgY29sb3I6ICRzZW1pX2hvdmVyXzI7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgQGluY2x1ZGUgbGFyZ2VfMiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnNvY2lhbC1wcm9maWxlcy0yIHtcclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdF9jb2xvcjtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICBAaW5jbHVkZSBsYXJnZV8yIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLm1haW4tbWVudS1hcmVhIHtcclxuICAgIEBpbmNsdWRlIGxhcmdlIHtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFya182O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDE1JTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLTIycHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlbWlfaG92ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRkZWZhdWx0X2ZvbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNSU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMnB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmV4dGVuZGVkLW1lbnUge1xyXG4gICAgICB1bCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgIC5uYXYtd3JhcHBlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZV8yO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIFx0Y29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICBcdGEge1xyXG4gICAgICAgICAgXHRcdCY6YmVmb3JlIHtcclxuICAgICAgICAgIFx0XHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIFx0XHR9XHJcbiAgICAgICAgICBcdH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgdGFibGV0IHtcclxuICAgIC5uYXYtd3JhcHBlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZV8yO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIFx0Y29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICBcdGEge1xyXG4gICAgICAgICAgXHRcdCY6YmVmb3JlIHtcclxuICAgICAgICAgIFx0XHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIFx0XHR9XHJcbiAgICAgICAgICBcdH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgbW9iaWxlIHtcclxuICAgIC5uYXYtd3JhcHBlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgbmF2IHtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIFx0Y29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICBcdGEge1xyXG4gICAgICAgICAgXHRcdCY6YmVmb3JlIHtcclxuICAgICAgICAgIFx0XHRcdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIFx0XHR9XHJcbiAgICAgICAgICBcdH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgfVxyXG4gIC5oZWFkZXItdG9wIHtcclxuICAgIHVsIHtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLm5hdmJhci10b2dnbGVyIHtcclxuICBcdCY6Zm9jdXMge1xyXG4gIFx0XHRvdXRsaW5lOiAwO1xyXG4gIFx0XHRib3JkZXItY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gIFx0XHRib3gtc2hhZG93OiBub25lO1xyXG4gIFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG4gIFx0fVxyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjE2LiBTdGFydCBIZXJvIEFyZWEgM1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uaGVyby1hcmVhLTMge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgLmhlcm8tdGV4dCB7XHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS43ZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubXVsdGlzdGVwLWZvcm0ge1xyXG4gIC5mb3JtLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBib3JkZXItdG9wOiA5cHggc29saWQgI2Y0NzcyYTtcclxuICAgIGgyIHtcclxuICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBAaW5jbHVkZSBsYXJnZV8yIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgICAgIFx0Zm9udC1zaXplOiAyNHB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICAgIFx0Zm9udC1zaXplOiAyMnB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgICAgIFx0Zm9udC1zaXplOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wcm9ncmVzc19zdGVwIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTQwcHg7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG4gICAgQGluY2x1ZGUgbGFyZ2VfMiB7XHJcbiAgICBcdHRvcDogMTI1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBkZXNrdG9wIHtcclxuICAgIFx0dG9wOiAxMDVweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgICBcdHRvcDogMTIycHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgXHR0b3A6IDEyMnB4O1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMTglO1xyXG4gICAgICB0b3A6IDIyJTtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrXzc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5mb3JtLWZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC5mb3JtLWZvb3Rlci10ZXh0IHtcclxuICBcdHAge1xyXG4gIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG4gIFx0XHRmb250LWZhbWlseTogJGZvbnRfMjtcclxuICBcdH1cclxuICB9XHJcbiAgLmFjdGlvbi1idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRhcmtfNjtcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pbnB1dC1ncm91cC1pY29uIHtcclxuICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfNztcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya183O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGwzIDNsNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tY2hlY2staW5wdXQ6Y2hlY2tlZFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gICAgfVxyXG4gIH1cclxuICBpbnB1dDpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgfVxyXG4gIGxhYmVsIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgIG1heC13aWR0aDogMzBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjE3LiBTdGFydCBTZXJ2aWNlcyBBcmVhIDNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnNlcnZpY2Utc2VjdGlvbi0zIHtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICBwIHtcclxuICAgIGNvbG9yOiAkZGFya180O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuLnNlcnZpY2VzLWFyZWEge1xyXG4gIC5maWx0ZXItd3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuN3JlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gQWJvdXQgUGFnZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4xOC4gU3RhcnQgSGVybyBBcmVhIC00XHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5oZXJvLWFyZWEtNCB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4xOS4gU3RhcnQgQ29tcGFueSBJbmZvIEFyZWFcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5hY2NvcmRpb24tYnV0dG9uOjphZnRlciB7XHJcbiAgY29udGVudDogXCJcXGYwNjdcIjtcclxuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCI7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uLWJ1dHRvbjpub3QoLmNvbGxhcHNlZCk6OmFmdGVyIHtcclxuICBjb250ZW50OiBcIlxcZjA2OFwiO1xyXG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIjtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuLnNraWxscy13cmFwcGVyIHtcclxuICAucHJvZ3Jlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDEuNHJlbTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICNlN2U3ZTc7XHJcbiAgfVxyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgaGVpZ2h0OiAxcmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIG1hcmdpbjogNHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyXzI7XHJcbiAgfVxyXG4gIC5wcm9ncmVzcy1pbmZvIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIC5za2lsbC1uYW1lIHtcclxuICAgICAgY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uY3VzdG9tLXRhYnMtd3JhcHBlciB7XHJcbiAgLmFjY29yZGlvbi1idXR0b24ge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgICYuY29sbGFwc2VkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYztcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBzcGFuIHtcclxuICAgICAgY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICB3aWR0aDogNjBweDtcclxuICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgY29sb3I6ICM5OTk5OTk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyNSk7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyNSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5hY2NvcmRpb24tY29sbGFwc2Uge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbjIwLiBTdGFydCBQcmljaW5nIEFyZWFcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5zaW5nbGUtcHJpY2luZyB7XHJcbiAgYm9yZGVyOiAycHggZGFzaGVkICRkYXJrXzg7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAucHJpY2luZy1oZWFkZXIge1xyXG4gICAgaDIge1xyXG4gICAgICBmb250LXNpemU6IDQuNXJlbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgY29sb3I6ICRob3ZlcjtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICBjb2xvcjogJGhvdmVyO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgLnByaWNpbmctYm9keSB7XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlcjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAucHJpY2luZy1oZWFkZXIge1xyXG4gICAgICBoMixcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1idG4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGNvbG9yOiAkaG92ZXI7XHJcbiAgICB9XHJcbiAgICBib3JkZXItY29sb3I6ICRob3ZlcjtcclxuICB9XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIC5wcmljaW5nLWhlYWRlciB7XHJcbiAgICAgIGgyLFxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tLWJ0biB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgY29sb3I6ICRob3ZlcjtcclxuICAgIH1cclxuICAgIGJvcmRlci1jb2xvcjogJGhvdmVyO1xyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKlxyXG4yMS4gU3RhcnQgR29vZ2xlIE1hcFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmdtYXAtd3JhcHBlciB7XHJcbiAgaWZyYW1lIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKlxyXG4yMi4gU3RhcnQgQ29udGFjdCBJbmZvcm1hdGlvblxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5jb250YWN0LXRleHQge1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gIH1cclxuICBpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuMjMuIFN0YXJ0IENvbnRhY3QgRm9ybSBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmNvbnRhY3QtZm9ybSB7XHJcbiAgZm9ybSB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dCxcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgJi5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZGRlMjtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q2ZGRlMjtcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3ZlcjtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuMjQuIGJsb2cgcGFnZSBcclxuKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5wYWdpbmF0aW9uLXdyYXBwZXIge1xyXG4gIC5wYWdpbmF0aW9uIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbGkge1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya18yO1xyXG4gICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICBhIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbWlfaG92ZXJfMztcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuMjUuIGJsb2cgbGVmdCBzaWRlYmFyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqXHJcbjE2LiBzaWRlYmFyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uc2VhcmNoLXdpZGdldCB7XHJcbiAgLmZvcm0tZ3JvdXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBpIHtcclxuICAgICAgICBjb2xvcjogIzk5OTk5OTtcclxuICAgICAgfVxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLm5ld3Mtd2lkZ2V0LWNvbnRlbnQge1xyXG4gIC5zaW5nbGUtbmV3cyB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM5OTk5OTk7XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubmV3cy10aHVtYiB7XHJcbiAgICBhIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIC1vLW9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uZXdzLWNvbnRlbnQge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkZGVmYXVsdF9jb2xvcjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zb2NpYWwtd2lkZ2V0IHtcclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzI7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjb2xvcjogIzhhOGZhNjtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5tZXRhLXdpZGdldCB7XHJcbiAgdWwge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbG9yOiAkZGVmYXVsdF9jb2xvcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzk5OTk5OTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBsaW5lYXIgMHM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5jYXRlZ29yeS13aWRnZXQge1xyXG4gIHVsIHtcclxuICAgIGxpIHtcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBcclxuMTcuIGJsb2cgbGVmdCBzaWRlYmFyXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmJsb2ctbGlzdC0yIHtcclxuICAucG9zdC1jb250ZW50IHtcclxuICAgIHdpZHRoOiA5MiU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHggMzBweCAzMHB4IDMwcHg7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNjBweCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweCAyMHB4O1xyXG4gICAgICAuYmxvZy1tZXRhIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ibG9ja3F1b3RlLXdyYXBwZXIge1xyXG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjOTk5OTk5O1xyXG59XHJcblxyXG4uYmxvY2txdW90ZSB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG59XHJcblxyXG4uYmxvY2txdW90ZS1mb290ZXIge1xyXG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIGNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG4gIH1cclxufVxyXG5cclxuLnBvc3QtcGFnaW5hdGlvbiB7XHJcbiAgLnBhZ2ktYnRuIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRzZW1pX2hvdmVyXzI7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBjb2xvcjogJHNlbWlfaG92ZXI7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHMgbGluZWFyIDBzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzI7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqXHJcbjE4LiBCbG9nIERldGFpbHNcclxuKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uY29tbWVudC10ZXh0IHtcclxuICBwYWRkaW5nLWxlZnQ6IDgwcHg7XHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG4ucmVwbHktYnRuIHtcclxuICBhIHtcclxuICAgIGNvbG9yOiAjYWRhZGFkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgIH1cclxuICAgIGkge1xyXG4gICAgICBjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmNvbW1lbnRzLXdyYXBwZXIge1xyXG4gIC5zaW5nbGUtY29tbWVudCB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM5OTk5OTk7XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmF1dGhvci1uYW1lIHtcclxuICBhIHtcclxuICAgIGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRfMjtcclxuICB9XHJcbiAgc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4xOS4gc2VydmljZXMgcGFnZVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnNlcnZpY2VzLWFyZWEge1xyXG4gIC5zaW5nbGUtc2VydmljZSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGxpbmVhciAwcztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8yICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICAgICAgLmhlYWRpbmctMyB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgICAucmVhZC1tb3JlLWJ0biB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgICAuaWNvbi1jb250YWluZXIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XHJcbiAgICAgICAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuMjAuIEludmVzdG9yIHBhZ2VcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmludmVzdG9yLXByaWNpbmctd3JhcHBlciB7XHJcbiAgLmludmVzdG9yLXByaWNpbmcge1xyXG4gICAgaDIge1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICYudGV4dC1ib2xkIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jaGFuZ2UtYnRuIHtcclxuICAgIGgyIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zdWJzY3JpYmUtd2lkZ2V0IHtcclxuICBpbnB1dFt0eXBlPVwiRW1haWxcIl0ge1xyXG4gICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICB9XHJcbn1cclxuLnByZXNzLWFyZWEge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLnNpbmdsZS1wcmVzcyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAucHJlc3MtY29udGVudCB7XHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAucHJlc3MtaWNvbiB7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBjb2xvcjogJGRlZmF1bHRfY29sb3I7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRzZW1pX2hvdmVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5oZWFkaW5nLTUtYWx0IHtcclxuICAgIGEge1xyXG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjQgbGluZWFyIDBzO1xyXG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40IGxpbmVhciAwcztcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNCBsaW5lYXIgMHM7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwLjVyZW0gMXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC41cmVtIDFyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmRvd25sb2FkLWxpbmsge1xyXG4gIGEge1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuICBpbWcge1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICB9XHJcbn1cclxuLmVib29rLWluZm8ge1xyXG4gIGgzIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gIH1cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4yMS4gc3ViY29udHJhY3RvciBwYWdlXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnBsYW5lLXRleHQtd3JhcHBlciB7XHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG4udGV4dC13aWRnZXQge1xyXG4gIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuLnZpZGVvLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAucGxheS1idG4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDMwcHggNjBweDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBpIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGRhcms7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiJHdoaXRlOiAjZmZmO1xyXG4kd2hpdGVfMjogI2YzZjNmMztcclxuJHdoaXRlXzM6ICNmN2Y3Zjc7XHJcbiRzZW1pX3doaXRlOiAjZjFmMWYxO1xyXG4kYmxhY2s6ICMyMjIyMjI7XHJcbiRob3ZlcjogI2ZkNWMyYztcclxuJGhvdmVyXzI6ICNmZDdiMmM7XHJcbiRzZW1pX2hvdmVyOiAjMDAxNjU5O1xyXG4kc2VtaV9ob3Zlcl8yOiAjZmY4YjQ1O1xyXG4kc2VtaV9ob3Zlcl8zOiAjZjQ3NzJhO1xyXG4kc2VtaV9ob3Zlcl80OiAjMGQyZTYyO1xyXG4kc2VtaV9ob3Zlcl81OiAjMDAyMjU4O1xyXG4kZGFyazogI2RkZDtcclxuJGRhcmtfMjogI2RmZGZkZjtcclxuJGRhcmtfMzogI2NjY2NjYztcclxuJGRhcmtfNDogIzkyYTRkOTtcclxuJGRhcmtfNTogI2RiZGJkYjtcclxuJGRhcmtfNjogI2RlZTJlNjtcclxuJGRhcmtfNzogI2RjZGNkYztcclxuJGRhcmtfODogI2Q5ZDlkOTtcclxuJGRhcmtfOTogI2Q1ZDVkNTtcclxuJHNlY29uZGFyeV9jb2xvcjogIzc1NTFlYztcclxuJGRlZmF1bHRfY29sb3I6ICM2NTY1NjU7XHJcbiRmYl9saW5rX2JnOiAjM2I1OTk5O1xyXG4kdHdpdHRlcl9saW5rX2JnOiAjNTVhY2VlO1xyXG4kcGludGVyZXN0X2xpbmJrX2JnOiAjYmQwODFjO1xyXG4kZGVmYXVsdF9zaXplOiAxNnB4O1xyXG4kZGVmYXVsdF9mb250OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7ICBcclxuJGZvbnRfMjogJ1J1YmlrJywgc2Fucy1zZXJpZjtcclxuJGZvbnRfMzogJ09zd2FsZCcsIHNhbnMtc2VyaWY7XHJcbiRidG5fcGFkZGluZzogMTBweCAyNXB4O1xyXG4kYm9sZF93ZWlnaHQ6IDYwMDsiLCJAaW1wb3J0IFwiLi9tZWRpYV9xdWVyeVwiO1xyXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5IZWFkaW5nc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uaGVhZGluZy1vbmUtYWx0IHtcclxuXHRjb2xvcjogJGhvdmVyXzI7XHJcblx0Zm9udC1zaXplOiA0cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDMuNXJlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgdGFibGV0IHtcclxuXHRcdGZvbnQtc2l6ZTogM3JlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMi41cmVtO1xyXG5cdH1cclxufVxyXG4uYmlnLWhlYWRpbmcge1xyXG5cdGZvbnQtc2l6ZTogOXJlbTtcclxuXHRmb250LXdlaWdodDogODAwO1xyXG5cdEBpbmNsdWRlIHhsX2xhcmdlXzIge1xyXG5cdFx0Zm9udC1zaXplOiA3LjVyZW07XHJcblx0fVxyXG5cdEBpbmNsdWRlIGRlc2t0b3Age1xyXG5cdFx0Zm9udC1zaXplOiA2LjVyZW07XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRmb250LXNpemU6IDQuNXJlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMy41cmVtO1xyXG5cdH1cclxufVxyXG4uc3ViLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcblx0bGluZS1oZWlnaHQ6IDEuNmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRAaW5jbHVkZSBkZXNrdG9wIHtcclxuXHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgdGFibGV0IHtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHR9XHJcbn1cclxuLmhlYWRpbmctMiB7XHJcblx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdGZvbnQtc2l6ZTogNDVweDtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblx0c3BhbiB7XHJcblx0XHRjb2xvcjogJHNlbWlfaG92ZXJfMztcclxuXHR9XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDM1cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRmb250LXNpemU6IDM1cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1vYmlsZSB7XHJcblx0XHRmb250LXNpemU6IDM1cHg7XHJcblx0fVxyXG59XHJcbi5oZWFkaW5nLTMge1xyXG4gICBmb250LXNpemU6IDI4cHg7XHJcbiAgIGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgIFx0Zm9udC1zaXplOiAyNXB4O1xyXG4gICB9XHJcbiAgIEBpbmNsdWRlIHRhYmxldCB7XHJcbiAgIFx0Zm9udC1zaXplOiAyMnB4O1xyXG4gICB9XHJcbiAgIEBpbmNsdWRlIG1vYmlsZSB7XHJcbiAgIFx0Zm9udC1zaXplOiAyMnB4O1xyXG4gICB9XHJcbn1cclxuLmhlYWRpbmctNCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRjb2xvcjogJHNlbWlfaG92ZXI7XHJcblx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDIycHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1vYmlsZSB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIC40cyBsaW5lYXIgMHM7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRjb2xvcjogcmdiYSgkc2VtaV9ob3Zlcl8yLDEpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uaGVhZGluZy1hbHQtMiB7XHJcblx0Zm9udC1zaXplOiA0LjVyZW07XHJcblx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDMuNXJlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgdGFibGV0IHtcclxuXHRcdGZvbnQtc2l6ZTogM3JlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMi41cmVtO1xyXG5cdH1cclxufVxyXG4uc3ViLXRpdGxlLTIge1xyXG5cdGZvbnQtc2l6ZTogMjhweDtcclxuXHRsaW5lLWhlaWdodDogMS4zZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRjb2xvcjogJHNlbWlfaG92ZXI7XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDI0cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRmb250LXNpemU6IDIycHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1vYmlsZSB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG59XHJcbi5zdWItdGl0bGUtMyB7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250XzI7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDVweDtcclxufVxyXG4uc3BlY2lhbC1oZWFkaW5nIHtcclxuXHRmb250LXNpemU6IDM1cHg7XHJcblx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRzcGFuIHtcclxuXHRcdGNvbG9yOiAkaG92ZXI7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdH1cclxufVxyXG4uYmlnLWhlYWRpbmctMiB7XHJcblx0Zm9udC1zaXplOiA1cmVtO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRAaW5jbHVkZSBsYXJnZV8yIHtcclxuXHRcdGZvbnQtc2l6ZTogNHJlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDRyZW07XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRmb250LXNpemU6IDMuNXJlbTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMi41cmVtO1xyXG5cdH1cclxuXHJcbn1cclxuLmhlYWRpbmctNiB7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcbi5oZWFkaW5nLTUtYWx0IHtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBhIHtcclxuICBcdGNvbG9yOiAkZGVmYXVsdF9jb2xvcjtcclxuICBcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1vYmlsZSB7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0fVxyXG59XHJcbi53aWRnZXQtdGl0bGUge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cdEBpbmNsdWRlIGRlc2t0b3Age1xyXG5cdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSB0YWJsZXQge1xyXG5cdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtb2JpbGUge1xyXG5cdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdH1cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDQ1cHg7XHJcblx0XHRoZWlnaHQ6IDNweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdH1cclxufVxyXG4ud2lkZ2V0LXRpdGxlLTIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogJHNlbWlfaG92ZXI7XHJcblx0cGFkZGluZy1ib3R0b206IDE1cHg7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrXzk7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdH1cclxufVxyXG4ud2lkZ2V0LXRpdGxlLTMge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRjb2xvcjogJHNlbWlfaG92ZXI7XHJcbn1cclxuLnJlYWQtbW9yZS1idG4ge1xyXG5cdGNvbG9yOiAkc2VtaV9ob3ZlcjtcclxuXHRmb250LXNpemU6IDFyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgLjRzIGxpbmVhciAwcztcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0aSB7XHJcblx0XHRjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuXHR9XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJHNlbWlfaG92ZXJfMjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcblx0c3BhbiB7XHJcblx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHR9XHJcbn1cclxuLyoqKioqKioqKioqKioqKioqKioqKipcclxuQnV0dG9uc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmN1c3RvbS1iaWctYnRuIHtcclxuXHRjb2xvcjogJHdoaXRlXzI7XHJcblx0Zm9udC1mYW1pbHk6ICRkZWZhdWx0X2ZvbnQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGhvdmVyXzI7XHJcblx0cGFkZGluZzogMTVweCAyMHB4O1xyXG5cdGJvcmRlcjogMDtcclxuXHRAaW5jbHVkZSB4bF9sYXJnZV8yIHtcclxuXHRcdHBhZGRpbmc6IDEycHggMTRweDtcclxuXHRcdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0fVxyXG4gICBzcGFuIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdGJvcmRlci1sZWZ0OiAycHggc29saWQgJHNlbWlfaG92ZXJfMjtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0QGluY2x1ZGUgeGxfbGFyZ2VfMiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdCAgfVxyXG5cdH1cclxuXHQmOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdH1cclxufVxyXG4uY3VzdG9tLWJ0biB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGhvdmVyO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdHBhZGRpbmc6IDE1cHggNDBweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiBoZWlnaHRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi5oZWlnaHQtNTAwIHtcclxuXHRoZWlnaHQ6IDUwMHB4O1xyXG59XHJcbi5oZWlnaHQtNzAwIHtcclxuXHRoZWlnaHQ6IDcwMHB4O1xyXG59XHJcbi5iZy1zZW1pIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3ZlcjtcclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblBhZGRpbmdcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLnBsLTE3MCB7XHJcblx0cGFkZGluZy1sZWZ0OiAxNzBweDtcclxufVxyXG4ubGlnaHQtY29tbWE6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6IFwiLlwiO1xyXG4gIGNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG59XHJcbi5zZWN0aW9uLXB0YiB7XHJcblx0cGFkZGluZy10b3A6IDE1MHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAxNTBweDtcclxuXHRAaW5jbHVkZSBkZXNrdG9wIHtcclxuXHRcdHBhZGRpbmctdG9wOiA4MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgdGFibGV0IHtcclxuXHRcdHBhZGRpbmctdG9wOiA4MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdHBhZGRpbmctdG9wOiA2MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHR9XHJcbn1cclxuLnNlY3Rpb24tcGIge1xyXG4gICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0ICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSB0YWJsZXQge1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHQgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcblx0fVxyXG59XHJcbi5pbm5lci1wYiB7XHJcblx0cGFkZGluZy1ib3R0b206IDgwcHg7XHJcblx0QGluY2x1ZGUgZGVza3RvcCB7XHJcblx0ICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSB0YWJsZXQge1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHQgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XHJcblx0fVxyXG59XHJcblxyXG4uaW5uZXItcHQge1xyXG5cdHBhZGRpbmctdG9wOiA4MHB4O1xyXG5cdEBpbmNsdWRlIGRlc2t0b3Age1xyXG5cdFx0cGFkZGluZy10b3A6IDUwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRwYWRkaW5nLXRvcDogNDBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzNXB4O1xyXG5cdH1cclxufVxyXG4uaW5uZXItcHRiIHtcclxuXHRwYWRkaW5nLXRvcDogODBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogODBweDtcclxuXHRAaW5jbHVkZSBkZXNrdG9wIHtcclxuXHRcdHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgdGFibGV0IHtcclxuXHRcdHBhZGRpbmctdG9wOiA0MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzNXB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuXHR9XHJcbn1cclxuLnB0Yi0xMDAge1xyXG5cdHBhZGRpbmctdG9wOiAxMDBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcblx0XHRAaW5jbHVkZSBkZXNrdG9wIHtcclxuXHRcdHBhZGRpbmctdG9wOiA2MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgdGFibGV0IHtcclxuXHRcdHBhZGRpbmctdG9wOiA2MHB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbW9iaWxlIHtcclxuXHRcdHBhZGRpbmctdG9wOiA2NXB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHR9XHJcbn1cclxuLnByLTEwMCB7XHJcblx0cGFkZGluZy1yaWdodDogMTAwcHg7XHJcbn1cclxuLnBiLTEwMCB7XHJcblx0cGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG59XHJcbi5tYi14cy01IHtcclxuXHRAaW5jbHVkZSB0YWJsZXQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogM3JlbTtcclxuXHR9XHJcbn1cclxuLm1iLXhzLTQge1xyXG5cdEBpbmNsdWRlIHRhYmxldCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdH1cclxufVxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkJhY2tncm91bmRcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4uYmctaG92ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRob3ZlcjtcclxufVxyXG4uYmctc2VtaS13aGl0ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlXzI7XHJcbn1cclxuLnNlbWktaG92ZXItNCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHNlbWlfaG92ZXJfNDtcclxufVxyXG4uc2VtaS1ob3Zlci0zIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkc2VtaV9ob3Zlcl8zO1xyXG59XHJcbi5zZW1pLWhvdmVyLTUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzU7XHJcbn1cclxuLmJsYWNrLW92ZXJsYXkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNDUpO1xyXG5cdH1cclxufVxyXG4vKioqKioqKioqKioqKioqKioqXHJcbkxpc3QgU3R5bGVzXHJcbioqKioqKioqKioqKioqKioqKiovXHJcbi5zb2NpYWwtcHJvZmlsZXMge1xyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bGkge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzQ7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0XHRcdG1hcmdpbjogMCA1cHg7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuNHMgbGluZWFyIDBzO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcblx0XHRcdH1cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlbWlfaG92ZXJfMztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc29jaWFsLXByb2ZpbGVzLTIge1xyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bGkge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5hcGFyZW50O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRtYXJnaW46IDAgNXB4O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjRzIGxpbmVhciAwcztcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRjb2xvcjogI2FhYWFhYTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlbWlfaG92ZXJfMztcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcblx0XHRcdFx0YSB7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc29jaWFsLXByb2ZpbGVzLTMge1xyXG5cdHVsIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0bGkge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0XHRcdG1hcmdpbjogMCA1cHg7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuNHMgbGluZWFyIDBzO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdGNvbG9yOiAjYWFhYWFhO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkc2VtaV9ob3Zlcl8yO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ubGlzdC0yIHtcclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGxpIHtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0Y29sb3I6ICNmZDgxMzY7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc3BlY2lhbC1saXN0IHtcclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGxpIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0YiB7XHJcblx0XHRcdFx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcclxuXHRcdFx0fVxyXG5cdFx0XHRzcGFuIHtcclxuICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgIFx0Y29sb3I6ICRzZW1pX2hvdmVyXzM7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5jb2xvcnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmFjdGl2ZS1ib3JkZXIge1xyXG5cdGJvcmRlci1jb2xvcjogJGhvdmVyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Cb3JkZXJzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4uZG90dGVkLWJvcmRlci1ib3R0b20ge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzVmNzI3ZjtcclxufVxyXG4uYm9yZGVyLWJvdHRvbS1kYXJrIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q1ZDVkNVxyXG59XHJcbi5zcGVjaWFsLWxnLWJvcmRlciB7XHJcblx0QGluY2x1ZGUgbGFyZ2Uge1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4O1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiAxcHg7XHJcblx0XHRib3JkZXItY29sb3I6ICRkYXJrXzg7XHJcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDA7XHJcblx0fVxyXG59XHJcbi5ib3JkZXItYm90dG9tLWxpZ2h0IHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlYmQ5NjtcclxufVxyXG4uYm9yZGVyLXJhZGl1cy0wIHtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcbi8qKioqKioqKioqKioqKioqKioqKioqXHJcbnF1b3RlXHJcbioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmJsb2NrcXVvdGUtMiB7XHJcblx0cCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0Zm9udC1zaXplOiAyOHB4O1xyXG5cdFx0Y29sb3I6ICRzZW1pX2hvdmVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNGVtO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHNlbWlfd2hpdGU7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZGFya184O1xyXG5cdFx0cGFkZGluZzogMi41cmVtO1xyXG4gICAgICAgIG1hcmdpbjogMS41cmVtIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZGVza3RvcCB7XHJcbiAgICAgICAgXHRmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgXHRwYWRkaW5nOiAycmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSB0YWJsZXQge1xyXG4gICAgICAgIFx0Zm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIFx0cGFkZGluZzogMS42cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtb2JpbGUge1xyXG4gICAgICAgIFx0Zm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIFx0cGFkZGluZzogMS4zcmVtO1xyXG4gICAgICAgIH1cclxuXHR9XHJcbn0iLCIvKipcclxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiogIDMuTWVkaWEgUXVlcnlcclxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovIFxyXG4keGwtbGFyZ2UtZGV2aWNlOiAxMjg1cHg7XHJcbiRsZ19kZXZpY2VfMjogMTIzMHB4O1xyXG4keGwtbGFyZ2UtZGV2aWNlLTI6IDExOTlweDtcclxuJGxhcmdlLWRldmljZTogOTkycHg7XHJcbiRkZXNrdG9wLWRldmljZTogOTkxcHg7XHJcbiR0YWJsZXQtZGV2aWNlOiA3NjhweDtcclxuJG1vYmlsZS1kZXZpY2U6IDU3NXB4O1xyXG5AbWl4aW4gbGFyZ2Uge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRsYXJnZS1kZXZpY2V9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuQG1peGluIGxhcmdlXzIge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyRsYXJnZS1kZXZpY2V9KSBhbmQgKG1heC13aWR0aDogI3skbGdfZGV2aWNlXzJ9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuQG1peGluIHhsX2xhcmdlIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogI3skeGwtbGFyZ2UtZGV2aWNlfSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbkBtaXhpbiB4bF9sYXJnZV8yIHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogI3skeGwtbGFyZ2UtZGV2aWNlLTJ9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuQG1peGluIGRlc2t0b3Age1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAjeyR0YWJsZXQtZGV2aWNlfSkgYW5kIChtYXgtd2lkdGg6ICN7JGRlc2t0b3AtZGV2aWNlfSkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdGFibGV0IHtcclxuICBAbWVkaWEgKG1heC13aWR0aDogI3skdGFibGV0LWRldmljZX0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1vYmlsZSB7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1vYmlsZS1kZXZpY2V9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjdXN0b21fbWVkaXVtIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTYwcHgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufSIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5KSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgICAtby10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgICAtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbiAtd2Via2l0LXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgICAgdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbn1cclxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnR5KSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICRwcm9wZXJ0eTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogJHByb3BlcnR5O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkcHJvcGVydHk7XHJcbn1cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XHJcbiAgICA6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICAgOjotby1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XHJcbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgIFxyXG59XHJcbkBtaXhpbiBhbmltYXRpb24oJHByb3BlcnR5KSB7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgICAtby10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgICAtbXMtdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbiAtd2Via2l0LXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgICAgdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbn0iLCIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Z0ZBYWdGO0FBQ2hGLE9BQU8sQ0FBQyxrSkFBSTtBR2RaOzs7O0VBSUU7QURBRjs7Z0NBRWdDO0FBQ2hDLEFBQUEsZ0JBQWdCLENBQUM7RUFDaEIsS0FBSyxFREZJLE9BQU87RUNHaEIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRyxHQVVoQjtFQ2FDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLFNBQVMsRUFBRSxLQUFLO0lEMUJqRCxBQUFBLGdCQUFnQixDQUFDO01BS2YsU0FBUyxFQUFFLE1BQU0sR0FRbEI7RUNtQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lEaEMxQixBQUFBLGdCQUFnQixDQUFDO01BUWYsU0FBUyxFQUFFLElBQUksR0FLaEI7RUN5QkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lEdEMxQixBQUFBLGdCQUFnQixDQUFDO01BV2YsU0FBUyxFQUFFLE1BQU0sR0FFbEI7O0FBQ0QsQUFBQSxZQUFZLENBQUM7RUFDWixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHLEdBYWhCO0VDUkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0lEUDNCLEFBQUEsWUFBWSxDQUFDO01BSVgsU0FBUyxFQUFFLE1BQU0sR0FXbEI7RUNIQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssT0FBTyxTQUFTLEVBQUUsS0FBSztJRFpqRCxBQUFBLFlBQVksQ0FBQztNQU9YLFNBQVMsRUFBRSxNQUFNLEdBUWxCO0VDR0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0lEbEIxQixBQUFB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 */
