/*!**************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/app.css ***!
  \**************************************************************************************************************/
/* Font Imports */
/* Note: Bricolage Grotesque and Clash Grotesk are loaded via link tags in main.html.twig */
/* For Aeonik, add @font-face declarations below if you have font files, or use a CDN */

/* Example @font-face for Aeonik (uncomment and update paths if you have font files):
@font-face {
    font-family: 'Aeonik';
    src: url('../fonts/Aeonik-Regular.woff2') format('woff2'),
         url('../fonts/Aeonik-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
*/

/*Обнуление*/
*{padding:0;margin:0;border:0;}
*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}
:focus,:active{outline:none;}
a:focus,a:active{outline:none;}
nav,footer,header,aside{display:block;}
html,body{height:100%;width:100%;font-size:100%;line-height:1;font-size:14px;-ms-text-size-adjust:100%;-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;}
input,button,textarea{font-family:inherit;}
input::-ms-clear{display:none;}
button{cursor:pointer;}
button::-moz-focus-inner{padding:0;border:0;}
a,a:visited{text-decoration:none;}
a:hover{text-decoration:none;}
ul li{list-style:none;}
img{vertical-align:top;}
body,
html body {
    font-family: "Space Grotesk", sans-serif !important;
}
/*h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;}*/

a {
    color: black;
}

.body-wrapper {
    min-height: 100vh;
    overflow: hidden;

    display: flex;
    flex-direction: column;
}

.main__page__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.block{
    width: 100%;
}
/*  flex-container */
.block_row {
    display:flex;
    flex-direction:column;
    flex: 1;
    min-height: 100%;
}

/* flex-элемент */
.block__header, .block__middle, .block__footer {
    /*border: 5px solid #5e5373;*/
}

.block__middle {
    flex: 1;
}

.block__header {
    background-color: black;
    color: white;
}

.block__header h1,
.block__header h2,
.block__header h3,
.block__header h4,
.block__header h5,
.block__header h6,
.block__header .header_text h1 {
    color: white;
}

.block__header a {
    color: white;
}

.block__header i {
    color: white;
}

/*  */
.block__container {

}

/**  Alerts  **/
.alert-danger {
    color: red;
}

.my-custom-class-for-errors {
    margin: 15px 0;
    padding: 10px;
}

.my-custom-class-for-errors ul,
.my-custom-class-for-errors ul.form-error-message {
    list-style: none;
    margin: 0;
    padding: 0;
}

.my-custom-class-for-errors li {
    color: red;
    margin: 5px 0;
    font-size: 14px;
}

.input__container ul,
.input__container ul.form-error-message {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 5px;
}

.input__container ul li {
    color: red;
    font-size: 12px;
    margin-top: 3px;
}

.input__container .form-error-message {
    color: red;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

.header__row {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.block_header_content {
    display: flex;
    align-items: center;
    width: 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 80% auto;
    min-height: 100%;
}

.header_text {
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    display: flex;
    margin-top: 1.5em;
    margin-bottom: 1em;
    font-size: medium;
    width: 100%;
    position: relative;
}

/* @in_screen */
.header_text_left {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin: 10px 5px 20px;
    margin-left: 2em;
}

.header_text_right {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    margin: 10px 5px 20px;
    margin-left: auto;
    margin-right: 2em;
    padding-left: 1.5em;
    position: relative;
}

.footer_instagram_link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.footer_instagram_icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.header_text_right::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: white;
    top: -0.7em;
    bottom: -0.7em;
}

.header_text_bottom {
    margin-bottom: 2.1rem;
}

.header_menu {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin: 10px 5px 20px;
    width: 100%;
    font-family: Futura;
    letter-spacing: 0.2em;
    font-size: 18px;
}

.header_menu_item {
}

.main__page__content .header_text_middle {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5em;
}

.header_text_middle {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.5em;
    margin: 0px 6em;
}

.header_text_middle a {
    margin: 0 0.5em;
}

.header_text_top__my-profile {
    position: relative;
    float: right;
    margin-left: 10px;
}

/* ── Language Switcher ─────────────────────────────────────── */
.lang-switcher {
    position: relative;
    margin-right: 1.2em;
}

.lang-switcher__toggle {
    display: flex;
    align-items: center;
    gap: 0.35em;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    padding: 0.3em 0.65em;
    transition: border-color 150ms ease, background 150ms ease;
    white-space: nowrap;
}

.lang-switcher__toggle:hover,
.lang-switcher__toggle:focus {
    border-color: rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.08);
    outline: none;
}

.lang-switcher__flag {
    font-size: 1.15em;
    line-height: 1;
}

.lang-switcher__arrow {
    flex-shrink: 0;
    opacity: 0.7;
    transition: transform 200ms ease;
}

.lang-switcher__toggle[aria-expanded="true"] .lang-switcher__arrow {
    transform: rotate(180deg);
}

.lang-switcher__dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    list-style: none;
    margin: 0;
    padding: 4px 0;
    min-width: 100px;
    z-index: 1000;
}

.lang-switcher__dropdown--open {
    display: block;
}

.lang-switcher__option {
    cursor: pointer;
    transition: background 120ms ease;
}

.lang-switcher__option a {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: rgba(255, 255, 255, 0.85);
    padding: 0.5em 0.9em;
    text-decoration: none;
}

.lang-switcher__option:hover,
.lang-switcher__option--active {
    background: rgba(255, 255, 255, 0.1);
}

.lang-switcher__option:hover a,
.lang-switcher__option--active a {
    color: #fff;
}

.lang-switcher__option--active {
    background: rgba(255, 255, 255, 0.15);
}

.main__page__content .header_text_right {
    justify-content: space-between;
}

.header_text_bottom {

}

.header_text_right .title {
    font-weight: bold;
}

.block__middle .block__content {
    text-align: center;
}

.block__footer {
    display: flex;
    align-items: center;
    width: 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 80% auto;
    position: relative;
    background-color: black;
    color: white;
}

.block__footer a {
    color: white;
}
.block__footer_content_left {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 1.5em;
    padding-left: 2em;
}

.block__footer_content_left a {
    margin: 0;
}

.block__footer_content_right {
    position: relative;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 2em;
}

.block__footer_content_center {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 1;
    gap: 2em;
}

.block__footer_content_center a {
    margin: 0 1em;
}

.block_footer_content {
    margin-bottom: 2em;
    margin-top: 2em;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    font-size: medium;
}

.block__content_title {
    margin-top: 2em;
}

.block__content__buttons {
    margin: 20px 5px;
    clear: both;
}

.signup-prompt {
    display: inline-block;
    background-color: #f4fff6;
    border: 1.5px solid #7dbe8e;
    border-radius: 0.5rem;
    padding: 0.9rem 1.4rem;
    font-size: 1.1rem;
    color: #333;
    margin: 0;
}

.signup-prompt a {
    color: #1e8a3a;
    font-weight: 700;
    text-decoration: underline;
    transition: color 0.15s ease-in-out;
}

.signup-prompt a:hover {
    color: #145c27;
}

.block__content__buttons  a.button , button.button, button, .button_search {
    color: white;
    /*background-color: pink;*/
    background-color: black;
    border-radius: 0.375rem;
    padding: 1rem 1rem;
    text-decoration: none;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s linear;
    /*margin: 0.5rem 2rem;*/
    font-size: 1.5rem;
}

.block__content__makeup_photos {
    width: 50%;
    margin: 0 auto;
}

/*button.close {*/
/*    color: white;*/
/*    !*background-color: pink;*!*/
/*    background-color: black;*/
/*    border-radius: 0.375rem;*/
/*    padding: 1rem 1rem;*/
/*    text-decoration: none;*/
/*    !*transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s linear;*!*/
/*    !*margin: 0.5rem 2rem;*!*/
/*    font-size: 1rem;*/
/*    !*box-shadow: 5px 5px dimgray;*!*/
/*    width: 10%;*/
/*}*/

button.btn-confirm-dlt {
    width: 50%;
    margin: 0 auto;
}

.button_search {
    width: 40%
}

.block__content__buttons  a.button:hover {
    box-shadow: inset 1px 2px 5px #777;
    transform: translateY(1px);
    text-shadow: 1px 1px dimgray;
}

#save-image-button:disabled {
    background-color: #888;
    color: rgba(255, 255, 255, 0.5);
    opacity: 0.5;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
    text-shadow: none;
}

/** inputs **/

.input__container {
    display: inline-block;
    margin-bottom: 15px;
    position: relative;
    width: 100%;
}

.input__container .input__inner-wrapper {
    background-color: #fff;
    line-height: 0;
    position: relative;
}

.input__container .input__input {
    background-color: transparent;
    border: 1px solid #8a8a8a;
    border-radius: 4px;
    font-family: Avenir Next,Helvetica Neue,Helvetica,Arial,sans-serif;
    font-size: 14px;
    font-weight: 400;
    height: 100%;
    letter-spacing: .5px;
    line-height: 22px;
    line-height: 0;
    outline: none;
    padding: 17px 50px 17px 15px;
    -webkit-transform: translateZ(0);
    width: 100%;
}

.input__container .input__checkbox {
    background-color: transparent;
    font-family: Avenir Next,Helvetica Neue,Helvetica,Arial,sans-serif;
    font-size: 16px;
    font-weight: 400;
    height: 100%;
    letter-spacing: .5px;
    line-height: 22px;
    line-height: 0;
    outline: none;
    padding: 17px 50px 17px 15px;
    -webkit-transform: translateZ(0);
    width: 100%;
}

.input__checkbox input {
    margin-left: 10px;
}

.password_forgot {
    text-align: left;
    padding-left: 10px;
}

/* @base_template */

.content .header_test_top_language {
    margin-left: 80px;
}

.content .header__row  {
    margin-bottom: 20px;
}

.content .svg-inline--fa {
    color: hotpink;
}


/** app_login **/
.block__form-login, .block__form__signup {
    width: 30%;
    margin: auto;
    margin-top: 20px;
}

.block__form-signup {
    width: 450px;
    margin: 0 auto;
    margin-top: 20px;
}

.password-requirements {
    text-align: left;
}

.password-requirements li {
    color: green;
}

.block__form-login label {
    display: none;
}

.input__inner-wrapper--icon {
    top: -33px;
    /* background-color: #fff; */
    line-height: 0;
    position: relative;
    opacity: 1;
    width: 0px;
    right: -495px;
}

.input_inner-wrapper {
    position: relative;
}

.password-toggle-btn {
    position: absolute;
    top: 43%;
    right: 15px;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #8a8a8a;
    font-size: 16px;
    z-index: 2;
    outline: none;
}

.password-toggle-btn:hover {
    color: #000;
}

.password-toggle-btn:focus {
    outline: none;
}

.input__checkbox_inner-wrapper--icon {
    top: -30px;
    /* background-color: #fff; */
    line-height: 0;
    position: relative;
    opacity: 1;
    width: 0px;
    left: -1%;
}

/* makeup_artist/list */

.profiles__list {

}
.profiles__list_header, .profile__my_appointments_list_header {
    display: flex;
    flex-direction: row;
    margin: 10px 0px;
}

.profiles__list_header div {
    margin-left: 15px;
}

.profiles__list_list, .profile__my_appointments_list_wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}

.profiles__list_list, .profile__my_appointments_list {
    display: flex;
    flex-direction: column;
    margin: 10px 5px;
    width: 100%;
}

.profiles__list_item, .profile__my_appointments_list_item {
    width: 100%;
    margin: 10px 5px;
}

.profiles__list_content {
    display: flex;
    flex-direction: row;
}

.profiles__filters_label span {
    font-family: Futura;
    letter-spacing: 0.2em;
    font-size: 18px;
}

.profiles__filters_form {
    width: 25%;
}

.profiles__filters_content {
    display: flex;
    flex-direction:column;
}

.profiles__filters_filter {
    margin: 10px 15px;
}

.profiles__filters_filter div {
    margin-top: 15px;
    margin-left: 10px;
}

.profiles__filters_label {

}

.profiles__filters_category_filter input {
    margin-right: 10px;
    display: block;
    margin-top: 15px;
}

.profiles__filters_category_filter label {
    display: block;
    margin-top: -15px;
    margin-left: 20px;
}

.profiles__filters_price_filter input {
    border: slategrey 1px solid;
    height: 25px;
    padding-left: 5px;
    width: 100px;
    margin-top: 10px;
}

/*  /artist/portfolio */
.profile__wrapper {

}

.profile__content_wrapper {
    display: flex;
    flex-direction: row;
}

.profile__menu {
    width: 25%;
    margin-left: 5%;
}

.profile__menu_header {
    display: flex;
    flex-direction: column;
    font-size: 1.1rem;
    margin: 5% 0%;
    text-transform: uppercase;
}

.profile__menu_header_item {
    margin-top: 5%;

}

.profile__menu_header_item a:hover {
    color: hotpink;
}
.profile__menu_header_item a {
    padding-left: 10px;
}
.profile__content {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 1.5rem 1rem;
    width: 100%;
}

.profile__content_top {
    height: 20%;

}

.profile__content_center {
    height: 80%;
    margin-top: 1rem;
}

.profile__content_top_actions {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.profile__content_images_list {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
}

.profile__content_image_category {
    margin-bottom: 1.3rem;
    margin-top: 1rem;
}

.profile__content_images_item {
    box-shadow: 8px 8px 8px grey;
}

/* Upload photos */
.profile__content .custom-file-container__image-preview {
    height: 500px;
}

.profile__content .custom-file-container__image-multi-preview {
    height: 100%;
}

.profile__content_my-profile {
    display: flex;
    flex-direction: column;
    width: 70%;
}

.profile__content_my-profile-item {
    margin-top: 1.5rem;
}

.profile__content_my-profile .custom-file-container__avatar {
    height: 300px;
    width: 25%;
    background-repeat: no-repeat;
}

.profile__content_my-profile .custom-file-container__image-preview {
    height: 300px;
    width: 25%;
    /*display: none;*/
}

.profile__content_my-profile .custom-file-container__image-labels {
    width: 25%;
}

.profile__content_my-profile label {
    padding-left: 15px;
}

/* /schedule/create */

.profile__content_schedule .fc .fc-button-primary:disabled {
    background-color: cadetblue;
    border-color: cadetblue;
}

/* my_appointments */
.profile__my_appointments_list_item_wrapper {
    margin: 10px 1px;
}

.not-confirmed-appointment-item {
    border: 2px grey solid;
}

.confirmed-appointment-item {
    border: 2px darkcyan solid;
}

.declined-appointment-item {
    border: 2px palevioletred solid;
}


.profile__my_appointments_list_item_content {
    margin: 1rem 1.5rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.status-not-confirmed {
    color: grey;
}

.status-confirmed {
    color: darkcyan;
}

.status-declined {
    color: palevioletred;
}s
/* home/index.html.twig */
.videoView, .detectOnClick, .blend-shapes, .action-buttons-wrapper, .block__content__makeup_photos_wrapper {
    position: relative;
    float: left;
    width: 48%;
    margin: 2% 1%;
    cursor: pointer;
}

.detectOnClick, .block__content__makeup_photos_wrapper {
    z-index: 0;
}

/* Tensor elements */
section {
    opacity: 1;
    transition: opacity 500ms ease-in-out;
}
.invisible {
    opacity: 0.2;
}

.detectOnClick p {
    position: absolute;
    padding: 5px;
    background-color: #007f8b;
    color: #fff;
    border: 1px dashed rgba(255, 255, 255, 0.7);
    z-index: 2;
    font-size: 12px;
    margin: 0;
}
.canvas {
    z-index: 1;
    position: absolute;
    pointer-events: none;
}
.output_canvas {
    transform: rotateY(180deg);
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
}

.detectOnClick, .block__content__makeup_photos_wrapper {
    z-index: 0;
    width: 350px;
}

.detectOnClick img, .block__content__makeup_photos_wrapper img {
    width: 100%;
}

.blend-shapes-item {
    display: flex;
    align-items: center;
    height: 20px;
}

.blend-shapes-label {
    display: flex;
    width: 120px;
    justify-content: flex-end;
    align-items: center;
    margin-right: 4px;
}

.blend-shapes-value {
    display: flex;
    height: 16px;
    align-items: center;
    background-color: #007f8b;
}

#demos {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#demos form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

#demos .block__content__buttons {
    flex-basis: 100%;
    width: 100%;
    text-align: center;
}

/* ─── Hamburger / Mobile Nav Toggle ─── */
.header__hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px 12px;
    margin-left: auto;
    z-index: 10;
    min-height: 44px;
    min-width: 44px;
}

.header__hamburger-bar {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;
    transition: transform 250ms ease, opacity 200ms ease;
}

.header__hamburger[aria-expanded="true"] .header__hamburger-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.header__hamburger[aria-expanded="true"] .header__hamburger-bar:nth-child(2) {
    opacity: 0;
}

.header__hamburger[aria-expanded="true"] .header__hamburger-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

/* On desktop the wrapper is invisible — children participate normally in the flex row */
.header__nav-collapsible {
    display: contents;
}

/* Mobile Version CSS */
@media screen and (max-width: 768px) {
    /* Base */
    html, body {
        font-size: 12px;
        line-height: 1.2;
    }

    .body-wrapper {
        min-height: 100%;
        overflow-x: hidden;
    }

    .block_row {
        flex-direction: column;
    }

    .block__header, .block__middle, .block__footer {
        width: 100%;
        margin: 0;
    }

    /* ── Header ── */
    .header__row {
        flex-direction: column;
        margin-top: 10px;
    }

    /* Keep the header bar as a single row: [Home] [Hamburger] */
    .header_text {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        height: auto;
        padding: 0.5em 1em;
        margin-top: 0.5em;
        margin-bottom: 0.5em;
    }

    .header_text_left {
        width: auto;
        margin: 0;
        flex-shrink: 0;
    }

    /* Show hamburger on mobile */
    .header__hamburger {
        display: flex;
    }

    /* Collapsible nav: hidden by default on mobile, shown when .open */
    .header__nav-collapsible {
        display: none;
        flex-direction: column;
        width: 100%;
        padding-bottom: 0.5em;
    }

    .header__nav-collapsible.open {
        display: flex;
    }

    /* Nav links row */
    .header_text_middle {
        width: 100%;
        margin: 0;
        padding: 0.75em 0;
        font-size: 14px;
        flex: none;
        gap: 0.25em;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .header_text_middle a {
        margin: 0;
        padding: 0.5em 0.5em;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* Auth + lang row */
    .header_text_right {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
        margin: 0;
        padding: 0.75em 0;
        justify-content: flex-start;
        align-items: center;
        gap: 0.75em;
        border-left: none;
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
    }

    /* Hide the vertical divider pseudo-element */
    .header_text_right::before {
        display: none;
    }

    .header_text h1 {
        font-size: 35px;
    }

    /* ── Buttons ── */
    .block__content__buttons {
        margin: 10px 2px;
    }

    .block__content__buttons a.button, button.button, .button_search {
        font-size: 1.2rem;
        padding: 0.8rem 0.8rem;
    }

    /* ── Home page image upload boxes ── */
    .block__content__makeup_photos {
        width: 95%;
        margin: 0 auto;
    }

    /* Override the hardcoded 350px width so images fill the screen */
    .detectOnClick,
    .block__content__makeup_photos_wrapper {
        width: 100% !important;
        max-width: 100%;
        float: none;
        margin: 1% 0;
    }

    /* Tensor / face detection elements */
    .videoView, .blend-shapes, .action-buttons-wrapper {
        width: 100%;
        margin: 1% 0;
        float: none;
    }

    #demos {
        width: 100%;
    }

    /* ── Footer ── */
    .block__footer {
        flex-direction: column;
        height: auto;
        min-height: 200px;
        position: relative;
    }

    .block__footer_content_left {
        position: relative;
        width: 100%;
        height: auto;
        padding-left: 1em;
        gap: 1em;
        justify-content: flex-start;
    }

    .block__footer_content_right {
        position: relative;
        width: 100%;
        height: auto;
        justify-content: flex-start;
        padding-left: 1em;
    }

    .block__footer_content_center {
        width: 100%;
        padding: 10px 1em;
        flex: none;
        gap: 1em;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .block__footer_content_center a {
        margin: 0 0.5em;
    }

    .block_footer_content {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 1em;
    }

    /* ── Forms ── */
    .block__form-login, .block__form__signup, .block__form-signup {
        width: 90%;
        margin: 10px auto;
    }

    .input__container {
        width: 100%;
        margin-bottom: 10px;
    }

    .input__container .input__input {
        padding: 12px 40px 12px 10px;
        font-size: 14px;
    }

    /* ── Profile / artist list ── */
    .profiles__list_list, .profile__my_appointments_list {
        flex-direction: column;
    }

    .profiles__list_item, .profile__my_appointments_list_item {
        width: 100%;
        margin: 5px 0;
    }

    .profile__content_my-profile {
        width: 100%;
    }

    .profile__content_my-profile .custom-file-container__avatar,
    .profile__content_my-profile .custom-file-container__image-preview {
        width: 100%;
        height: 200px;
    }

    /* ── Legacy header menu ── */
    .header_menu {
        flex-direction: column;
        font-size: 14px;
    }

    .header_menu_item {
        margin: 5px 0;
    }
}

/* Loading Overlay */
.loading-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.loading-overlay.active {
    display: flex;
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(255, 255, 255, 0.3);
    border-top: 5px solid #ffffff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Flash Messages */
.flash-notice {
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 5px;
    font-weight: 500;
    text-align: center;
}

.flash-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.flash-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

/* profile/gallery sidebar menu */
.profile-layout {
    display: flex;
    gap: 24px;
    align-items: stretch;
    min-height: 70vh;
    margin-left: 10%;
}

.profile-content {
    flex: 1;
    min-width: 0;
}

.profile-content-gallery {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
    margin-top: 40px;
}

.profile-content-gallery__item {
    display: flex;
    justify-content: center;
    position: relative;
}

.profile-content-gallery__delete {
    position: absolute;
    bottom: -14px;
    right: 16px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 0;
    background: rgba(255, 0, 0, 0.65);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2;
    transition: background 120ms ease, transform 120ms ease, opacity 120ms ease;
}

.profile-content-gallery__delete:hover,
.profile-content-gallery__delete:focus {
    background: rgba(0, 0, 0, 0.85);
    transform: scale(1.04);
    outline: none;
}

.profile-content-gallery__delete:active {
    transform: scale(0.98);
}

.profile-content-gallery__item img {
    max-width: 100%;
    height: auto;
    display: block;
}

@media screen and (max-width: 1200px) {
    .profile-content-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media screen and (max-width: 992px) {
    .profile-content-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 768px) {
    .profile-content-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 480px) {
    .profile-content-gallery {
        grid-template-columns: 1fr;
    }
}

.profile-menu {
    width: 220px;
    background: #000;
    padding: 20px 16px;
    align-self: stretch;
}

.profile-menu__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.profile-menu__link {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    transition: background 150ms ease;
}

.profile-menu__link:hover,
.profile-menu__link:focus {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    text-decoration: none;
    outline: none;
}

/* ── Profile menu: horizontal tab bar on mobile ── */
@media screen and (max-width: 768px) {
    .profile-layout {
        flex-direction: column;
        margin-left: 0;
        gap: 0;
    }

    .profile-menu {
        width: 100%;
        padding: 0;
        align-self: auto;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }

    .profile-menu__list {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 0;
        padding: 0 1rem;
    }

    .profile-menu__list::-webkit-scrollbar {
        display: none;
    }

    .profile-menu__link {
        display: flex;
        align-items: center;
        padding: 14px 18px;
        border-radius: 0;
        white-space: nowrap;
        min-height: 48px;
        opacity: 0.7;
        border-bottom: 2px solid transparent;
        margin-bottom: -1px;
        transition: opacity 150ms ease, border-color 150ms ease, background 150ms ease;
    }

    .profile-menu__link:hover,
    .profile-menu__link:focus {
        background: rgba(255, 255, 255, 0.06);
        border-radius: 0;
        border-bottom-color: rgba(255, 255, 255, 0.4);
        opacity: 1;
    }

    .profile-content {
        padding: 1rem;
    }
}

/* =====================
   Cookie Consent Banner
   ===================== */

.cookie-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.55);
    padding: 16px;
    opacity: 1;
    transition: opacity 280ms ease;
}

.cookie-overlay[aria-hidden="true"] {
    display: none;
}

.cookie-overlay--hiding {
    opacity: 0;
    pointer-events: none;
}

.cookie-banner {
    background-color: #111;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    max-width: 600px;
    width: 100%;
    font-family: "Space Grotesk", sans-serif;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
    overflow: hidden;
}

.cookie-banner__main {
    padding: 32px 36px 28px;
}

.cookie-banner__text {
    font-size: 15px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 28px;
}

.cookie-banner__actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* Buttons */
.cookie-btn {
    font-family: "Space Grotesk", sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 11px 24px;
    border-radius: 3px;
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, transform 80ms ease, box-shadow 150ms ease;
    text-transform: uppercase;
    border: 2px solid #fff;
    white-space: nowrap;
}

.cookie-btn--primary {
    background-color: #fff;
    color: #111;
    border-color: #fff;
}

.cookie-btn--primary:hover,
.cookie-btn--primary:focus {
    background-color: #e8e8e8;
    border-color: #e8e8e8;
    outline: none;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15);
}

.cookie-btn--primary:active {
    transform: translateY(1px);
}

.cookie-btn--outline {
    background-color: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
}

.cookie-btn--outline:hover,
.cookie-btn--outline:focus {
    border-color: #fff;
    background-color: rgba(255, 255, 255, 0.07);
    outline: none;
}

.cookie-btn--outline:active {
    transform: translateY(1px);
}

/* Settings Panel */
.cookie-banner__settings {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding: 24px 36px 28px;
    background-color: #1a1a1a;
}

.cookie-settings__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.cookie-settings__title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cookie-settings__close {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    transition: color 150ms ease;
}

.cookie-settings__close:hover {
    color: #fff;
}

/* Cookie Categories */
.cookie-category {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding: 16px 0;
}

.cookie-category:last-of-type {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cookie-category__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cookie-category__info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cookie-category__name {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
}

.cookie-category__desc {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.5;
    max-width: 380px;
}

/* Toggle Switch */
.cookie-toggle--always-on {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.45);
    white-space: nowrap;
    padding-top: 2px;
}

.cookie-toggle__switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
}

.cookie-toggle__switch input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.cookie-toggle__slider {
    display: block;
    width: 44px;
    height: 24px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 24px;
    transition: background-color 200ms ease;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.cookie-toggle__slider::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 200ms ease;
}

.cookie-toggle__switch input:checked + .cookie-toggle__slider {
    background-color: #fff;
    border-color: #fff;
}

.cookie-toggle__switch input:checked + .cookie-toggle__slider::after {
    background-color: #111;
    transform: translateX(20px);
}

.cookie-toggle__switch input:focus + .cookie-toggle__slider {
    outline: 2px solid rgba(255, 255, 255, 0.5);
    outline-offset: 2px;
}

/* Settings Footer */
.cookie-settings__footer {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 24px;
    flex-wrap: wrap;
}

/* Responsive */
@media screen and (max-width: 640px) {
    .cookie-banner__main {
        padding: 24px 20px 20px;
    }

    .cookie-banner__settings {
        padding: 20px 20px 24px;
    }

    .cookie-banner__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .cookie-btn {
        width: 100%;
        text-align: center;
    }

    .cookie-settings__footer {
        flex-direction: column;
    }

    .cookie-category__desc {
        max-width: 100%;
    }
}

/* ===== About Page ===== */
.about-page {
    max-width: 760px;
    margin: 3rem auto 4rem;
    padding: 0 1.5rem;
}

.about-hero {
    text-align: center;
    margin-bottom: 2.5rem;
}

.about-hero__icon {
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 0.6rem;
}

.about-hero__title {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.02em;
}

.about-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.07);
    padding: 2.8rem 3rem;
}

.about-text {
    font-size: 1.08rem;
    line-height: 1.75;
    color: #333;
    margin-bottom: 1.3rem;
}

.about-text em {
    font-style: italic;
    color: #555;
}

.about-text--highlight {
    font-size: 1.2rem;
    font-weight: 600;
    color: #1a1a1a;
    text-align: center;
    margin: 1.8rem 0;
}

.about-benefits {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    margin: 1.8rem 0 2rem;
    padding: 1.6rem 2rem;
    background: #faf7ff;
    border-left: 4px solid #c084fc;
    border-radius: 12px;
}

.about-benefit {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1rem;
    color: #333;
    line-height: 1.5;
}

.about-benefit__icon {
    font-size: 1.4rem;
    flex-shrink: 0;
}

.about-tagline {
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
    color: #1a1a1a;
    margin: 2rem 0 0.5rem;
    letter-spacing: -0.01em;
}

.about-cta {
    text-align: center;
    margin-top: 2.2rem;
}

.about-cta__btn {
    display: inline-block;
    background: #000;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.8rem 2.4rem;
    border-radius: 50px;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.15s ease;
    letter-spacing: 0.03em;
}

.about-cta__btn:hover {
    background: #333;
    color: #fff;
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .about-card {
        padding: 2rem 1.4rem;
    }

    .about-hero__title {
        font-size: 1.9rem;
    }

    .about-benefits {
        padding: 1.2rem 1.2rem;
    }
}

/* ── Contact Page ─────────────────────────────────────────── */
.contact-page {
    max-width: 640px;
    margin: 3rem auto 4rem;
    padding: 0 1.5rem;
}

.contact-hero {
    text-align: center;
    margin-bottom: 2.5rem;
}

.contact-hero__icon {
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 0.6rem;
}

.contact-hero__title {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
}

.contact-hero__subtitle {
    font-size: 1.05rem;
    color: #555;
    line-height: 1.6;
}

.contact-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.07);
    padding: 2.8rem 3rem;
}

.contact-flash-success {
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-radius: 10px;
    color: #166534;
    font-size: 1rem;
    font-weight: 500;
    padding: 1rem 1.25rem;
    margin-bottom: 1.8rem;
    text-align: center;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.contact-field {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.contact-label {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a1a;
    letter-spacing: 0.01em;
}

.contact-input-wrapper {
    position: relative;
}

.contact-input {
    width: 100%;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: 0.97rem;
    padding: 0.75rem 1rem;
    color: #1a1a1a;
    background: #fafafa;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    outline: none;
    font-family: inherit;
}

.contact-input:focus {
    border-color: #c084fc;
    box-shadow: 0 0 0 3px rgba(192, 132, 252, 0.15);
    background: #fff;
}

.contact-select {
    width: 100%;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: 0.97rem;
    padding: 0.75rem 1rem;
    color: #1a1a1a;
    background: #fafafa;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    outline: none;
    font-family: inherit;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%236b7280%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpolyline points=%276 9 12 15 18 9%27%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    padding-right: 2.5rem;
}

.contact-select:focus {
    border-color: #c084fc;
    box-shadow: 0 0 0 3px rgba(192, 132, 252, 0.15);
    background-color: #fff;
}

.contact-textarea {
    width: 100%;
    border: 1.5px solid #d1d5db;
    border-radius: 10px;
    font-size: 0.97rem;
    padding: 0.75rem 1rem;
    color: #1a1a1a;
    background: #fafafa;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
    outline: none;
    font-family: inherit;
    resize: vertical;
    min-height: 140px;
}

.contact-textarea:focus {
    border-color: #c084fc;
    box-shadow: 0 0 0 3px rgba(192, 132, 252, 0.15);
    background: #fff;
}

.contact-char-hint {
    font-size: 0.8rem;
    color: #9ca3af;
    text-align: right;
    margin-top: 0.2rem;
}

.contact-submit {
    margin-top: 0.5rem;
}

.contact-submit__btn {
    display: inline-block;
    background: #000;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.85rem 2.6rem;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.15s ease;
    letter-spacing: 0.03em;
    font-family: inherit;
    width: 100%;
}

.contact-submit__btn:hover {
    background: #333;
    transform: translateY(-1px);
}

@media (max-width: 600px) {
    .contact-card {
        padding: 2rem 1.4rem;
    }

    .contact-hero__title {
        font-size: 1.9rem;
    }
}

/* ===== Impressum Page ===== */
.impressum-page {
    max-width: 760px;
    margin: 3rem auto 4rem;
    padding: 0 1.5rem;
}

.impressum-hero {
    text-align: center;
    margin-bottom: 2.5rem;
}

.impressum-hero__title {
    font-size: 2.4rem;
    font-weight: 700;
    color: #1a1a1a;
    letter-spacing: -0.02em;
}

.impressum-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.07);
    padding: 2.8rem 3rem;
}

.impressum-section {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid #f0edf5;
}

.impressum-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.impressum-legal-note {
    font-size: 0.95rem;
    color: #888;
    font-style: italic;
    margin: 0;
}

.impressum-section__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 0.6rem;
    letter-spacing: -0.01em;
}

.impressum-section__text {
    font-size: 1rem;
    line-height: 1.75;
    color: #333;
    margin: 0;
}

.impressum-link {
    color: #7c3aed;
    text-decoration: none;
    transition: color 0.2s ease;
}

.impressum-link:hover {
    color: #5b21b6;
    text-decoration: underline;
}

@media (max-width: 600px) {
    .impressum-card {
        padding: 2rem 1.4rem;
    }

    .impressum-hero__title {
        font-size: 1.9rem;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0k7UUFDSSxvQkFBb0I7SUFDeEI7O0lBRUE7UUFDSSxpQkFBaUI7SUFDckI7QUFDSjs7QUFFQSwrQkFBK0I7QUFDL0I7SUFDSSxnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLDBDQUEwQztJQUMxQyxvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLGdDQUFnQztBQUNwQzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsU0FBUztBQUNiOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsV0FBVztJQUNYLFNBQVM7QUFDYjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksY0FBYztJQUNkLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJO1FBQ0ksb0JBQW9CO0lBQ3hCOztJQUVBO1FBQ0ksaUJBQWlCO0lBQ3JCO0FBQ0osQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvYXBwLmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBGb250IEltcG9ydHMgKi9cbi8qIE5vdGU6IEJyaWNvbGFnZSBHcm90ZXNxdWUgYW5kIENsYXNoIEdyb3Rlc2sgYXJlIGxvYWRlZCB2aWEgbGluayB0YWdzIGluIG1haW4uaHRtbC50d2lnICovXG4vKiBGb3IgQWVvbmlrLCBhZGQgQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMgYmVsb3cgaWYgeW91IGhhdmUgZm9udCBmaWxlcywgb3IgdXNlIGEgQ0ROICovXG5cbi8qIEV4YW1wbGUgQGZvbnQtZmFjZSBmb3IgQWVvbmlrICh1bmNvbW1lbnQgYW5kIHVwZGF0ZSBwYXRocyBpZiB5b3UgaGF2ZSBmb250IGZpbGVzKTpcbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQWVvbmlrJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQWVvbmlrLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL0Flb25pay1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG4qL1xuXG4vKtCe0LHQvdGD0LvQtdC90LjQtSovXG4qe3BhZGRpbmc6MDttYXJnaW46MDtib3JkZXI6MDt9XG4qLCo6YmVmb3JlLCo6YWZ0ZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O31cbjpmb2N1cyw6YWN0aXZle291dGxpbmU6bm9uZTt9XG5hOmZvY3VzLGE6YWN0aXZle291dGxpbmU6bm9uZTt9XG5uYXYsZm9vdGVyLGhlYWRlcixhc2lkZXtkaXNwbGF5OmJsb2NrO31cbmh0bWwsYm9keXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0OjE7Zm9udC1zaXplOjE0cHg7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbW96LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt9XG5pbnB1dCxidXR0b24sdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDt9XG5pbnB1dDo6LW1zLWNsZWFye2Rpc3BsYXk6bm9uZTt9XG5idXR0b257Y3Vyc29yOnBvaW50ZXI7fVxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVye3BhZGRpbmc6MDtib3JkZXI6MDt9XG5hLGE6dmlzaXRlZHt0ZXh0LWRlY29yYXRpb246bm9uZTt9XG5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO31cbnVsIGxpe2xpc3Qtc3R5bGU6bm9uZTt9XG5pbWd7dmVydGljYWwtYWxpZ246dG9wO31cbmJvZHksXG5odG1sIGJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNwYWNlIEdyb3Rlc2tcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuLypoMSxoMixoMyxoNCxoNSxoNntmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDppbmhlcml0O30qL1xuXG5hIHtcbiAgICBjb2xvcjogYmxhY2s7XG59XG5cbi5ib2R5LXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5tYWluX19wYWdlX19jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5ibG9ja3tcbiAgICB3aWR0aDogMTAwJTtcbn1cbi8qICBmbGV4LWNvbnRhaW5lciAqL1xuLmJsb2NrX3JvdyB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi8qIGZsZXgt0Y3Qu9C10LzQtdC90YIgKi9cbi5ibG9ja19faGVhZGVyLCAuYmxvY2tfX21pZGRsZSwgLmJsb2NrX19mb290ZXIge1xuICAgIC8qYm9yZGVyOiA1cHggc29saWQgIzVlNTM3MzsqL1xufVxuXG4uYmxvY2tfX21pZGRsZSB7XG4gICAgZmxleDogMTtcbn1cblxuLmJsb2NrX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJsb2NrX19oZWFkZXIgaDEsXG4uYmxvY2tfX2hlYWRlciBoMixcbi5ibG9ja19faGVhZGVyIGgzLFxuLmJsb2NrX19oZWFkZXIgaDQsXG4uYmxvY2tfX2hlYWRlciBoNSxcbi5ibG9ja19faGVhZGVyIGg2LFxuLmJsb2NrX19oZWFkZXIgLmhlYWRlcl90ZXh0IGgxIHtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5ibG9ja19faGVhZGVyIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJsb2NrX19oZWFkZXIgaSB7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4vKiAgKi9cbi5ibG9ja19fY29udGFpbmVyIHtcblxufVxuXG4vKiogIEFsZXJ0cyAgKiovXG4uYWxlcnQtZGFuZ2VyIHtcbiAgICBjb2xvcjogcmVkO1xufVxuXG4ubXktY3VzdG9tLWNsYXNzLWZvci1lcnJvcnMge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5teS1jdXN0b20tY2xhc3MtZm9yLWVycm9ycyB1bCxcbi5teS1jdXN0b20tY2xhc3MtZm9yLWVycm9ycyB1bC5mb3JtLWVycm9yLW1lc3NhZ2Uge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5teS1jdXN0b20tY2xhc3MtZm9yLWVycm9ycyBsaSB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmlucHV0X19jb250YWluZXIgdWwsXG4uaW5wdXRfX2NvbnRhaW5lciB1bC5mb3JtLWVycm9yLW1lc3NhZ2Uge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uaW5wdXRfX2NvbnRhaW5lciB1bCBsaSB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4uaW5wdXRfX2NvbnRhaW5lciAuZm9ybS1lcnJvci1tZXNzYWdlIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oZWFkZXJfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmJsb2NrX2hlYWRlcl9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5oZWFkZXJfdGV4dCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgZm9udC1zaXplOiBtZWRpdW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBAaW5fc2NyZWVuICovXG4uaGVhZGVyX3RleHRfbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCA1cHggMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMmVtO1xufVxuXG4uaGVhZGVyX3RleHRfcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IDVweCAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZm9vdGVyX2luc3RhZ3JhbV9saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZm9vdGVyX2luc3RhZ3JhbV9pY29uIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLmhlYWRlcl90ZXh0X3JpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB0b3A6IC0wLjdlbTtcbiAgICBib3R0b206IC0wLjdlbTtcbn1cblxuLmhlYWRlcl90ZXh0X2JvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xufVxuXG4uaGVhZGVyX21lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtYXJnaW46IDEwcHggNXB4IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IEZ1dHVyYTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4uaGVhZGVyX21lbnVfaXRlbSB7XG59XG5cbi5tYWluX19wYWdlX19jb250ZW50IC5oZWFkZXJfdGV4dF9taWRkbGUge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxLjVlbTtcbn1cblxuLmhlYWRlcl90ZXh0X21pZGRsZSB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEuNWVtO1xuICAgIG1hcmdpbjogMHB4IDZlbTtcbn1cblxuLmhlYWRlcl90ZXh0X21pZGRsZSBhIHtcbiAgICBtYXJnaW46IDAgMC41ZW07XG59XG5cbi5oZWFkZXJfdGV4dF90b3BfX215LXByb2ZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qIOKUgOKUgCBMYW5ndWFnZSBTd2l0Y2hlciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5sYW5nLXN3aXRjaGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjJlbTtcbn1cblxuLmxhbmctc3dpdGNoZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zNWVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIHBhZGRpbmc6IDAuM2VtIDAuNjVlbTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTUwbXMgZWFzZSwgYmFja2dyb3VuZCAxNTBtcyBlYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5sYW5nLXN3aXRjaGVyX190b2dnbGU6aG92ZXIsXG4ubGFuZy1zd2l0Y2hlcl9fdG9nZ2xlOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ubGFuZy1zd2l0Y2hlcl9fZmxhZyB7XG4gICAgZm9udC1zaXplOiAxLjE1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sYW5nLXN3aXRjaGVyX19hcnJvdyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xufVxuXG4ubGFuZy1zd2l0Y2hlcl9fdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5sYW5nLXN3aXRjaGVyX19hcnJvdyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmxhbmctc3dpdGNoZXJfX2Ryb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDZweCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA0cHggMDtcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG59XG5cbi5sYW5nLXN3aXRjaGVyX19kcm9wZG93bi0tb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sYW5nLXN3aXRjaGVyX19vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2U7XG59XG5cbi5sYW5nLXN3aXRjaGVyX19vcHRpb24gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC41ZW07XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICBwYWRkaW5nOiAwLjVlbSAwLjllbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5sYW5nLXN3aXRjaGVyX19vcHRpb246aG92ZXIsXG4ubGFuZy1zd2l0Y2hlcl9fb3B0aW9uLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLmxhbmctc3dpdGNoZXJfX29wdGlvbjpob3ZlciBhLFxuLmxhbmctc3dpdGNoZXJfX29wdGlvbi0tYWN0aXZlIGEge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4ubGFuZy1zd2l0Y2hlcl9fb3B0aW9uLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5tYWluX19wYWdlX19jb250ZW50IC5oZWFkZXJfdGV4dF9yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uaGVhZGVyX3RleHRfYm90dG9tIHtcblxufVxuXG4uaGVhZGVyX3RleHRfcmlnaHQgLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJsb2NrX19taWRkbGUgLmJsb2NrX19jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5ibG9ja19fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJSBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5ibG9ja19fZm9vdGVyIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cbi5ibG9ja19fZm9vdGVyX2NvbnRlbnRfbGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDEuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xufVxuXG4uYmxvY2tfX2Zvb3Rlcl9jb250ZW50X2xlZnQgYSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYmxvY2tfX2Zvb3Rlcl9jb250ZW50X3JpZ2h0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xufVxuXG4uYmxvY2tfX2Zvb3Rlcl9jb250ZW50X2NlbnRlciB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZ2FwOiAyZW07XG59XG5cbi5ibG9ja19fZm9vdGVyX2NvbnRlbnRfY2VudGVyIGEge1xuICAgIG1hcmdpbjogMCAxZW07XG59XG5cbi5ibG9ja19mb290ZXJfY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogbWVkaXVtO1xufVxuXG4uYmxvY2tfX2NvbnRlbnRfdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLmJsb2NrX19jb250ZW50X19idXR0b25zIHtcbiAgICBtYXJnaW46IDIwcHggNXB4O1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4uc2lnbnVwLXByb21wdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGZmZjY7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjN2RiZThlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAwLjlyZW0gMS40cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnNpZ251cC1wcm9tcHQgYSB7XG4gICAgY29sb3I6ICMxZThhM2E7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLnNpZ251cC1wcm9tcHQgYTpob3ZlciB7XG4gICAgY29sb3I6ICMxNDVjMjc7XG59XG5cbi5ibG9ja19fY29udGVudF9fYnV0dG9ucyAgYS5idXR0b24gLCBidXR0b24uYnV0dG9uLCBidXR0b24sIC5idXR0b25fc2VhcmNoIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yOiBwaW5rOyovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBsaW5lYXI7XG4gICAgLyptYXJnaW46IDAuNXJlbSAycmVtOyovXG4gICAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbi5ibG9ja19fY29udGVudF9fbWFrZXVwX3Bob3RvcyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLypidXR0b24uY2xvc2UgeyovXG4vKiAgICBjb2xvcjogd2hpdGU7Ki9cbi8qICAgICEqYmFja2dyb3VuZC1jb2xvcjogcGluazsqISovXG4vKiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsqL1xuLyogICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07Ki9cbi8qICAgIHBhZGRpbmc6IDFyZW0gMXJlbTsqL1xuLyogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyovXG4vKiAgICAhKnRyYW5zaXRpb246IGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGxpbmVhcjsqISovXG4vKiAgICAhKm1hcmdpbjogMC41cmVtIDJyZW07KiEqL1xuLyogICAgZm9udC1zaXplOiAxcmVtOyovXG4vKiAgICAhKmJveC1zaGFkb3c6IDVweCA1cHggZGltZ3JheTsqISovXG4vKiAgICB3aWR0aDogMTAlOyovXG4vKn0qL1xuXG5idXR0b24uYnRuLWNvbmZpcm0tZGx0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYnV0dG9uX3NlYXJjaCB7XG4gICAgd2lkdGg6IDQwJVxufVxuXG4uYmxvY2tfX2NvbnRlbnRfX2J1dHRvbnMgIGEuYnV0dG9uOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAxcHggMnB4IDVweCAjNzc3O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IGRpbWdyYXk7XG59XG5cbiNzYXZlLWltYWdlLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiogaW5wdXRzICoqL1xuXG4uaW5wdXRfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5wdXRfX2NvbnRhaW5lciAuaW5wdXRfX2lubmVyLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW5wdXRfX2NvbnRhaW5lciAuaW5wdXRfX2lucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBmb250LWZhbWlseTogQXZlbmlyIE5leHQsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMTdweCA1MHB4IDE3cHggMTVweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmlucHV0X19jb250YWluZXIgLmlucHV0X19jaGVja2JveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1mYW1pbHk6IEF2ZW5pciBOZXh0LEhlbHZldGljYSBOZXVlLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDE3cHggNTBweCAxN3B4IDE1cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbnB1dF9fY2hlY2tib3ggaW5wdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4ucGFzc3dvcmRfZm9yZ290IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLyogQGJhc2VfdGVtcGxhdGUgKi9cblxuLmNvbnRlbnQgLmhlYWRlcl90ZXN0X3RvcF9sYW5ndWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG59XG5cbi5jb250ZW50IC5oZWFkZXJfX3JvdyAge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jb250ZW50IC5zdmctaW5saW5lLS1mYSB7XG4gICAgY29sb3I6IGhvdHBpbms7XG59XG5cblxuLyoqIGFwcF9sb2dpbiAqKi9cbi5ibG9ja19fZm9ybS1sb2dpbiwgLmJsb2NrX19mb3JtX19zaWdudXAge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5ibG9ja19fZm9ybS1zaWdudXAge1xuICAgIHdpZHRoOiA0NTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ucGFzc3dvcmQtcmVxdWlyZW1lbnRzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucGFzc3dvcmQtcmVxdWlyZW1lbnRzIGxpIHtcbiAgICBjb2xvcjogZ3JlZW47XG59XG5cbi5ibG9ja19fZm9ybS1sb2dpbiBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmlucHV0X19pbm5lci13cmFwcGVyLS1pY29uIHtcbiAgICB0b3A6IC0zM3B4O1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNmZmY7ICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDBweDtcbiAgICByaWdodDogLTQ5NXB4O1xufVxuXG4uaW5wdXRfaW5uZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGFzc3dvcmQtdG9nZ2xlLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDMlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5wYXNzd29yZC10b2dnbGUtYnRuOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbn1cblxuLnBhc3N3b3JkLXRvZ2dsZS1idG46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5pbnB1dF9fY2hlY2tib3hfaW5uZXItd3JhcHBlci0taWNvbiB7XG4gICAgdG9wOiAtMzBweDtcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyAqL1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHdpZHRoOiAwcHg7XG4gICAgbGVmdDogLTElO1xufVxuXG4vKiBtYWtldXBfYXJ0aXN0L2xpc3QgKi9cblxuLnByb2ZpbGVzX19saXN0IHtcblxufVxuLnByb2ZpbGVzX19saXN0X2hlYWRlciwgLnByb2ZpbGVfX215X2FwcG9pbnRtZW50c19saXN0X2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbjogMTBweCAwcHg7XG59XG5cbi5wcm9maWxlc19fbGlzdF9oZWFkZXIgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLnByb2ZpbGVzX19saXN0X2xpc3QsIC5wcm9maWxlX19teV9hcHBvaW50bWVudHNfbGlzdF93cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi5wcm9maWxlc19fbGlzdF9saXN0LCAucHJvZmlsZV9fbXlfYXBwb2ludG1lbnRzX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDEwcHggNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvZmlsZXNfX2xpc3RfaXRlbSwgLnByb2ZpbGVfX215X2FwcG9pbnRtZW50c19saXN0X2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMTBweCA1cHg7XG59XG5cbi5wcm9maWxlc19fbGlzdF9jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5wcm9maWxlc19fZmlsdGVyc19sYWJlbCBzcGFuIHtcbiAgICBmb250LWZhbWlseTogRnV0dXJhO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5wcm9maWxlc19fZmlsdGVyc19mb3JtIHtcbiAgICB3aWR0aDogMjUlO1xufVxuXG4ucHJvZmlsZXNfX2ZpbHRlcnNfY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47XG59XG5cbi5wcm9maWxlc19fZmlsdGVyc19maWx0ZXIge1xuICAgIG1hcmdpbjogMTBweCAxNXB4O1xufVxuXG4ucHJvZmlsZXNfX2ZpbHRlcnNfZmlsdGVyIGRpdiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnByb2ZpbGVzX19maWx0ZXJzX2xhYmVsIHtcblxufVxuXG4ucHJvZmlsZXNfX2ZpbHRlcnNfY2F0ZWdvcnlfZmlsdGVyIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLnByb2ZpbGVzX19maWx0ZXJzX2NhdGVnb3J5X2ZpbHRlciBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5wcm9maWxlc19fZmlsdGVyc19wcmljZV9maWx0ZXIgaW5wdXQge1xuICAgIGJvcmRlcjogc2xhdGVncmV5IDFweCBzb2xpZDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi8qICAvYXJ0aXN0L3BvcnRmb2xpbyAqL1xuLnByb2ZpbGVfX3dyYXBwZXIge1xuXG59XG5cbi5wcm9maWxlX19jb250ZW50X3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnByb2ZpbGVfX21lbnUge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWFyZ2luLWxlZnQ6IDUlO1xufVxuXG4ucHJvZmlsZV9fbWVudV9oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBtYXJnaW46IDUlIDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wcm9maWxlX19tZW51X2hlYWRlcl9pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiA1JTtcblxufVxuXG4ucHJvZmlsZV9fbWVudV9oZWFkZXJfaXRlbSBhOmhvdmVyIHtcbiAgICBjb2xvcjogaG90cGluaztcbn1cbi5wcm9maWxlX19tZW51X2hlYWRlcl9pdGVtIGEge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbn1cbi5wcm9maWxlX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMS41cmVtIDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9maWxlX19jb250ZW50X3RvcCB7XG4gICAgaGVpZ2h0OiAyMCU7XG5cbn1cblxuLnByb2ZpbGVfX2NvbnRlbnRfY2VudGVyIHtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ucHJvZmlsZV9fY29udGVudF90b3BfYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5wcm9maWxlX19jb250ZW50X2ltYWdlc19saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG59XG5cbi5wcm9maWxlX19jb250ZW50X2ltYWdlX2NhdGVnb3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLnByb2ZpbGVfX2NvbnRlbnRfaW1hZ2VzX2l0ZW0ge1xuICAgIGJveC1zaGFkb3c6IDhweCA4cHggOHB4IGdyZXk7XG59XG5cbi8qIFVwbG9hZCBwaG90b3MgKi9cbi5wcm9maWxlX19jb250ZW50IC5jdXN0b20tZmlsZS1jb250YWluZXJfX2ltYWdlLXByZXZpZXcge1xuICAgIGhlaWdodDogNTAwcHg7XG59XG5cbi5wcm9maWxlX19jb250ZW50IC5jdXN0b20tZmlsZS1jb250YWluZXJfX2ltYWdlLW11bHRpLXByZXZpZXcge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnByb2ZpbGVfX2NvbnRlbnRfbXktcHJvZmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiA3MCU7XG59XG5cbi5wcm9maWxlX19jb250ZW50X215LXByb2ZpbGUtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xufVxuXG4ucHJvZmlsZV9fY29udGVudF9teS1wcm9maWxlIC5jdXN0b20tZmlsZS1jb250YWluZXJfX2F2YXRhciB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB3aWR0aDogMjUlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5wcm9maWxlX19jb250ZW50X215LXByb2ZpbGUgLmN1c3RvbS1maWxlLWNvbnRhaW5lcl9faW1hZ2UtcHJldmlldyB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB3aWR0aDogMjUlO1xuICAgIC8qZGlzcGxheTogbm9uZTsqL1xufVxuXG4ucHJvZmlsZV9fY29udGVudF9teS1wcm9maWxlIC5jdXN0b20tZmlsZS1jb250YWluZXJfX2ltYWdlLWxhYmVscyB7XG4gICAgd2lkdGg6IDI1JTtcbn1cblxuLnByb2ZpbGVfX2NvbnRlbnRfbXktcHJvZmlsZSBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4vKiAvc2NoZWR1bGUvY3JlYXRlICovXG5cbi5wcm9maWxlX19jb250ZW50X3NjaGVkdWxlIC5mYyAuZmMtYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNhZGV0Ymx1ZTtcbiAgICBib3JkZXItY29sb3I6IGNhZGV0Ymx1ZTtcbn1cblxuLyogbXlfYXBwb2ludG1lbnRzICovXG4ucHJvZmlsZV9fbXlfYXBwb2ludG1lbnRzX2xpc3RfaXRlbV93cmFwcGVyIHtcbiAgICBtYXJnaW46IDEwcHggMXB4O1xufVxuXG4ubm90LWNvbmZpcm1lZC1hcHBvaW50bWVudC1pdGVtIHtcbiAgICBib3JkZXI6IDJweCBncmV5IHNvbGlkO1xufVxuXG4uY29uZmlybWVkLWFwcG9pbnRtZW50LWl0ZW0ge1xuICAgIGJvcmRlcjogMnB4IGRhcmtjeWFuIHNvbGlkO1xufVxuXG4uZGVjbGluZWQtYXBwb2ludG1lbnQtaXRlbSB7XG4gICAgYm9yZGVyOiAycHggcGFsZXZpb2xldHJlZCBzb2xpZDtcbn1cblxuXG4ucHJvZmlsZV9fbXlfYXBwb2ludG1lbnRzX2xpc3RfaXRlbV9jb250ZW50IHtcbiAgICBtYXJnaW46IDFyZW0gMS41cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5zdGF0dXMtbm90LWNvbmZpcm1lZCB7XG4gICAgY29sb3I6IGdyZXk7XG59XG5cbi5zdGF0dXMtY29uZmlybWVkIHtcbiAgICBjb2xvcjogZGFya2N5YW47XG59XG5cbi5zdGF0dXMtZGVjbGluZWQge1xuICAgIGNvbG9yOiBwYWxldmlvbGV0cmVkO1xufXNcbi8qIGhvbWUvaW5kZXguaHRtbC50d2lnICovXG4udmlkZW9WaWV3LCAuZGV0ZWN0T25DbGljaywgLmJsZW5kLXNoYXBlcywgLmFjdGlvbi1idXR0b25zLXdyYXBwZXIsIC5ibG9ja19fY29udGVudF9fbWFrZXVwX3Bob3Rvc193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQ4JTtcbiAgICBtYXJnaW46IDIlIDElO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRldGVjdE9uQ2xpY2ssIC5ibG9ja19fY29udGVudF9fbWFrZXVwX3Bob3Rvc193cmFwcGVyIHtcbiAgICB6LWluZGV4OiAwO1xufVxuXG4vKiBUZW5zb3IgZWxlbWVudHMgKi9cbnNlY3Rpb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcyBlYXNlLWluLW91dDtcbn1cbi5pbnZpc2libGUge1xuICAgIG9wYWNpdHk6IDAuMjtcbn1cblxuLmRldGVjdE9uQ2xpY2sgcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3ZjhiO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgei1pbmRleDogMjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xufVxuLmNhbnZhcyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ub3V0cHV0X2NhbnZhcyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpO1xufVxuXG4uZGV0ZWN0T25DbGljaywgLmJsb2NrX19jb250ZW50X19tYWtldXBfcGhvdG9zX3dyYXBwZXIge1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDM1MHB4O1xufVxuXG4uZGV0ZWN0T25DbGljayBpbWcsIC5ibG9ja19fY29udGVudF9fbWFrZXVwX3Bob3Rvc193cmFwcGVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ibGVuZC1zaGFwZXMtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuLmJsZW5kLXNoYXBlcy1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4uYmxlbmQtc2hhcGVzLXZhbHVlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOGI7XG59XG5cbiNkZW1vcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbiNkZW1vcyBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jZGVtb3MgLmJsb2NrX19jb250ZW50X19idXR0b25zIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyog4pSA4pSA4pSAIEhhbWJ1cmdlciAvIE1vYmlsZSBOYXYgVG9nZ2xlIOKUgOKUgOKUgCAqL1xuLmhlYWRlcl9faGFtYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgbWluLXdpZHRoOiA0NHB4O1xufVxuXG4uaGVhZGVyX19oYW1idXJnZXItYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZSwgb3BhY2l0eSAyMDBtcyBlYXNlO1xufVxuXG4uaGVhZGVyX19oYW1idXJnZXJbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLmhlYWRlcl9faGFtYnVyZ2VyLWJhcjpudGgtY2hpbGQoMSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5oZWFkZXJfX2hhbWJ1cmdlclthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSAuaGVhZGVyX19oYW1idXJnZXItYmFyOm50aC1jaGlsZCgyKSB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmhlYWRlcl9faGFtYnVyZ2VyW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5oZWFkZXJfX2hhbWJ1cmdlci1iYXI6bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCkgcm90YXRlKC00NWRlZyk7XG59XG5cbi8qIE9uIGRlc2t0b3AgdGhlIHdyYXBwZXIgaXMgaW52aXNpYmxlIOKAlCBjaGlsZHJlbiBwYXJ0aWNpcGF0ZSBub3JtYWxseSBpbiB0aGUgZmxleCByb3cgKi9cbi5oZWFkZXJfX25hdi1jb2xsYXBzaWJsZSB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi8qIE1vYmlsZSBWZXJzaW9uIENTUyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAvKiBCYXNlICovXG4gICAgaHRtbCwgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG5cbiAgICAuYm9keS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIH1cblxuICAgIC5ibG9ja19yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5ibG9ja19faGVhZGVyLCAuYmxvY2tfX21pZGRsZSwgLmJsb2NrX19mb290ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qIOKUgOKUgCBIZWFkZXIg4pSA4pSAICovXG4gICAgLmhlYWRlcl9fcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAvKiBLZWVwIHRoZSBoZWFkZXIgYmFyIGFzIGEgc2luZ2xlIHJvdzogW0hvbWVdIFtIYW1idXJnZXJdICovXG4gICAgLmhlYWRlcl90ZXh0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgIH1cblxuICAgIC5oZWFkZXJfdGV4dF9sZWZ0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLyogU2hvdyBoYW1idXJnZXIgb24gbW9iaWxlICovXG4gICAgLmhlYWRlcl9faGFtYnVyZ2VyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAvKiBDb2xsYXBzaWJsZSBuYXY6IGhpZGRlbiBieSBkZWZhdWx0IG9uIG1vYmlsZSwgc2hvd24gd2hlbiAub3BlbiAqL1xuICAgIC5oZWFkZXJfX25hdi1jb2xsYXBzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fbmF2LWNvbGxhcHNpYmxlLm9wZW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC8qIE5hdiBsaW5rcyByb3cgKi9cbiAgICAuaGVhZGVyX3RleHRfbWlkZGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMC43NWVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgZ2FwOiAwLjI1ZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5oZWFkZXJfdGV4dF9taWRkbGUgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMC41ZW0gMC41ZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLyogQXV0aCArIGxhbmcgcm93ICovXG4gICAgLmhlYWRlcl90ZXh0X3JpZ2h0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNzVlbTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB9XG5cbiAgICAvKiBIaWRlIHRoZSB2ZXJ0aWNhbCBkaXZpZGVyIHBzZXVkby1lbGVtZW50ICovXG4gICAgLmhlYWRlcl90ZXh0X3JpZ2h0OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5oZWFkZXJfdGV4dCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICB9XG5cbiAgICAvKiDilIDilIAgQnV0dG9ucyDilIDilIAgKi9cbiAgICAuYmxvY2tfX2NvbnRlbnRfX2J1dHRvbnMge1xuICAgICAgICBtYXJnaW46IDEwcHggMnB4O1xuICAgIH1cblxuICAgIC5ibG9ja19fY29udGVudF9fYnV0dG9ucyBhLmJ1dHRvbiwgYnV0dG9uLmJ1dHRvbiwgLmJ1dHRvbl9zZWFyY2gge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDAuOHJlbTtcbiAgICB9XG5cbiAgICAvKiDilIDilIAgSG9tZSBwYWdlIGltYWdlIHVwbG9hZCBib3hlcyDilIDilIAgKi9cbiAgICAuYmxvY2tfX2NvbnRlbnRfX21ha2V1cF9waG90b3Mge1xuICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAvKiBPdmVycmlkZSB0aGUgaGFyZGNvZGVkIDM1MHB4IHdpZHRoIHNvIGltYWdlcyBmaWxsIHRoZSBzY3JlZW4gKi9cbiAgICAuZGV0ZWN0T25DbGljayxcbiAgICAuYmxvY2tfX2NvbnRlbnRfX21ha2V1cF9waG90b3Nfd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMSUgMDtcbiAgICB9XG5cbiAgICAvKiBUZW5zb3IgLyBmYWNlIGRldGVjdGlvbiBlbGVtZW50cyAqL1xuICAgIC52aWRlb1ZpZXcsIC5ibGVuZC1zaGFwZXMsIC5hY3Rpb24tYnV0dG9ucy13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMSUgMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuXG4gICAgI2RlbW9zIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLyog4pSA4pSAIEZvb3RlciDilIDilIAgKi9cbiAgICAuYmxvY2tfX2Zvb3RlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuYmxvY2tfX2Zvb3Rlcl9jb250ZW50X2xlZnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgICAgICBnYXA6IDFlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5ibG9ja19fZm9vdGVyX2NvbnRlbnRfcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgfVxuXG4gICAgLmJsb2NrX19mb290ZXJfY29udGVudF9jZW50ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCAxZW07XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIGdhcDogMWVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuYmxvY2tfX2Zvb3Rlcl9jb250ZW50X2NlbnRlciBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuNWVtO1xuICAgIH1cblxuICAgIC5ibG9ja19mb290ZXJfY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICB9XG5cbiAgICAvKiDilIDilIAgRm9ybXMg4pSA4pSAICovXG4gICAgLmJsb2NrX19mb3JtLWxvZ2luLCAuYmxvY2tfX2Zvcm1fX3NpZ251cCwgLmJsb2NrX19mb3JtLXNpZ251cCB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIH1cblxuICAgIC5pbnB1dF9fY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmlucHV0X19jb250YWluZXIgLmlucHV0X19pbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggNDBweCAxMnB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAvKiDilIDilIAgUHJvZmlsZSAvIGFydGlzdCBsaXN0IOKUgOKUgCAqL1xuICAgIC5wcm9maWxlc19fbGlzdF9saXN0LCAucHJvZmlsZV9fbXlfYXBwb2ludG1lbnRzX2xpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5wcm9maWxlc19fbGlzdF9pdGVtLCAucHJvZmlsZV9fbXlfYXBwb2ludG1lbnRzX2xpc3RfaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgIH1cblxuICAgIC5wcm9maWxlX19jb250ZW50X215LXByb2ZpbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucHJvZmlsZV9fY29udGVudF9teS1wcm9maWxlIC5jdXN0b20tZmlsZS1jb250YWluZXJfX2F2YXRhcixcbiAgICAucHJvZmlsZV9fY29udGVudF9teS1wcm9maWxlIC5jdXN0b20tZmlsZS1jb250YWluZXJfX2ltYWdlLXByZXZpZXcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG5cbiAgICAvKiDilIDilIAgTGVnYWN5IGhlYWRlciBtZW51IOKUgOKUgCAqL1xuICAgIC5oZWFkZXJfbWVudSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX21lbnVfaXRlbSB7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxufVxuXG4vKiBMb2FkaW5nIE92ZXJsYXkgKi9cbi5sb2FkaW5nLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubG9hZGluZy1vdmVybGF5LmFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmxvYWRpbmctc3Bpbm5lciB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLyogRmxhc2ggTWVzc2FnZXMgKi9cbi5mbGFzaC1ub3RpY2Uge1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mbGFzaC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRlZGRhO1xuICAgIGNvbG9yOiAjMTU1NzI0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjM2U2Y2I7XG59XG5cbi5mbGFzaC1lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDdkYTtcbiAgICBjb2xvcjogIzcyMWMyNDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVjNmNiO1xufVxuXG4vKiBwcm9maWxlL2dhbGxlcnkgc2lkZWJhciBtZW51ICovXG4ucHJvZmlsZS1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIG1pbi1oZWlnaHQ6IDcwdmg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcbn1cblxuLnByb2ZpbGUtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5wcm9maWxlLWNvbnRlbnQtZ2FsbGVyeSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4ucHJvZmlsZS1jb250ZW50LWdhbGxlcnlfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvZmlsZS1jb250ZW50LWdhbGxlcnlfX2RlbGV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTE0cHg7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwgMC42NSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEyMG1zIGVhc2UsIHRyYW5zZm9ybSAxMjBtcyBlYXNlLCBvcGFjaXR5IDEyMG1zIGVhc2U7XG59XG5cbi5wcm9maWxlLWNvbnRlbnQtZ2FsbGVyeV9fZGVsZXRlOmhvdmVyLFxuLnByb2ZpbGUtY29udGVudC1nYWxsZXJ5X19kZWxldGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucHJvZmlsZS1jb250ZW50LWdhbGxlcnlfX2RlbGV0ZTphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG59XG5cbi5wcm9maWxlLWNvbnRlbnQtZ2FsbGVyeV9faXRlbSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC5wcm9maWxlLWNvbnRlbnQtZ2FsbGVyeSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLnByb2ZpbGUtY29udGVudC1nYWxsZXJ5IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucHJvZmlsZS1jb250ZW50LWdhbGxlcnkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5wcm9maWxlLWNvbnRlbnQtZ2FsbGVyeSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbn1cblxuLnByb2ZpbGUtbWVudSB7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgcGFkZGluZzogMjBweCAxNnB4O1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi5wcm9maWxlLW1lbnVfX2xpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4ucHJvZmlsZS1tZW51X19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgZWFzZTtcbn1cblxuLnByb2ZpbGUtbWVudV9fbGluazpob3Zlcixcbi5wcm9maWxlLW1lbnVfX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIOKUgOKUgCBQcm9maWxlIG1lbnU6IGhvcml6b250YWwgdGFiIGJhciBvbiBtb2JpbGUg4pSA4pSAICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wcm9maWxlLWxheW91dCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBnYXA6IDA7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1tZW51X19saXN0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1tZW51X19saXN0Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtbWVudV9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLWhlaWdodDogNDhweDtcbiAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgZWFzZSwgYm9yZGVyLWNvbG9yIDE1MG1zIGVhc2UsIGJhY2tncm91bmQgMTUwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAucHJvZmlsZS1tZW51X19saW5rOmhvdmVyLFxuICAgIC5wcm9maWxlLW1lbnVfX2xpbms6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT1cbiAgIENvb2tpZSBDb25zZW50IEJhbm5lclxuICAgPT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jb29raWUtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTUpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI4MG1zIGVhc2U7XG59XG5cbi5jb29raWUtb3ZlcmxheVthcmlhLWhpZGRlbj1cInRydWVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb29raWUtb3ZlcmxheS0taGlkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY29va2llLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIlNwYWNlIEdyb3Rlc2tcIiwgc2Fucy1zZXJpZjtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29va2llLWJhbm5lcl9fbWFpbiB7XG4gICAgcGFkZGluZzogMzJweCAzNnB4IDI4cHg7XG59XG5cbi5jb29raWUtYmFubmVyX190ZXh0IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44OCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbn1cblxuLmNvb2tpZS1iYW5uZXJfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE2cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBCdXR0b25zICovXG4uY29va2llLWJ0biB7XG4gICAgZm9udC1mYW1pbHk6IFwiU3BhY2UgR3JvdGVza1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgcGFkZGluZzogMTFweCAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBlYXNlLCBjb2xvciAxNTBtcyBlYXNlLCB0cmFuc2Zvcm0gODBtcyBlYXNlLCBib3gtc2hhZG93IDE1MG1zIGVhc2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jb29raWUtYnRuLS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMTExO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cblxuLmNvb2tpZS1idG4tLXByaW1hcnk6aG92ZXIsXG4uY29va2llLWJ0bi0tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcbiAgICBib3JkZXItY29sb3I6ICNlOGU4ZTg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmNvb2tpZS1idG4tLXByaW1hcnk6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLmNvb2tpZS1idG4tLW91dGxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4uY29va2llLWJ0bi0tb3V0bGluZTpob3Zlcixcbi5jb29raWUtYnRuLS1vdXRsaW5lOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uY29va2llLWJ0bi0tb3V0bGluZTphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xufVxuXG4vKiBTZXR0aW5ncyBQYW5lbCAqL1xuLmNvb2tpZS1iYW5uZXJfX3NldHRpbmdzIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICBwYWRkaW5nOiAyNHB4IDM2cHggMjhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xufVxuXG4uY29va2llLXNldHRpbmdzX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNvb2tpZS1zZXR0aW5nc19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmNvb2tpZS1zZXR0aW5nc19fY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgZWFzZTtcbn1cblxuLmNvb2tpZS1zZXR0aW5nc19fY2xvc2U6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBDb29raWUgQ2F0ZWdvcmllcyAqL1xuLmNvb2tpZS1jYXRlZ29yeSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gICAgcGFkZGluZzogMTZweCAwO1xufVxuXG4uY29va2llLWNhdGVnb3J5Omxhc3Qtb2YtdHlwZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi5jb29raWUtY2F0ZWdvcnlfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4uY29va2llLWNhdGVnb3J5X19pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5jb29raWUtY2F0ZWdvcnlfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uY29va2llLWNhdGVnb3J5X19kZXNjIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xufVxuXG4vKiBUb2dnbGUgU3dpdGNoICovXG4uY29va2llLXRvZ2dsZS0tYWx3YXlzLW9uIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xufVxuXG4uY29va2llLXRvZ2dsZV9fc3dpdGNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY29va2llLXRvZ2dsZV9fc3dpdGNoIGlucHV0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jb29raWUtdG9nZ2xlX19zbGlkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5jb29raWUtdG9nZ2xlX19zbGlkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzcHg7XG4gICAgbGVmdDogM3B4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbn1cblxuLmNvb2tpZS10b2dnbGVfX3N3aXRjaCBpbnB1dDpjaGVja2VkICsgLmNvb2tpZS10b2dnbGVfX3NsaWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmY7XG59XG5cbi5jb29raWUtdG9nZ2xlX19zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIC5jb29raWUtdG9nZ2xlX19zbGlkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbn1cblxuLmNvb2tpZS10b2dnbGVfX3N3aXRjaCBpbnB1dDpmb2N1cyArIC5jb29raWUtdG9nZ2xlX19zbGlkZXIge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogU2V0dGluZ3MgRm9vdGVyICovXG4uY29va2llLXNldHRpbmdzX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmNvb2tpZS1iYW5uZXJfX21haW4ge1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHggMjBweDtcbiAgICB9XG5cbiAgICAuY29va2llLWJhbm5lcl9fc2V0dGluZ3Mge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjRweDtcbiAgICB9XG5cbiAgICAuY29va2llLWJhbm5lcl9fYWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC5jb29raWUtYnRuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29va2llLXNldHRpbmdzX19mb290ZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5jb29raWUtY2F0ZWdvcnlfX2Rlc2Mge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4vKiA9PT09PSBBYm91dCBQYWdlID09PT09ICovXG4uYWJvdXQtcGFnZSB7XG4gICAgbWF4LXdpZHRoOiA3NjBweDtcbiAgICBtYXJnaW46IDNyZW0gYXV0byA0cmVtO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuXG4uYWJvdXQtaGVybyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmFib3V0LWhlcm9fX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjZyZW07XG59XG5cbi5hYm91dC1oZXJvX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuLmFib3V0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgcGFkZGluZzogMi44cmVtIDNyZW07XG59XG5cbi5hYm91dC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMDhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xufVxuXG4uYWJvdXQtdGV4dCBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjNTU1O1xufVxuXG4uYWJvdXQtdGV4dC0taGlnaGxpZ2h0IHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDEuOHJlbSAwO1xufVxuXG4uYWJvdXQtYmVuZWZpdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuOXJlbTtcbiAgICBtYXJnaW46IDEuOHJlbSAwIDJyZW07XG4gICAgcGFkZGluZzogMS42cmVtIDJyZW07XG4gICAgYmFja2dyb3VuZDogI2ZhZjdmZjtcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNjMDg0ZmM7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbn1cblxuLmFib3V0LWJlbmVmaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5hYm91dC1iZW5lZml0X19pY29uIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLmFib3V0LXRhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBtYXJnaW46IDJyZW0gMCAwLjVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG59XG5cbi5hYm91dC1jdGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAyLjJyZW07XG59XG5cbi5hYm91dC1jdGFfX2J0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMC44cmVtIDIuNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGVhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbn1cblxuLmFib3V0LWN0YV9fYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmFib3V0LWNhcmQge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDEuNHJlbTtcbiAgICB9XG5cbiAgICAuYWJvdXQtaGVyb19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICB9XG5cbiAgICAuYWJvdXQtYmVuZWZpdHMge1xuICAgICAgICBwYWRkaW5nOiAxLjJyZW0gMS4ycmVtO1xuICAgIH1cbn1cblxuLyog4pSA4pSAIENvbnRhY3QgUGFnZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbi5jb250YWN0LXBhZ2Uge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG8gNHJlbTtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbn1cblxuLmNvbnRhY3QtaGVybyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmNvbnRhY3QtaGVyb19faWNvbiB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNnJlbTtcbn1cblxuLmNvbnRhY3QtaGVyb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uY29udGFjdC1oZXJvX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi5jb250YWN0LWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4wNyk7XG4gICAgcGFkZGluZzogMi44cmVtIDNyZW07XG59XG5cbi5jb250YWN0LWZsYXNoLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICNmMGZkZjQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg2ZWZhYztcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbG9yOiAjMTY2NTM0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY29udGFjdC1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxLjI1cmVtO1xufVxuXG4uY29udGFjdC1maWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMC40cmVtO1xufVxuXG4uY29udGFjdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xufVxuXG4uY29udGFjdC1pbnB1dC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWN0LWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDEuNXB4IHNvbGlkICNkMWQ1ZGI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDAuOTdyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMThzIGVhc2UsIGJveC1zaGFkb3cgMC4xOHMgZWFzZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uY29udGFjdC1pbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzA4NGZjO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDE5MiwgMTMyLCAyNTIsIDAuMTUpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5jb250YWN0LXNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxLjVweCBzb2xpZCAjZDFkNWRiO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjk3cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2U7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM2YjcyODAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNiA5IDEyIDE1IDE4IDknJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cblxuLmNvbnRhY3Qtc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNjMDg0ZmM7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMTkyLCAxMzIsIDI1MiwgMC4xNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLmNvbnRhY3QtdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgI2QxZDVkYjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45N3JlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xOHMgZWFzZSwgYm94LXNoYWRvdyAwLjE4cyBlYXNlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBtaW4taGVpZ2h0OiAxNDBweDtcbn1cblxuLmNvbnRhY3QtdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2MwODRmYztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxOTIsIDEzMiwgMjUyLCAwLjE1KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uY29udGFjdC1jaGFyLWhpbnQge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiAjOWNhM2FmO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDAuMnJlbTtcbn1cblxuLmNvbnRhY3Qtc3VibWl0IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5jb250YWN0LXN1Ym1pdF9fYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAwLjg1cmVtIDIuNnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb250YWN0LXN1Ym1pdF9fYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmNvbnRhY3QtY2FyZCB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMS40cmVtO1xuICAgIH1cblxuICAgIC5jb250YWN0LWhlcm9fX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjlyZW07XG4gICAgfVxufVxuXG4vKiA9PT09PSBJbXByZXNzdW0gUGFnZSA9PT09PSAqL1xuLmltcHJlc3N1bS1wYWdlIHtcbiAgICBtYXgtd2lkdGg6IDc2MHB4O1xuICAgIG1hcmdpbjogM3JlbSBhdXRvIDRyZW07XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG59XG5cbi5pbXByZXNzdW0taGVybyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmltcHJlc3N1bS1oZXJvX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cblxuLmltcHJlc3N1bS1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgIHBhZGRpbmc6IDIuOHJlbSAzcmVtO1xufVxuXG4uaW1wcmVzc3VtLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGVkZjU7XG59XG5cbi5pbXByZXNzdW0tc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5pbXByZXNzdW0tbGVnYWwtbm90ZSB7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDA7XG59XG5cbi5pbXByZXNzdW0tc2VjdGlvbl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxYTFhMWE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xufVxuXG4uaW1wcmVzc3VtLXNlY3Rpb25fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW46IDA7XG59XG5cbi5pbXByZXNzdW0tbGluayB7XG4gICAgY29sb3I6ICM3YzNhZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmltcHJlc3N1bS1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzViMjFiNjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmltcHJlc3N1bS1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjRyZW07XG4gICAgfVxuXG4gICAgLmltcHJlc3N1bS1oZXJvX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICAgIH1cbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/