@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

:root {
    --bg-dark: #000000;
    --accent-dark: #615860;
    --accent-light: #d399cc;
    --font-dark: #242424;
    --font-light: #ffffff;

    --petrol: #0a5b5c;
    --pastel-green: #c6e5e4;
    --pastel-purple: #d2c0d8;
    --pink: #f6b9ca;

    --error-red: #e57373;
    --success-green: #81c784;
    --info-orange: #ffb74d;

    --nav-height: 80px;
    --footer-height: 200px;

    font-family: 'Raleway', sans-serif;
    --special-font: 'Bebas Neue', sans-serif;
}
body {
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: var(--bg-dark);
    max-width: 100vw;
    font-size: 16px;
}

.main {
    margin-top: calc(var(--nav-height) + 20px);
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.tac {
    text-align: center;
}
.tar {
    text-align: right;
}
.fwb {
    font-weight: bold;
}
.hidden {
    display: none !important;
}

h1 {
    font-family: var(--special-font);
    color: var(--pink);
    font-size: 4rem;
    margin-bottom: 5px;
}
.font-light {
    color: var(--font-light);
}
.mb-0 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.mt-0 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
@media screen and (max-width: 768px) {
    h1 {
        font-size: 3rem;
    }
    .hide-sm {
        display: none;
    }
}
.fly-in {
    opacity: 0;
    transform: translateY(100%);
    transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.fly-in.animate {
    opacity: 1;
    transform: translateY(0);
}
.cursor-pointer {
    cursor: pointer;
}
/* ---------------------------------------- FLEXBOX ---------------------------------------- */
.d-flex {
    display: flex;
}
.justify-center {
    justify-content: center;
}
.justify-between {
    justify-content: space-between;
}
.align-center {
    align-items: center;
}
/* ---------------------------------------- BUTTONS ---------------------------------------- */
.center-button {
    display: flex;
    justify-content: center;
    align-items: center;
}
.center-button a {
    text-decoration: none;
}
button {
    cursor: pointer;
}
.btn {
    padding: 20px;
    border-radius: 15px;
    font-size: 1rem;
    font-weight: bold;
    border: none;
    outline: none;
}
.btn-light {
    background-color: var(--pink);
    color: var(--font-dark);
}
.btn-dark {
    background-color: var(--bg-dark);
    color: var(--pink);
}
.btn-light:hover {
    background-color: var(--accent-dark);
    color: var(--font-dark);
    transition: ease-in-out 0.2s;
}
.btn-dark:hover {
    background-color: var(--font-dark);
    color: var(--pink);
    transition: ease-in-out 0.2s;
}
.switch {
    position: relative;
    display: inline-block;
    width: 46px;
    height: 24px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: var(--accent-dark);
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.slider:before {
    position: absolute;
    content: '';
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

input:checked + .slider {
    background-color: var(--pink);
}

input:focus + .slider {
    box-shadow: 0 0 1px var(--pink);
}

input:checked + .slider:before {
    -webkit-transform: translateX(22px);
    -ms-transform: translateX(22px);
    transform: translateX(22px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 24px;
}

.slider.round:before {
    border-radius: 50%;
}
/* ---------------------------------------- ROWS AND COLS ---------------------------------------- */
.container {
    width: 90%;
    margin: 0 auto;
    max-width: 1200px;
}
.row {
    display: flex;
    flex-wrap: wrap;
}
[class*='col-'] {
    flex: 0 0 auto;
    padding: 10px;
    box-sizing: border-box;
}
.col-2 {
    width: 16.66%;
}
.col-3 {
    width: 25%;
}
.col-4 {
    width: 33.33%;
}
.col-5 {
    width: 41.66%;
}
.col-6 {
    width: 50%;
}
.col-8 {
    width: 66.66%;
}
.col-9 {
    width: 75%;
}
.col-10 {
    width: 83.33%;
}
.col-12 {
    width: 100%;
}
/* Small devices (up to 768px) */
@media screen and (max-width: 768px) {
    .col-sm-2 {
        width: 16.66%;
    }
    .col-sm-3 {
        width: 25%;
    }
    .col-sm-4 {
        width: 33.33%;
    }
    .col-sm-5 {
        width: 41.66%;
    }
    .col-sm-6 {
        width: 50%;
    }
    .col-sm-8 {
        width: 66.66%;
    }
    .col-sm-9 {
        width: 75%;
    }
    .col-sm-10 {
        width: 83.33%;
    }
    .col-sm-12 {
        width: 100%;
    }
}
@media screen and (max-width: 1024px) {
    .col-md-2 {
        width: 16.66%;
    }
    .col-md-3 {
        width: 25%;
    }
    .col-md-4 {
        width: 33.33%;
    }
    .col-md-5 {
        width: 41.66%;
    }
    .col-md-6 {
        width: 50%;
    }
    .col-md-8 {
        width: 66.66%;
    }
    .col-md-9 {
        width: 75%;
    }
    .col-md-10 {
        width: 83.33%;
    }
    .col-md-12 {
        width: 100%;
    }
}
/* ---------------------------------------- ALERTS ---------------------------------------- */
.alert {
    position: absolute;
    right: 0;
    display: flex;
    justify-content: start;
    align-items: center;
    padding-left: 5px;
    min-height: 40px;
    max-height: 150px;
    min-width: 300px;
    max-width: 500px;
    border-radius: 8px;
    margin-bottom: 10px;
    opacity: 0;
    visibility: hidden;
    /* transition: opacity 1s ease, visibility 0s linear 1s; */
    transition: top 0.3s ease, opacity 0.3s ease;
    z-index: 10000;
    padding: 10px;
}

.alert.show {
    opacity: 1;
    visibility: visible;
    transition: opacity 1s ease;
}

.alert-icon {
    font-size: 1.25em;
    font-weight: bold;
    margin: 5px;
}
.alert-msg {
    font-size: 1em;
    font-weight: bold;
    padding: 5px;
    margin: 0px;
    display: flex;
    align-items: center;
}
.alert-success {
    background-color: var(--success-green);
}
.alert-success .alert-msg {
    color: var(--font-dark);
}
.alert-icon-success {
    color: var(--success-green);
    filter: brightness(0.7);
}

.alert-warning {
    background-color: var(--info-orange);
}
.alert-warning .alert-msg {
    color: var(--font-dark);
}
.alert-icon-warning {
    color: var(--info-orange);
    filter: brightness(0.7);
}

.alert-info {
    background-color: var(--accent-light);
}
.alert-info .alert-msg {
    color: var(--font-dark);
}
.alert-icon-info {
    color: var(--accent-light);
    filter: brightness(0.7);
}

.alert-error {
    background-color: var(--error-red);
}
.alert-error .alert-msg {
    color: var(--font-dark);
}
.alert-icon-error {
    color: var(--error-red);
    filter: brightness(0.7);
}
/* ---------------------------------------- TABLE ---------------------------------------- */
table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.95rem;
    background: var(--accent-dark);
    margin-bottom: 2em;
    border-radius: 12px;
    overflow: hidden;
}

/* header */
table thead th {
    text-align: left;
    font-weight: 600;
    padding: 12px 10px;
    background: var(--font-dark);
    white-space: nowrap;
}

/* body */
table tbody td {
    padding: 10px;
    vertical-align: middle;
}

table tr td {
    border-bottom: 4px solid var(--font-dark);
}

table tbody tr:hover {
    background-color: var(--font-light);
    color: var(--font-dark);
}

table a {
    color: inherit;
    text-decoration: none;
}

table a:hover i {
    opacity: 0.75;
}

/* round only the outermost cells */
table thead th:first-child {
    border-top-left-radius: 12px;
}
table thead th:last-child {
    border-top-right-radius: 12px;
}

table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 12px;
}
table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 12px;
}
/* ---------------------------------------- MODAL ---------------------------------------- */
.modal-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modal {
    display: none;
    inset: 0;
    z-index: 1050;
    overflow: auto;
    border-radius: 20px;
    color: var(--font-light);
}
.modal-content {
    background-color: var(--accent-dark);
    margin: 10% auto;
    padding: 20px;
    border-radius: 5px;
    max-width: 90vw;
}

body.no-scroll {
    overflow: hidden;
    height: 100vh;
}
.modal-w-30 {
    width: 30dvw;
}
.modal-w-40 {
    width: 40dvw;
}
.modal-w-50 {
    width: 50dvw;
}
.modal-w-60 {
    width: 60dvw;
}
.modal-w-80 {
    width: 80dvw;
}
.modal-w-100 {
    width: 100dvw;
}
.modal-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    font-weight: bold;
}
.modal-title h3 {
    margin: 0px;
}
.modal-close {
    color: var(--error-red);
    cursor: pointer;
}
.modal button[type='submit'] {
    background-color: var(--success-green);
    color: var(--font-light);
    padding: 0.5em;
    border-radius: 10px;
    border: none;
}
.modal .form-group label {
    font-weight: bold;
    margin-bottom: 5px;
}
.modal .form-group input {
    padding: 5px;
    border-radius: 10px;
    border: 2px solid transparent;
    outline: none;
    margin-bottom: 10px;
    font-size: 1em;
}
.modal .form-group input:focus {
    border: 2px solid var(--pink);
}
.modal .form-group textarea {
    padding: 5px;
    border-radius: 10px;
    border: 2px solid transparent;
    outline: none;
    margin-bottom: 10px;
    font-size: 1em;
}
.modal .form-group textarea:focus {
    border: 2px solid var(--pink);
}
.modal .form-group:last-child {
    margin-bottom: 0px;
}
@media (max-width: 768px) {
    .modal-content {
        margin: 0;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .modal-content form {
        padding: 0px;
    }
    [class*='modal-w-'] {
        width: 100dvw;
        padding: 10px;
    }
}
/* ---------------------------------------- SWEETALERT ---------------------------------------- */
.swal2-popup {
    background-color: var(--accent-dark) !important;
    color: var(--font-light) !important;
    border-radius: 20px !important;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}
.swal2-confirm {
    background-color: var(--success-green) !important;
}
.swal2-cancel {
    background-color: var(--error-red) !important;
}
/* ---------------------------------------- ERROR-PAGE ---------------------------------------- */
@keyframes errorCodeAnmim {
    0% {
        transform: scale3d(1, 1, 1);
    }

    30% {
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        transform: scale3d(1.05, 0.95, 1);
    }

    100% {
        transform: scale3d(1, 1, 1);
    }
}
.error {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.error-code {
    font-size: 5rem;
    color: var(--pink);
    animation: errorCodeAnmim 2s ease 0s 1 normal forwards;
}
.error-title {
    font-size: 2.5rem;
    color: var(--font-light);
}
.error-message {
    font-size: 1.5rem;
    color: var(--font-light);
}
.error-link {
    color: var(--pink);
    font-weight: bold;
}
.SBW-button {
    font-family: var(--special-font) !important;
    border: 2px solid black !important;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px !important;
}
/* ---------------------------------------- NAV ---------------------------------------- */
.navbar {
    z-index: 100;
}
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    position: absolute;
    background-color: var(--pink);
    width: 100%;
    min-height: var(--nav-height);
    padding: 0px 10px;
    top: 0;
    z-index: 1000;
    box-sizing: border-box;
}
.logo {
    flex: 0 0 auto;
}
.logo img {
    height: 70px;
    margin: 0px 20px;
}
.nav-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-grow: 1;
    max-width: 100vw;
}
.nav-menu ul {
    display: flex;
    list-style: none;
    padding: 0px;
}
.nav-menu ul li {
    padding: 10px 20px;
}
.nav-menu ul li a {
    font-family: var(--special-font);
    font-size: 1.25rem;
    font-weight: bold;
    text-decoration: none;
    color: var(--font-dark);
}
.nav-menu ul li a:hover {
    color: var(--accent-dark);
    transition: ease-in-out 0.2s;
}
.nav-icon {
    display: flex;
    justify-items: center;
    align-items: center;
}
.nav-icon i {
    margin: 0px 10px;
    font-size: 1.25rem;
}
.hamburger {
    display: none;
    flex-direction: column;
    cursor: pointer;
    position: absolute;
    right: 30px;
}

@media screen and (max-width: 768px) {
    .header {
        padding: 0px;
    }
    .logo img {
        height: 70px;
    }
    .nav-menu {
        border-top: 1px solid var(--bg-dark);
        box-shadow: 3px 40px 85px -7px rgba(0, 0, 0, 0.59);
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--accent-dark);
        align-items: start;
    }
    .nav-menu.active {
        display: flex;
        flex-direction: column;
    }
    .nav-menu ul {
        margin: 0px;
        flex-direction: column;
    }
    .nav-menu ul li a {
        text-decoration: none;
        color: var(--pink);
    }
    .hamburger {
        display: flex;
        align-items: center;
        font-size: 1.75rem;
    }
}
/* ---------------------------------------- INDEX ---------------------------------------- */
.home-description {
    margin: 0px 200px;
    font-size: 2rem;
    color: var(--font-light);
    display: flex;
    align-items: center;
}
.home-description a {
    color: var(--pink);
    text-decoration: none;
}
.home-description a:hover {
    color: var(--pastel-purple);
    text-decoration: none;
}
.home-logo {
    width: 80%;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.home-text {
    font-size: 6rem;
    margin: 0px;
}
.insta-gallery-container {
    padding: 20px;
}
.insta-btn {
    display: flex;
    justify-content: center;
    align-items: center;
}
.insta-gallery-container button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 300px;
    font-size: 2rem;
    font-family: var(--special-font);
}
.insta-gallery-container button:hover {
    background-color: var(--pastel-purple);
}
.insta-gallery-container img {
    width: 40px;
    padding: 10px;
}
.insta-gallery-container a {
    text-decoration: none;
}
.insta-gallery-container a:hover {
    text-decoration: none;
}
/* ---------------------------------------- RATINGS ---------------------------------------- */
.ratings-wrapper {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    padding: 20px;
    scrollbar-width: none;
    position: relative;
    justify-content: flex-start;
}
.ratings-wrapper::-webkit-scrollbar {
    display: none;
}
.rating-item {
    min-width: 300px;
    flex: 0 0 auto;
}
.rating {
    margin: 10px 0;
}
.rating i {
    margin: 0 2px;
}
i.scroll-left,
i.scroll-right {
    cursor: pointer;
    position: absolute;
    top: 55%;
    transform: translateY(-50%);
    z-index: 10;
    color: rgba(255, 255, 255, 0.35);
    font-size: 2em;
    margin: 10px;
}
i.scroll-left {
    left: 0;
}
i.scroll-right {
    right: 0;
}
.ratings .box {
    background-color: var(--accent-dark);
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    margin: 10px;
    padding: 10px;
    min-height: 200px;
}
.ratings .box .name {
    font-size: 1.5rem;
    font-weight: bold;
    padding-top: 10px;
}
.ratings .box .rating {
    padding: 10px;
    color: var(--pink);
}
/* ---------------------------------------- HOME IMAGE GALLERY ---------------------------------------- */
.gallery {
    background-color: var(--accent-dark);
}
.image-gallery-home {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 20px;
}

.image-wrapper {
    max-width: 1000px;
    height: 600px;
    overflow: hidden;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

i.next-button,
i.prev-button {
    cursor: pointer;
    position: absolute;
    top: 60%;
    transform: translateY(-50%);
    z-index: 10;
    color: rgba(255, 255, 255, 0.35);
    font-size: 5em;
    margin: 10px;
}

i.prev-button {
    left: 10px;
}

i.next-button {
    right: 10px;
}

.thumbnails {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.thumbnails img {
    width: 80px;
    height: 50px;
    object-fit: cover;
    cursor: pointer;
    opacity: 0.7;
    border: 2px solid transparent;
    transition: opacity 0.3s, border-color 0.3s;
}

.thumbnails img.active {
    border-color: var(--pink);
    opacity: 1;
}

.thumbnails img:hover {
    opacity: 1;
}
.home-contact-container {
    padding: 20px;
    background-color: var(--pink);
}
.home-contact-container h2 {
    font-family: var(--special-font);
    font-size: 5rem;
    color: var(--font-dark);
    margin: 10px;
}
.contact-link-home.l {
    display: flex;
    align-items: center;
    justify-content: end;
}
.contact-link-home.r {
    display: flex;
    align-items: center;
    justify-content: start;
}
.contact-link-home img {
    max-width: 40px;
}
.contact-link-home a {
    margin: 10px;
    font-size: 1rem;
    transition: 0.5s ease-in-out;
}
.contact-link-home a:hover {
    margin: 10px;
    font-size: 1.25rem;
    transition: 0.5s ease-in-out;
}
.home-contact-container a {
    color: var(--font-dark);
}
.home-contact-container a:hover {
    color: var(--accent-dark);
}
.mapboxgl-ctrl-bottom-right,
.mapboxgl-ctrl-bottom-left {
    display: none;
}
@media screen and (max-width: 768px) {
    .home-logo {
        width: 100%;
    }
    .home-text {
        font-size: 4rem !important;
        margin: 20px 0px !important;
    }
    .home-contact-container h2 {
        font-size: 3rem !important;
    }
    .home-description {
        margin: 20px;
        font-size: 1.5rem;
        text-align: center;
    }
    .contact-link-home.l,
    .contact-link-home.r {
        display: flex;
        align-items: center;
        justify-content: center !important;
    }
    .thumbnails {
        display: none;
    }
}
@media screen and (max-width: 1024px) {
    .home-text {
        font-size: 4rem !important;
        margin: 20px 0px !important;
    }
    .home-contact-container h2 {
        font-size: 3rem !important;
    }
    .home-description {
        margin: 20px;
        font-size: 1.5rem;
    }
    .contact-link-home.l {
        justify-content: end;
    }
    .contact-link-home.r {
        justify-content: start;
    }
}
/* ---------------------------------------- OUR-STORY ---------------------------------------- */
.story-text {
    margin: 0px 200px;
    font-size: 2rem;
    color: var(--font-light);
    line-height: 140%;
}
.story-text p {
    margin: 10px;
}
.story-text p.big {
    margin-top: 80px;
    margin-bottom: 30px;
    text-align: center;
    font-size: 2rem;
    font-family: var(--special-font);
    color: var(--pink);
}
.ragequit-box {
    margin-bottom: 100px;
    text-align: center;
}
.ragequit-box img {
    height: 300px;
}
@media screen and (max-width: 768px) {
    .story-text {
        margin: 0px 10px;
        font-size: 1.25rem;
    }
    .ragequit-box {
        margin-bottom: 100px;
    }
    .logo-box {
        display: flex;
        justify-content: center;
    }
    .ragequit-box img {
        height: 200px;
    }
}

/* ---------------------------------------- ARTISTS-OVERVIEW ---------------------------------------- */
.artists {
    display: flex;
    justify-content: center;
}
.artist-preview {
    margin: 20px;
}
.artist-preview .text-box {
    background-color: rgba(0, 0, 0, 0.5);
    padding: 10px;
}
.image-container {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px,
        rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px,
        rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
    border-radius: 20px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90%;
    overflow: hidden;
}
.image-container img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.5s ease;
}
.image-container:hover img {
    transform: scale(1.1);
}
.centered-text {
    text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.7);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
    font-size: 4rem;
    color: var(--pink);
    padding: 20px;
    border-radius: 5px;
}
.centered-text:hover {
    text-shadow: rgba(179, 117, 197, 0.6) 0px 10px 30px;
}
.centered-text .name {
    font-size: clamp(4.5rem, 3.5rem + 2.0833vw, 6rem);
    font-family: var(--special-font);
    margin: 0px;
}
.centered-text .title {
    font-size: clamp(1.5rem, 1rem + 1.0417vw, 2.25rem);
}
.centered-text .insta {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(1rem, 0.6667rem + 0.6944vw, 1.5rem);
}
.insta i {
    padding: 5px;
}
/* ---------------------------------------- ARTISTS-DETAILVIEW ---------------------------------------- */
.artist-img-container {
    max-width: 200px;
    max-height: 200px;
    margin: auto;
}
.artist-img-container img {
    border-radius: 50%;
}
.artist p {
    margin: 0px 300px;
    font-size: 1.5rem;
    color: var(--font-light);
}
.artist h2 {
    font-family: var(--special-font);
    font-size: 4rem;
    color: var(--pink);
    margin: 10px 0px 0px 0px;
}
.artist span {
    font-size: 2rem;
    color: var(--font-light);
}
.artist .socials i {
    color: var(--pink);
    margin: 10px;
    font-size: 2rem;
}
.artist .socials i:hover {
    color: var(--accent-dark);
    cursor: pointer;
}
@media screen and (max-width: 768px) {
    .artist p {
        margin: 10px;
        font-size: 1.1rem !important;
        text-align: center;
    }
}
@media screen and (max-width: 1024px) {
    .artist p {
        margin: 20px;
        font-size: 1.25rem;
    }
}
.artist img {
    max-width: 100%;
}
ul.image-gallery {
    list-style: none;
}
.image-gallery {
    text-align: center;
}
.image-gallery > li {
    /* fallback */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 350px;
    height: 350px;
    margin: 0 5px 10px 5px;
    /* end fallback */
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-radius: 10px;
}

@supports (display: flex) {
    .image-gallery {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        margin: 10px;
    }

    .image-gallery > li {
        width: 350px;
        height: 350px;
        margin: 0;
    }

    .image-gallery::after {
        content: '';
        width: 350px;
        height: 350px;
    }
    .image-gallery li img {
        max-width: 100% !important;
        height: 100% !important;
    }
}

.image-gallery li img {
    object-fit: cover;
    max-width: 140%;
    height: 140%;
    vertical-align: middle;
    transition: transform 0.3s ease-in-out;
}
.image-gallery li:hover img {
    transform: scale(1.1);
}
@media screen and (max-width: 767px) {
    .image-gallery {
        padding: 0px;
    }
    .image-gallery > li {
        width: 100vw;
        height: auto;
    }
    .image-gallery > li {
        flex-basis: 100vw;
        border-radius: 10px;
    }
    .image-gallery::after {
        flex-basis: 100vw;
    }
}

#overlay {
    display: none;
    position: fixed;
    top: var(--nav-height);
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.95);
    justify-content: center;
    align-items: center;
    z-index: 999;
}

#prevBtn,
#nextBtn,
#closeBtn {
    color: var(--pink);
    font-size: 3rem;
    border: none;
    padding: 10px;
    cursor: pointer;
    outline: none;
}

#prevBtn,
#nextBtn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

#prevBtn {
    left: 10px;
}

#nextBtn {
    right: 10px;
}

#closeBtn {
    position: absolute;
    top: 10px;
    right: 10px;
}

#overlayImg {
    max-width: 90%;
    max-height: 90%;
}

/* Additional styles for the overlay transition */
#overlayImg {
    transition: transform 0.3s ease-in-out;
}

#overlayImg:hover {
    transform: scale(1.1);
}
#galleryMobile.image-gallery {
    display: none;
}
@media screen and (max-width: 1024px) {
    #gallery.pswp-gallery {
        display: none;
    }
    #galleryMobile.image-gallery {
        display: flex;
    }
}
@media screen and (max-width: 767px) {
    #prevBtn,
    #nextBtn,
    #closeBtn {
        display: none;
    }
    #gallery.pswp-gallery {
        display: none;
    }
    #galleryMobile.image-gallery {
        display: flex;
    }
}
/* ---------------------------------------- PIERCING ---------------------------------------- */
.piercing-box {
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.piercing-box [class*='col-'] {
    padding: 20px;
}
.piercing-box .col-sm-12 {
    padding: 0px 10px;
}
.piercer-img {
    margin: 20px;
    width: 95%;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}
.piercing {
    font-size: 1.25rem;
    color: var(--font-light);
    line-height: 120%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.piercing .name {
    display: flex;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .piercing {
        line-height: 140%;
        padding: 0px;
        font-size: 1.25rem;
    }
    .piercing .price {
        text-align: right;
    }
}
.box-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: var(--font-dark);
    background-color: var(--pink);
    border-radius: 16px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.25s ease;
    padding: 1.5rem;
    width: 100%;
    max-width: calc(100vw / 5);
    aspect-ratio: 1 / 1;
    font-family: 'Inter', sans-serif;
}

.box-link img.icon {
    width: 60%;
    height: auto;
    margin-bottom: 0.75rem;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.box-link span {
    font-size: 1.5rem;
    font-weight: bold;
}

.box-link:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    background-color: var(--pastel-purple);
}

.box-link:hover img.icon {
    transform: scale(1.05);
}

.box-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    margin-bottom: 20px;
}
.piercing-icon {
    width: 80px;
    height: 80px;
    margin-right: 10px;
    margin-bottom: 10px;
    object-fit: contain;
    background-color: var(--pink);
    border-radius: 8px;
}
@media screen and (max-width: 767px) {
    .box-link {
        max-width: calc(100vw);
    }
    .box-grid {
        margin-bottom: 10px;
    }
}
/* ---------------------------------------- TOOTH-GEMS ---------------------------------------- */
.follow-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-family: var(--special-font);
    outline: none;
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    margin: 10px auto;
}
.follow-btn:hover {
    background-color: var(--pastel-purple);
}
.follow-btn img {
    width: 40px;
    padding: 10px;
}
.follow-btn a {
    text-decoration: none;
}
.follow-btn a:hover {
    text-decoration: none;
}
/* ---------------------------------------- FAQ ---------------------------------------- */
.accordion {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 100vw;
    margin-bottom: var(--nav-height);
}
.accordion-item {
    border: 2px solid var(--pink);
    color: var(--font-light);
    margin: 20px 200px;
    border-radius: 8px;
    margin-bottom: 5px;
    background-color: var(--bg-dark);
}
.accordion-item-header {
    background-color: var(--bg-light);
    font-weight: bold;
    font-size: 2rem;
    color: var(--font-light);
    border-radius: 8px;
    padding: 10px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    font-family: var(--special-font);
}
.accordion-item-header p {
    margin: 0px;
}
.accordion-item-header i {
    color: var(--pink);
}
.accordion-item-content {
    max-height: 0;
    padding: 0px;
    overflow: hidden;
    font-size: 1.5rem;
    opacity: 0;
    transition: max-height 0.8s ease-in-out, opacity 0.8s ease-in-out;
}
.accordion-item-content.open {
    max-height: 2500px;
    opacity: 1;
}
.accordion-item-content ul li {
    padding: 10px;
}
.rotate-180 {
    transform: rotate(180deg);
    transition: ease-in-out 0.5s;
}
@media screen and (max-width: 767px) {
    .accordion-item {
        margin: 10px;
    }
    .accordion-item-header {
        font-size: 1rem;
    }
    .accordion-item-content {
        font-size: 1rem;
    }
}
@media screen and (max-width: 1024px) {
    .accordion-item {
        margin: 10px;
    }
    .accordion-item-header {
        font-size: 1.5rem;
    }
    .accordion-item-content {
        font-size: 1.5rem;
    }
}

/* ---------------------------------------- CONTACT ---------------------------------------- */
#map {
    width: 100vw;
    height: 400px;
}
.custom-needle-marker {
    position: relative;
    background-image: url('http://www.ragequittattoo.ch/images/logo/logos_new/rq_neu_white.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 80px;
    height: 80px;
    cursor: pointer;
}
.custom-needle-marker::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    border-top-color: var(--pink) !important;
}
.mapboxgl-popup-content {
    background: var(--pink) !important;
    padding: 10px 30px !important;
    color: var(--font-dark);
}
.current-day {
    font-weight: bold;
    font-size: 1.1rem;
    color: var(--pink);
}
.contact {
    color: var(--font-light);
}
.contact a {
    color: var(--pink);
    font-size: 1rem;
    transition: 0.5s ease-in-out;
}
.contact a:hover {
    color: var(--accent-dark);
    font-size: 1.25rem;
    transition: 0.5s ease-in-out;
}
.opening-hours {
    color: var(--font-light);
}
.opening-hours h2 {
    margin: 5px 0px;
}
.opening-hours > .col-6:first-child {
    text-align: right;
}
@media screen and (max-width: 767px) {
    .opening-hours > .col-6:first-child {
        text-align: left !important;
    }
}
/* ---------------------------------------- FOOTER ---------------------------------------- */
footer {
    padding-top: 20px;
    background-color: var(--pink);
    margin-top: auto;
}
.footer-title {
    font-family: var(--special-font);
}
.footer-adress {
    font-size: 1.25rem;
    display: flex;
}
.footer-adress h2 {
    margin: 5px 0px;
    font-family: var(--special-font);
}
.footer-adress a {
    color: black;
    text-decoration: none;
}
.footer-adress img {
    padding: 0px 5px;
    height: 2rem;
    border-radius: 50%;
}
.footer-socials {
    padding: 10px;
}
.footer-socials a {
    font-size: 2rem;
    padding: 10px;
}
.footer-sponsor {
    background-color: var(--bg-dark);
    color: #f1d283;
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer-sponsor img {
    max-height: 35px;
    margin: 10px 0px;
}
.footer-socials a:hover {
    color: var(--bg-dark);
    transition: 0.3s ease-in-out;
}
.footer-adress > .col-6:first-child {
    text-align: right;
}
.opening-hour [class*='col-'],
.address-block h2,
.address-block p,
.opening-hours-footer h2 {
    padding: 5px;
    margin: 0px;
}
@media screen and (max-width: 767px) {
    .footer-adress h2 {
        font-size: 2rem;
    }
    .footer-adress .col-sm-12 {
        text-align: center !important;
    }
}
/* --------------------------------------------------- LOGIN-SECTION --------------------------------------------------- */
.login-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    background-color: var(--bg-dark);
    color: var(--font-dark);
    padding: 20px;
}

.login-form .card {
    background-color: var(--pink);
    padding: 30px;
    width: 100%;
    max-width: 400px;
    border-radius: 15px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form-group {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 15px;
}

.form-label {
    font-weight: bold;
    margin-bottom: 5px;
}

.login-form .form-input {
    padding: 10px;
    border: 2px solid var(--bg-dark);
    border-radius: 8px;
    background-color: var(--accent-dark);
    color: var(--font-light);
    font-size: 16px;
    width: 100%;
    margin-bottom: 10px;
}
.login-form .form-input:focus {
    border: 2px solid var(--bg-dark);
    outline: none;
}

.login-form .remember-me {
    display: flex;
    align-items: center;
    flex-direction: row;
    margin-top: 10px;
}

.login-form .remember-me input {
    margin-right: 10px;
    accent-color: var(--accent-dark);
}

.btn-login {
    padding: 12px 20px;
    background-color: var(--accent-dark);
    color: var(--font-light);
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 18px;
}
@media screen and (max-width: 767px) {
    .login-form .card {
        max-width: 80%;
    }
}
/* --------------------------------------------------- ADMIN-SECTION --------------------------------------------------- */
.admin-dashboard {
    padding: 20px;
    color: var(--font-light);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.admin-dashboard h2 {
    font-family: var(--special-font);
    margin-bottom: 20px;
}
.dashboard-section {
    background-color: var(--pink);
    color: var(--font-dark);
    flex: auto;
    padding: 20px;
    border-radius: 10px;
    margin: 20px;
    text-decoration: none;
}
.dashboard-section:hover {
    background-color: var(--pastel-purple);
    transition: ease-in-out 0.3s;
    cursor: pointer;
}
.no-results {
    text-align: center;
    color: var(--font-light);
    font-style: italic;
    margin-top: 2rem;
}
/* --------------------------------------------------- ADMIN-SECTION-PIERCINGS --------------------------------------------------- */
.piercing-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    padding: 1.5rem;
    max-width: 1200px;
    margin: 0 auto;
}

.piercing-card {
    flex: 1 1 220px;
    max-width: 260px;
    background: var(--accent-dark);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 1rem;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    color: var(--font-light);
}

.piercing-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}

.piercing-card img {
    margin-bottom: 0.8rem;
    max-width: 100%;
    height: auto;
}

.piercing-info {
    margin-bottom: 0.5rem;
}

.piercing-name {
    font-size: 1.1rem;
    color: var(--font-light);
    margin-bottom: 0.25rem;
}

.piercing-type {
    font-size: 0.9rem;
    color: var(--font-light);
    letter-spacing: 0.5px;
}

.piercing-price {
    font-weight: 600;
    color: var(--font-light);
    margin-top: 0.4rem;
}

.edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background-color: var(--pink);
    color: var(--font-dark);
    border: none;
    border-radius: 8px;
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s ease;
}

.edit-btn:hover {
    background-color: var(--pastel-purple);
}

@media (max-width: 600px) {
    .piercing-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}
/* --------------------------------------------------- CONSENT-FORM --------------------------------------------------- */
.consent-form,
.consent-form * {
    box-sizing: border-box; /* prevents overlap */
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.consent-form {
    width: 100%;
    max-width: 720px;
    margin: 16px auto;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 14px;
}

/* each field block */
.consent-form .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.consent-form .form-group[data-question='procedureType'],
.consent-form .form-group[data-question='specificComments'],
.consent-form .form-group[data-type='radio'] {
    grid-column: 1 / -1;
}

/* labels */
.consent-form label {
    font-size: 0.95rem;
    color: var(--font-light);
    font-weight: bold;
}

/* inputs/select/textarea */
.consent-form .form-control {
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 1rem;
    border: 3px solid #fff;
    border-radius: 8px;
    background: #fff;
    outline: none;
}

.consent-form .form-control:focus {
    border-color: var(--pastel-purple);
}

/* radio layout */
.consent-form .radio-group {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.consent-form .radio-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
}

/* legal text */
.consent-form p {
    grid-column: 1 / -1;
    font-size: 0.95rem;
    line-height: 1.5;
    color: var(--font-light);
    margin: 6px 0 0;
    white-space: pre-line;
}

/* submit button */
.consent-form button[type='submit'] {
    grid-column: 1 / -1;
    min-height: 46px;
    border: none;
    border-radius: 8px;
    background: var(--pink);
    color: var(--font-dark);
    font-size: 1rem;
    cursor: pointer;
}
.consent-form button[type='submit']:hover {
    background: var(--pastel-purple);
}
.consent-form #sig {
    width: 100%;
    height: 200px;
}
.consent-form .signature-container button {
    margin-top: 10px;
    padding: 8px 12px;
    border: none;
    border-radius: 6px;
    color: var(--font-dark);
    cursor: pointer;
}
.consent-form .signature-container button:first-child {
    background: var(--success-green);
}
.consent-form .signature-container button:last-child {
    background: var(--error-red);
}
/* ===== Mobile ===== */
@media (max-width: 640px) {
    .consent-form {
        grid-template-columns: 1fr; /* single column */
        padding: 12px;
        gap: 10px;
    }

    .consent-form .form-control {
        font-size: 16px; /* prevents iOS auto-zoom */
    }
}

/* Optional: make certain groups full-width by adding class="full" */
.consent-form .form-group.full {
    grid-column: 1 / -1;
}

.input-error {
    outline: 2px solid var(--error-red);
    border-radius: 4px;
}

.input-error-msg {
    color: var(--error-red);
    font-size: 0.9em;
    margin-top: 4px;
}

/* --------------------------------------------------- CONSENT-FORM-ADMIN-DETAIL --------------------------------------------------- */
.pdf-view {
    width: 100%;
    min-height: 900px;
}

#galleryImagesAdmin {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0.5rem;
}

/* fixed thumbnail box */
.gallery-image-admin {
    position: relative; /* anchor for the X */
    width: 250px;
    height: 250px;
    border-radius: 8px;
    overflow: hidden;
    background: var(--font-dark);
    flex: 0 0 auto;
}
.tool {
    position: relative; /* anchor for the X */
    width: 100%;
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: var(--font-dark);
    flex: 0 0 auto;
}
.tool img,
.gallery-image-admin img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* thumbnail crop */
    display: block;
}

/* delete X pinned to top-right of the thumbnail box */
.tool-delete,
.delete {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
    padding: 0;
    z-index: 2;
}

.tool-delete:hover,
.delete:hover {
    background: var(--error-red);
}
/* Layout + typography */
.consent-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
}

.page-title {
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin: 1rem 0 1.25rem;
}

.section-card {
    background: var(--accent-dark);
    border-radius: 14px;
    padding: 1rem 1rem 0.9rem;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.section-title {
    font-size: 1.15rem;
    margin-bottom: 0.75rem;
    letter-spacing: 0.2px;
}

.section-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.detail-row {
    padding: 0.3rem 0;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
}

.detail-row:last-child {
    border-bottom: none;
}

.detail-label {
    opacity: 0.75;
    font-size: 0.95rem;
}

.detail-value {
    font-size: 1rem;
}

.muted-text {
    opacity: 0.7;
    font-size: 0.95rem;
}

/* Tools grid */
.tool-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 0.75rem;
    margin-top: 0.25rem;
}

.tool-card {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: var(--accent-dark);
    aspect-ratio: 1/1;
}

.tool-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 160ms ease;
}

.tool-card:hover .tool-img {
    transform: scale(1.04);
}

.tool-delete-btn {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: none;
    background: rgba(0, 0, 0, 0.65);
    color: #fff;
    font-size: 18px;
    line-height: 30px;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background 140ms ease, transform 140ms ease;
}

.tool-delete-btn:hover {
    background: rgba(0, 0, 0, 0.85);
    transform: scale(1.06);
}

/* Upload area */
.enhanced-upload {
    display: grid;
    gap: 0.75rem;
}
.upload-input {
    display: none;
}
.upload-dropzone {
    border: 2px dashed rgba(0, 0, 0, 0.18);
    background: var(--bg-dark);
    border-radius: 12px;
    padding: 1.1rem 1rem;
    cursor: pointer;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: center;
    transition: border-color 160ms ease, background 160ms ease,
        transform 120ms ease;
}
.upload-dropzone:hover {
    border-color: rgba(0, 0, 0, 0.35);
    transform: translateY(-1px);
}
.upload-icon {
    font-size: 1.6rem;
    opacity: 0.8;
}
.upload-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.upload-title {
    font-weight: 600;
    font-size: 1rem;
}
.upload-subtitle {
    font-size: 0.9rem;
    opacity: 0.7;
}
.upload-actions {
    display: flex;
    justify-content: flex-end;
}
.upload-btn {
    border-radius: 10px;
    padding: 0.55rem 1rem;
    font-weight: 600;
}

/* PDF area */
.pdf-wrap {
    border-radius: 10px;
    overflow: hidden;
    background: var(--accent-dark);
    height: min(80vh, 900px);
}

.pdf-view {
    width: 100%;
    height: 100%;
    min-height: 60vh;
    border: none;
}

/* Nice on desktop: keep PDF in view */
@media (min-width: 992px) {
    .sticky-pdf {
        position: sticky;
        top: 1.25rem;
    }
    .section-card {
        margin: 1rem;
    }
}
@media (max-width: 768px) {
    .tool {
        width: 100%;
        height: 100%;
    }
    .section-card {
        margin-bottom: 1rem;
    }
}

/* --------------------------------------------------- CONSENT-FORM-ADMIN-OVERVIEW --------------------------------------------------- */
/* Page + containers */
.consent-list-container {
    padding-top: 1rem;
    padding-bottom: 2rem;
}

/* Filter bar */
.section-card.filter-bar {
    margin: 0rem 0rem 1rem 0rem !important;
}
.filter-bar {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}
.filter-label {
    font-size: 0.9rem;
    opacity: 0.7;
    font-weight: 600;
    margin-right: 0.3rem;
}
.filter-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.filter-item.grow {
    flex: 1 1 240px;
}

.filter-input,
.filter-select {
    width: 100%;
    min-width: 140px;
    padding: 0.55rem 0.7rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    background: var(--bg-dark);
    color: var(--font-light);
    font-size: 0.98rem;
    transition: border-color 140ms ease, background 140ms ease;
}

.filter-input:focus,
.filter-select:focus {
    outline: none;
    border-color: rgba(0, 0, 0, 0.35);
    background: var(--bg-dark);
}

.checkbox-item {
    padding-left: 0.2rem;
}

.checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.98rem;
    cursor: pointer;
}

.clear-btn {
    border-radius: 10px;
    padding: 0.5rem 0.9rem;
    font-weight: 600;
}

/* Desktop table */
.desktop-table {
    width: 100%;
    border-collapse: separate;
}

.desktop-table tbody tr {
    background: var(--accent-dark);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.desktop-table tbody td {
    padding: 0.9rem 0.75rem;
    vertical-align: middle;
    border-top: 1px solid transparent;
    border-bottom: 1px solid transparent;
}

.desktop-table tbody tr td:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    font-weight: 700;
}

.desktop-table tbody tr td:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.pdf-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: var(--pink);
    color: var(--font-dark);
    transition: background 140ms ease, transform 140ms ease;
}

.pdf-link:hover {
    filter: opacity(0.8);
    transform: translateY(-1px);
}

.action-btn {
    border-radius: 10px;
    padding: 0.45rem 0.75rem;
    font-weight: 600;
    white-space: nowrap;
}

/* Mobile cards */
.mobile-cards {
    display: none;
    gap: 0.8rem;
}

.consent-card {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}

.badge {
    background: var(--bg-dark);
    color: var(--font-light);
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 700;
}

.card-date {
    font-size: 0.9rem;
    opacity: 0.75;
}

.card-body {
    display: grid;
    gap: 0.45rem;
}

.card-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 0.5rem;
    align-items: baseline;
}

.card-row .label {
    font-size: 0.9rem;
    opacity: 0.7;
    font-weight: 600;
}

.card-row .value {
    font-size: 1rem;
}

.card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Shared */
.error-text {
    color: var(--error-red);
    font-weight: 600;
}

.muted-text {
    opacity: 0.7;
    font-size: 0.95rem;
}

/* Responsive switch: cards on small screens, table on large */
@media (max-width: 900px) {
    .desktop-table {
        display: none;
    }
    .mobile-cards {
        display: grid;
    }
}

/* --------------------------------------------------- FAQ-ADMIN --------------------------------------------------- */
.faq-actions {
    display: flex;
    justify-content: center;
    align-items: center;
}
.faq-actions .faq-action {
    margin-right: 5px;
}
.faq-actions .faq-action.faq-delete {
    color: var(--error-red);
}
.answer-row textarea {
    width: 100%;
    resize: vertical;
}
.answer-row {
    margin-bottom: 0.75rem;
}
#addAnswerBtn {
    background-color: var(--pink);
    padding: 10px;
    border-radius: 10px;
    border: none;
}
.remove-answer {
    background-color: var(--error-red);
    border-radius: 10px;
    padding: 10px;
    border: none;
}
.remove-answer:hover,
#addAnswerBtn:hover {
    filter: opacity(0.8);
}
#newFaqBtn {
    margin: 10px 200px;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbWJpbmVkLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJjb21iaW5lZC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9QmViYXMrTmV1ZSZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbjpyb290IHtcclxuICAgIC0tYmctZGFyazogIzAwMDAwMDtcclxuICAgIC0tYWNjZW50LWRhcms6ICM2MTU4NjA7XHJcbiAgICAtLWFjY2VudC1saWdodDogI2QzOTljYztcclxuICAgIC0tZm9udC1kYXJrOiAjMjQyNDI0O1xyXG4gICAgLS1mb250LWxpZ2h0OiAjZmZmZmZmO1xyXG5cclxuICAgIC0tcGV0cm9sOiAjMGE1YjVjO1xyXG4gICAgLS1wYXN0ZWwtZ3JlZW46ICNjNmU1ZTQ7XHJcbiAgICAtLXBhc3RlbC1wdXJwbGU6ICNkMmMwZDg7XHJcbiAgICAtLXBpbms6ICNmNmI5Y2E7XHJcblxyXG4gICAgLS1lcnJvci1yZWQ6ICNlNTczNzM7XHJcbiAgICAtLXN1Y2Nlc3MtZ3JlZW46ICM4MWM3ODQ7XHJcbiAgICAtLWluZm8tb3JhbmdlOiAjZmZiNzRkO1xyXG5cclxuICAgIC0tbmF2LWhlaWdodDogODBweDtcclxuICAgIC0tZm9vdGVyLWhlaWdodDogMjAwcHg7XHJcblxyXG4gICAgZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjtcclxuICAgIC0tc3BlY2lhbC1mb250OiAnQmViYXMgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbn1cclxuYm9keSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgbWF4LXdpZHRoOiAxMDB2dztcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLm1haW4ge1xyXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uYXYtaGVpZ2h0KSArIDIwcHgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4udGFjIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4udGFyIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5md2Ige1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcbi5mb250LWxpZ2h0IHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4ubWItMCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5tdC0wIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbiAgICAuaGlkZS1zbSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4uZmx5LWluIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLW91dCwgb3BhY2l0eSAwLjVzIGVhc2Utb3V0O1xyXG59XHJcbi5mbHktaW4uYW5pbWF0ZSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcbi5jdXJzb3ItcG9pbnRlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGTEVYQk9YIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmQtZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbi5qdXN0aWZ5LWNlbnRlciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG4uanVzdGlmeS1iZXR3ZWVuIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG4uYWxpZ24tY2VudGVyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCVVRUT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmNlbnRlci1idXR0b24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4uY2VudGVyLWJ1dHRvbiBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5idXR0b24ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5idG4ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuLmJ0bi1saWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5idG4tZGFyayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4uYnRuLWxpZ2h0OmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgMC4ycztcclxufVxyXG4uYnRuLWRhcms6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuMnM7XHJcbn1cclxuLnN3aXRjaCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogNDZweDtcclxuICAgIGhlaWdodDogMjRweDtcclxufVxyXG5cclxuLnN3aXRjaCBpbnB1dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zbGlkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNHM7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xyXG59XHJcblxyXG4uc2xpZGVyOmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgbGVmdDogM3B4O1xyXG4gICAgYm90dG9tOiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC40cztcclxuICAgIHRyYW5zaXRpb246IDAuNHM7XHJcbn1cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG59XHJcblxyXG5pbnB1dDpmb2N1cyArIC5zbGlkZXIge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDFweCB2YXIoLS1waW5rKTtcclxufVxyXG5cclxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXI6YmVmb3JlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIycHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMnB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMnB4KTtcclxufVxyXG5cclxuLyogUm91bmRlZCBzbGlkZXJzICovXHJcbi5zbGlkZXIucm91bmQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcclxufVxyXG5cclxuLnNsaWRlci5yb3VuZDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUk9XUyBBTkQgQ09MUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbn1cclxuLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbltjbGFzcyo9J2NvbC0nXSB7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5jb2wtMiB7XHJcbiAgICB3aWR0aDogMTYuNjYlO1xyXG59XHJcbi5jb2wtMyB7XHJcbiAgICB3aWR0aDogMjUlO1xyXG59XHJcbi5jb2wtNCB7XHJcbiAgICB3aWR0aDogMzMuMzMlO1xyXG59XHJcbi5jb2wtNSB7XHJcbiAgICB3aWR0aDogNDEuNjYlO1xyXG59XHJcbi5jb2wtNiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG59XHJcbi5jb2wtOCB7XHJcbiAgICB3aWR0aDogNjYuNjYlO1xyXG59XHJcbi5jb2wtOSB7XHJcbiAgICB3aWR0aDogNzUlO1xyXG59XHJcbi5jb2wtMTAge1xyXG4gICAgd2lkdGg6IDgzLjMzJTtcclxufVxyXG4uY29sLTEyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi8qIFNtYWxsIGRldmljZXMgKHVwIHRvIDc2OHB4KSAqL1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmNvbC1zbS0yIHtcclxuICAgICAgICB3aWR0aDogMTYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS0zIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS00IHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS01IHtcclxuICAgICAgICB3aWR0aDogNDEuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS02IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS04IHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS05IHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1zbS0xMCB7XHJcbiAgICAgICAgd2lkdGg6IDgzLjMzJTtcclxuICAgIH1cclxuICAgIC5jb2wtc20tMTIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgLmNvbC1tZC0yIHtcclxuICAgICAgICB3aWR0aDogMTYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC0zIHtcclxuICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC00IHtcclxuICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC01IHtcclxuICAgICAgICB3aWR0aDogNDEuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC02IHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC04IHtcclxuICAgICAgICB3aWR0aDogNjYuNjYlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC05IHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgfVxyXG4gICAgLmNvbC1tZC0xMCB7XHJcbiAgICAgICAgd2lkdGg6IDgzLjMzJTtcclxuICAgIH1cclxuICAgIC5jb2wtbWQtMTIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQUxFUlRTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmFsZXJ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLyogdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLCB2aXNpYmlsaXR5IDBzIGxpbmVhciAxczsgKi9cclxuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UsIG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uYWxlcnQuc2hvdyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZTtcclxufVxyXG5cclxuLmFsZXJ0LWljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogNXB4O1xyXG59XHJcbi5hbGVydC1tc2cge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3VjY2Vzcy1ncmVlbik7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYWxlcnQtaWNvbi1zdWNjZXNzIHtcclxuICAgIGNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKTtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwLjcpO1xyXG59XHJcblxyXG4uYWxlcnQtd2FybmluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pbmZvLW9yYW5nZSk7XHJcbn1cclxuLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LW1zZyB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uYWxlcnQtaWNvbi13YXJuaW5nIHtcclxuICAgIGNvbG9yOiB2YXIoLS1pbmZvLW9yYW5nZSk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG5cclxuLmFsZXJ0LWluZm8ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWxpZ2h0KTtcclxufVxyXG4uYWxlcnQtaW5mbyAuYWxlcnQtbXNnIHtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5hbGVydC1pY29uLWluZm8ge1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1saWdodCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG5cclxuLmFsZXJ0LWVycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbn1cclxuLmFsZXJ0LWVycm9yIC5hbGVydC1tc2cge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbn1cclxuLmFsZXJ0LWljb24tZXJyb3Ige1xyXG4gICAgY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMC43KTtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRBQkxFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxudGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLyogaGVhZGVyICovXHJcbnRhYmxlIHRoZWFkIHRoIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogMTJweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIGJvZHkgKi9cclxudGFibGUgdGJvZHkgdGQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbnRhYmxlIHRyIHRkIHtcclxuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcblxyXG50YWJsZSB0Ym9keSB0cjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcblxyXG50YWJsZSBhIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG50YWJsZSBhOmhvdmVyIGkge1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuLyogcm91bmQgb25seSB0aGUgb3V0ZXJtb3N0IGNlbGxzICovXHJcbnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEycHg7XHJcbn1cclxudGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTJweDtcclxufVxyXG5cclxudGFibGUgdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMnB4O1xyXG59XHJcbnRhYmxlIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTJweDtcclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1PREFMIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm1vZGFsLWJhY2tkcm9wIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGluc2V0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgei1pbmRleDogMTA0MDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLm1vZGFsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBpbnNldDogMDtcclxuICAgIHotaW5kZXg6IDEwNTA7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgbWFyZ2luOiAxMCUgYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBtYXgtd2lkdGg6IDkwdnc7XHJcbn1cclxuXHJcbmJvZHkubm8tc2Nyb2xsIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG59XHJcbi5tb2RhbC13LTMwIHtcclxuICAgIHdpZHRoOiAzMGR2dztcclxufVxyXG4ubW9kYWwtdy00MCB7XHJcbiAgICB3aWR0aDogNDBkdnc7XHJcbn1cclxuLm1vZGFsLXctNTAge1xyXG4gICAgd2lkdGg6IDUwZHZ3O1xyXG59XHJcbi5tb2RhbC13LTYwIHtcclxuICAgIHdpZHRoOiA2MGR2dztcclxufVxyXG4ubW9kYWwtdy04MCB7XHJcbiAgICB3aWR0aDogODBkdnc7XHJcbn1cclxuLm1vZGFsLXctMTAwIHtcclxuICAgIHdpZHRoOiAxMDBkdnc7XHJcbn1cclxuLm1vZGFsLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5tb2RhbC10aXRsZSBoMyB7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4ubW9kYWwtY2xvc2Uge1xyXG4gICAgY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLm1vZGFsIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIHBhZGRpbmc6IDAuNWVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG4ubW9kYWwgLmZvcm0tZ3JvdXAgbGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuLm1vZGFsIC5mb3JtLWdyb3VwIGlucHV0IHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbn1cclxuLm1vZGFsIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXBpbmspO1xyXG59XHJcbi5tb2RhbCAuZm9ybS1ncm91cCB0ZXh0YXJlYSB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG59XHJcbi5tb2RhbCAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cyB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1waW5rKTtcclxufVxyXG4ubW9kYWwgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLm1vZGFsLWNvbnRlbnQgZm9ybSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgfVxyXG4gICAgW2NsYXNzKj0nbW9kYWwtdy0nXSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMGR2dztcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU1dFRVRBTEVSVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5zd2FsMi1wb3B1cCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyaykgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggNTRweCA1NXB4LFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC4xMikgMHB4IC0xMnB4IDMwcHgsIHJnYmEoMCwgMCwgMCwgMC4xMikgMHB4IDRweCA2cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjE3KSAwcHggMTJweCAxM3B4LCByZ2JhKDAsIDAsIDAsIDAuMDkpIDBweCAtM3B4IDVweDtcclxufVxyXG4uc3dhbDItY29uZmlybSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdWNjZXNzLWdyZWVuKSAhaW1wb3J0YW50O1xyXG59XHJcbi5zd2FsMi1jYW5jZWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZXJyb3ItcmVkKSAhaW1wb3J0YW50O1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRVJST1ItUEFHRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBrZXlmcmFtZXMgZXJyb3JDb2RlQW5taW0ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA0MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA1MCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICA3NSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XHJcbiAgICB9XHJcbn1cclxuLmVycm9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcbi5lcnJvci1jb2RlIHtcclxuICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGFuaW1hdGlvbjogZXJyb3JDb2RlQW5taW0gMnMgZWFzZSAwcyAxIG5vcm1hbCBmb3J3YXJkcztcclxufVxyXG4uZXJyb3ItdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmVycm9yLW1lc3NhZ2Uge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmVycm9yLWxpbmsge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLlNCVy1idXR0b24ge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMjUpIDBweCA1NHB4IDU1cHgsXHJcbiAgICAgICAgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggLTEycHggMzBweCwgcmdiYSgwLCAwLCAwLCAwLjEyKSAwcHggNHB4IDZweCxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTcpIDBweCAxMnB4IDEzcHgsIHJnYmEoMCwgMCwgMCwgMC4wOSkgMHB4IC0zcHggNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBOQVYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubmF2YmFyIHtcclxuICAgIHotaW5kZXg6IDEwMDtcclxufVxyXG5uYXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogdmFyKC0tbmF2LWhlaWdodCk7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5sb2dvIHtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcbi5sb2dvIGltZyB7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBtYXJnaW46IDBweCAyMHB4O1xyXG59XHJcbi5uYXYtbWVudSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbn1cclxuLm5hdi1tZW51IHVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG59XHJcbi5uYXYtbWVudSB1bCBsaSB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuLm5hdi1tZW51IHVsIGxpIGEge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG59XHJcbi5uYXYtbWVudSB1bCBsaSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICB0cmFuc2l0aW9uOiBlYXNlLWluLW91dCAwLjJzO1xyXG59XHJcbi5uYXYtaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4ubmF2LWljb24gaSB7XHJcbiAgICBtYXJnaW46IDBweCAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG59XHJcbi5oYW1idXJnZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMzBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5oZWFkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgIH1cclxuICAgIC5sb2dvIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgfVxyXG4gICAgLm5hdi1tZW51IHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYmctZGFyayk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDQwcHggODVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC41OSk7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudS5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudSB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgIC5uYXYtbWVudSB1bCBsaSBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgfVxyXG4gICAgLmhhbWJ1cmdlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIElOREVYIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmhvbWUtZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luOiAwcHggMjAwcHg7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4uaG9tZS1kZXNjcmlwdGlvbiBhIHtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uaG9tZS1kZXNjcmlwdGlvbiBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uaG9tZS1sb2dvIHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjM1KSAwcHggNXB4IDE1cHg7XHJcbn1cclxuLmhvbWUtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4uaW5zdGEtZ2FsbGVyeS1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxufVxyXG4uaW5zdGEtYnRuIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG4uaW5zdGEtZ2FsbGVyeS1jb250YWluZXIgaW1nIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4uaW5zdGEtZ2FsbGVyeS1jb250YWluZXIgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmluc3RhLWdhbGxlcnktY29udGFpbmVyIGE6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUkFUSU5HUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5yYXRpbmdzLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxuICAgIGdhcDogMjBweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbn1cclxuLnJhdGluZ3Mtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4ucmF0aW5nLWl0ZW0ge1xyXG4gICAgbWluLXdpZHRoOiAzMDBweDtcclxuICAgIGZsZXg6IDAgMCBhdXRvO1xyXG59XHJcbi5yYXRpbmcge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbn1cclxuLnJhdGluZyBpIHtcclxuICAgIG1hcmdpbjogMCAycHg7XHJcbn1cclxuaS5zY3JvbGwtbGVmdCxcclxuaS5zY3JvbGwtcmlnaHQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1NSU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xyXG4gICAgZm9udC1zaXplOiAyZW07XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuaS5zY3JvbGwtbGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcbmkuc2Nyb2xsLXJpZ2h0IHtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcbi5yYXRpbmdzIC5ib3gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zNSkgMHB4IDVweCAxNXB4O1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG59XHJcbi5yYXRpbmdzIC5ib3ggLm5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcbi5yYXRpbmdzIC5ib3ggLnJhdGluZyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSE9NRSBJTUFHRSBHQUxMRVJZIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmdhbGxlcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG59XHJcbi5pbWFnZS1nYWxsZXJ5LWhvbWUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5pbWFnZS13cmFwcGVyIHtcclxuICAgIG1heC13aWR0aDogMTAwMHB4O1xyXG4gICAgaGVpZ2h0OiA2MDBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5pbWFnZS13cmFwcGVyIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLWluLW91dDtcclxufVxyXG5cclxuaS5uZXh0LWJ1dHRvbixcclxuaS5wcmV2LWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDYwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XHJcbiAgICBmb250LXNpemU6IDVlbTtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG5cclxuaS5wcmV2LWJ1dHRvbiB7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG59XHJcblxyXG5pLm5leHQtYnV0dG9uIHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4udGh1bWJuYWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7XHJcbn1cclxuXHJcbi50aHVtYm5haWxzIGltZyB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIGJvcmRlci1jb2xvciAwLjNzO1xyXG59XHJcblxyXG4udGh1bWJuYWlscyBpbWcuYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4udGh1bWJuYWlscyBpbWc6aG92ZXIge1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4uaG9tZS1jb250YWN0LWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbn1cclxuLmhvbWUtY29udGFjdC1jb250YWluZXIgaDIge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUubCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG59XHJcbi5jb250YWN0LWxpbmstaG9tZS5yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUgaW1nIHtcclxuICAgIG1heC13aWR0aDogNDBweDtcclxufVxyXG4uY29udGFjdC1saW5rLWhvbWUgYSB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5jb250YWN0LWxpbmstaG9tZSBhOmhvdmVyIHtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmhvbWUtY29udGFjdC1jb250YWluZXIgYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uaG9tZS1jb250YWN0LWNvbnRhaW5lciBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbn1cclxuLm1hcGJveGdsLWN0cmwtYm90dG9tLXJpZ2h0LFxyXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tbGVmdCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuaG9tZS1sb2dvIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5ob21lLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWNvbnRhY3QtY29udGFpbmVyIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhY3QtbGluay1ob21lLmwsXHJcbiAgICAuY29udGFjdC1saW5rLWhvbWUuciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAudGh1bWJuYWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5ob21lLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWNvbnRhY3QtY29udGFpbmVyIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5ob21lLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1saW5rLWhvbWUubCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1saW5rLWhvbWUuciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE9VUi1TVE9SWSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5zdG9yeS10ZXh0IHtcclxuICAgIG1hcmdpbjogMHB4IDIwMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XHJcbn1cclxuLnN0b3J5LXRleHQgcCB7XHJcbiAgICBtYXJnaW46IDEwcHg7XHJcbn1cclxuLnN0b3J5LXRleHQgcC5iaWcge1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4ucmFnZXF1aXQtYm94IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5yYWdlcXVpdC1ib3ggaW1nIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5zdG9yeS10ZXh0IHtcclxuICAgICAgICBtYXJnaW46IDBweCAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIH1cclxuICAgIC5yYWdlcXVpdC1ib3gge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgfVxyXG4gICAgLmxvZ28tYm94IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLnJhZ2VxdWl0LWJveCBpbWcge1xyXG4gICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQVJUSVNUUy1PVkVSVklFVyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5hcnRpc3RzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG4uYXJ0aXN0LXByZXZpZXcge1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG59XHJcbi5hcnRpc3QtcHJldmlldyAudGV4dC1ib3gge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4uaW1hZ2UtY29udGFpbmVyIHtcclxuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDU0cHggNTVweCxcclxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMTIpIDBweCAtMTJweCAzMHB4LCByZ2JhKDAsIDAsIDAsIDAuMTIpIDBweCA0cHggNnB4LFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC4xNykgMHB4IDEycHggMTNweCwgcmdiYSgwLCAwLCAwLCAwLjA5KSAwcHggLTNweCA1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5pbWFnZS1jb250YWluZXIgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xyXG59XHJcbi5pbWFnZS1jb250YWluZXI6aG92ZXIgaW1nIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxufVxyXG4uY2VudGVyZWQtdGV4dCB7XHJcbiAgICB0ZXh0LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjcpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcbi5jZW50ZXJlZC10ZXh0OmhvdmVyIHtcclxuICAgIHRleHQtc2hhZG93OiByZ2JhKDE3OSwgMTE3LCAxOTcsIDAuNikgMHB4IDEwcHggMzBweDtcclxufVxyXG4uY2VudGVyZWQtdGV4dCAubmFtZSB7XHJcbiAgICBmb250LXNpemU6IGNsYW1wKDQuNXJlbSwgMy41cmVtICsgMi4wODMzdncsIDZyZW0pO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4uY2VudGVyZWQtdGV4dCAudGl0bGUge1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDFyZW0gKyAxLjA0MTd2dywgMi4yNXJlbSk7XHJcbn1cclxuLmNlbnRlcmVkLXRleHQgLmluc3RhIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjY2NjdyZW0gKyAwLjY5NDR2dywgMS41cmVtKTtcclxufVxyXG4uaW5zdGEgaSB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBUlRJU1RTLURFVEFJTFZJRVcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uYXJ0aXN0LWltZy1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcbi5hcnRpc3QtaW1nLWNvbnRhaW5lciBpbWcge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcbi5hcnRpc3QgcCB7XHJcbiAgICBtYXJnaW46IDBweCAzMDBweDtcclxuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5hcnRpc3QgaDIge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBtYXJnaW46IDEwcHggMHB4IDBweCAwcHg7XHJcbn1cclxuLmFydGlzdCBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxufVxyXG4uYXJ0aXN0IC5zb2NpYWxzIGkge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG59XHJcbi5hcnRpc3QgLnNvY2lhbHMgaTpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuYXJ0aXN0IHAge1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDEuMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5hcnRpc3QgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIH1cclxufVxyXG4uYXJ0aXN0IGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxudWwuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcbi5pbWFnZS1nYWxsZXJ5IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4uaW1hZ2UtZ2FsbGVyeSA+IGxpIHtcclxuICAgIC8qIGZhbGxiYWNrICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDM1MHB4O1xyXG4gICAgaGVpZ2h0OiAzNTBweDtcclxuICAgIG1hcmdpbjogMCA1cHggMTBweCA1cHg7XHJcbiAgICAvKiBlbmQgZmFsbGJhY2sgKi9cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGZsZXgpIHtcclxuICAgIC5pbWFnZS1nYWxsZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS1nYWxsZXJ5ID4gbGkge1xyXG4gICAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtZ2FsbGVyeTo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWdhbGxlcnkgbGkgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmltYWdlLWdhbGxlcnkgbGkgaW1nIHtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgbWF4LXdpZHRoOiAxNDAlO1xyXG4gICAgaGVpZ2h0OiAxNDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5pbWFnZS1nYWxsZXJ5IGxpOmhvdmVyIGltZyB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5pbWFnZS1nYWxsZXJ5IHtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtZ2FsbGVyeSA+IGxpIHtcclxuICAgICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWdhbGxlcnkgPiBsaSB7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTAwdnc7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIH1cclxuICAgIC5pbWFnZS1nYWxsZXJ5OjphZnRlciB7XHJcbiAgICAgICAgZmxleC1iYXNpczogMTAwdnc7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNvdmVybGF5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IHZhcigtLW5hdi1oZWlnaHQpO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHotaW5kZXg6IDk5OTtcclxufVxyXG5cclxuI3ByZXZCdG4sXHJcbiNuZXh0QnRuLFxyXG4jY2xvc2VCdG4ge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbiNwcmV2QnRuLFxyXG4jbmV4dEJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuI3ByZXZCdG4ge1xyXG4gICAgbGVmdDogMTBweDtcclxufVxyXG5cclxuI25leHRCdG4ge1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbiNjbG9zZUJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICByaWdodDogMTBweDtcclxufVxyXG5cclxuI292ZXJsYXlJbWcge1xyXG4gICAgbWF4LXdpZHRoOiA5MCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA5MCU7XHJcbn1cclxuXHJcbi8qIEFkZGl0aW9uYWwgc3R5bGVzIGZvciB0aGUgb3ZlcmxheSB0cmFuc2l0aW9uICovXHJcbiNvdmVybGF5SW1nIHtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4jb3ZlcmxheUltZzpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuI2dhbGxlcnlNb2JpbGUuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgI2dhbGxlcnkucHN3cC1nYWxsZXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgI2dhbGxlcnlNb2JpbGUuaW1hZ2UtZ2FsbGVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgI3ByZXZCdG4sXHJcbiAgICAjbmV4dEJ0bixcclxuICAgICNjbG9zZUJ0biB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICNnYWxsZXJ5LnBzd3AtZ2FsbGVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICNnYWxsZXJ5TW9iaWxlLmltYWdlLWdhbGxlcnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQSUVSQ0lORyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5waWVyY2luZy1ib3gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4ucGllcmNpbmctYm94IFtjbGFzcyo9J2NvbC0nXSB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcbi5waWVyY2luZy1ib3ggLmNvbC1zbS0xMiB7XHJcbiAgICBwYWRkaW5nOiAwcHggMTBweDtcclxufVxyXG4ucGllcmNlci1pbWcge1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMzUpIDBweCA1cHggMTVweDtcclxufVxyXG4ucGllcmNpbmcge1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcbi5waWVyY2luZyAubmFtZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLnBpZXJjaW5nIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcclxuICAgICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgfVxyXG4gICAgLnBpZXJjaW5nIC5wcmljZSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuLmJveC1saW5rIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XHJcbiAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAvIDUpO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcclxuICAgIGZvbnQtZmFtaWx5OiAnSW50ZXInLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4uYm94LWxpbmsgaW1nLmljb24ge1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcclxufVxyXG5cclxuLmJveC1saW5rIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmJveC1saW5rOmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcclxuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhc3RlbC1wdXJwbGUpO1xyXG59XHJcblxyXG4uYm94LWxpbms6aG92ZXIgaW1nLmljb24ge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxufVxyXG5cclxuLmJveC1ncmlkIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDFyZW07XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4ucGllcmNpbmctaWNvbiB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5ib3gtbGluayB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3KTtcclxuICAgIH1cclxuICAgIC5ib3gtZ3JpZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRPT1RILUdFTVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uZm9sbG93LWJ0biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG59XHJcbi5mb2xsb3ctYnRuOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhc3RlbC1wdXJwbGUpO1xyXG59XHJcbi5mb2xsb3ctYnRuIGltZyB7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmZvbGxvdy1idG4gYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmZvbGxvdy1idG4gYTpob3ZlciB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGQVEgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uYWNjb3JkaW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwdnc7XHJcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1uYXYtaGVpZ2h0KTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcGluayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBtYXJnaW46IDIwcHggMjAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1kYXJrKTtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0taGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWxpZ2h0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG59XHJcbi5hY2NvcmRpb24taXRlbS1oZWFkZXIgcCB7XHJcbiAgICBtYXJnaW46IDBweDtcclxufVxyXG4uYWNjb3JkaW9uLWl0ZW0taGVhZGVyIGkge1xyXG4gICAgY29sb3I6IHZhcigtLXBpbmspO1xyXG59XHJcbi5hY2NvcmRpb24taXRlbS1jb250ZW50IHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuOHMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLmFjY29yZGlvbi1pdGVtLWNvbnRlbnQub3BlbiB7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNTAwcHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi5hY2NvcmRpb24taXRlbS1jb250ZW50IHVsIGxpIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLnJvdGF0ZS0xODAge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IDAuNXM7XHJcbn1cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLWhlYWRlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLWNvbnRlbnQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtLWhlYWRlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09OVEFDVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbiNtYXAge1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxufVxyXG4uY3VzdG9tLW5lZWRsZS1tYXJrZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwOi8vd3d3LnJhZ2VxdWl0dGF0dG9vLmNoL2ltYWdlcy9sb2dvL2xvZ29zX25ldy9ycV9uZXVfd2hpdGUucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmN1c3RvbS1uZWVkbGUtbWFya2VyOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogMHB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tIC5tYXBib3hnbC1wb3B1cC10aXAge1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tcGluaykgIWltcG9ydGFudDtcclxufVxyXG4ubWFwYm94Z2wtcG9wdXAtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waW5rKSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMTBweCAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxufVxyXG4uY3VycmVudC1kYXkge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1waW5rKTtcclxufVxyXG4uY29udGFjdCB7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbn1cclxuLmNvbnRhY3QgYSB7XHJcbiAgICBjb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5jb250YWN0IGE6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIHRyYW5zaXRpb246IDAuNXMgZWFzZS1pbi1vdXQ7XHJcbn1cclxuLm9wZW5pbmctaG91cnMge1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcbi5vcGVuaW5nLWhvdXJzIGgyIHtcclxuICAgIG1hcmdpbjogNXB4IDBweDtcclxufVxyXG4ub3BlbmluZy1ob3VycyA+IC5jb2wtNjpmaXJzdC1jaGlsZCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLm9wZW5pbmctaG91cnMgPiAuY29sLTY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZPT1RFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmZvb3RlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgbWFyZ2luLXRvcDogYXV0bztcclxufVxyXG4uZm9vdGVyLXRpdGxlIHtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1zcGVjaWFsLWZvbnQpO1xyXG59XHJcbi5mb290ZXItYWRyZXNzIHtcclxuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLmZvb3Rlci1hZHJlc3MgaDIge1xyXG4gICAgbWFyZ2luOiA1cHggMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXNwZWNpYWwtZm9udCk7XHJcbn1cclxuLmZvb3Rlci1hZHJlc3MgYSB7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmZvb3Rlci1hZHJlc3MgaW1nIHtcclxuICAgIHBhZGRpbmc6IDBweCA1cHg7XHJcbiAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuLmZvb3Rlci1zb2NpYWxzIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuLmZvb3Rlci1zb2NpYWxzIGEge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4uZm9vdGVyLXNwb25zb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbiAgICBjb2xvcjogI2YxZDI4MztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmZvb3Rlci1zcG9uc29yIGltZyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzNXB4O1xyXG4gICAgbWFyZ2luOiAxMHB4IDBweDtcclxufVxyXG4uZm9vdGVyLXNvY2lhbHMgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcbi5mb290ZXItYWRyZXNzID4gLmNvbC02OmZpcnN0LWNoaWxkIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbi5vcGVuaW5nLWhvdXIgW2NsYXNzKj0nY29sLSddLFxyXG4uYWRkcmVzcy1ibG9jayBoMixcclxuLmFkZHJlc3MtYmxvY2sgcCxcclxuLm9wZW5pbmctaG91cnMtZm9vdGVyIGgyIHtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG59XHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuZm9vdGVyLWFkcmVzcyBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1hZHJlc3MgLmNvbC1zbS0xMiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIExPR0lOLVNFQ1RJT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5sb2dpbi1mb3JtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5sb2dpbi1mb3JtIC5jYXJkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmZvcm0tZ3JvdXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5mb3JtLWxhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ubG9naW4tZm9ybSAuZm9ybS1pbnB1dCB7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmctZGFyayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuLmxvZ2luLWZvcm0gLmZvcm0taW5wdXQ6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYmctZGFyayk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4ubG9naW4tZm9ybSAucmVtZW1iZXItbWUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmxvZ2luLWZvcm0gLnJlbWVtYmVyLW1lIGlucHV0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIGFjY2VudC1jb2xvcjogdmFyKC0tYWNjZW50LWRhcmspO1xyXG59XHJcblxyXG4uYnRuLWxvZ2luIHtcclxuICAgIHBhZGRpbmc6IDEycHggMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmxvZ2luLWZvcm0gLmNhcmQge1xyXG4gICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgfVxyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBRE1JTi1TRUNUSU9OIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uYWRtaW4tZGFzaGJvYXJkIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuLmFkbWluLWRhc2hib2FyZCBoMiB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3BlY2lhbC1mb250KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuLmRhc2hib2FyZC1zZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBmbGV4OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuLmRhc2hib2FyZC1zZWN0aW9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhc3RlbC1wdXJwbGUpO1xyXG4gICAgdHJhbnNpdGlvbjogZWFzZS1pbi1vdXQgMC4zcztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4ubm8tcmVzdWx0cyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xyXG59XHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBRE1JTi1TRUNUSU9OLVBJRVJDSU5HUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLnBpZXJjaW5nLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBnYXA6IDEuNXJlbTtcclxuICAgIHBhZGRpbmc6IDEuNXJlbTtcclxuICAgIG1heC13aWR0aDogMTIwMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5waWVyY2luZy1jYXJkIHtcclxuICAgIGZsZXg6IDEgMSAyMjBweDtcclxuICAgIG1heC13aWR0aDogMjYwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtZGFyayk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gICAgcGFkZGluZzogMXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG59XHJcblxyXG4ucGllcmNpbmctY2FyZDpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbn1cclxuXHJcbi5waWVyY2luZy1jYXJkIGltZyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5waWVyY2luZy1pbmZvIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxufVxyXG5cclxuLnBpZXJjaW5nLW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG59XHJcblxyXG4ucGllcmNpbmctdHlwZSB7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxufVxyXG5cclxuLnBpZXJjaW5nLXByaWNlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjRyZW07XHJcbn1cclxuXHJcbi5lZGl0LWJ0biB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGdhcDogNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGluayk7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjhyZW07XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xyXG59XHJcblxyXG4uZWRpdC1idG46aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFzdGVsLXB1cnBsZSk7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgLnBpZXJjaW5nLWNhcmQge1xyXG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09OU0VOVC1GT1JNIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uY29uc2VudC1mb3JtLFxyXG4uY29uc2VudC1mb3JtICoge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogcHJldmVudHMgb3ZlcmxhcCAqL1xyXG4gICAgZm9udC1mYW1pbHk6IHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgU2Vnb2UgVUksIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5jb25zZW50LWZvcm0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgbWFyZ2luOiAxNnB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxNnB4O1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcclxuICAgIGdhcDogMTJweCAxNHB4O1xyXG59XHJcblxyXG4vKiBlYWNoIGZpZWxkIGJsb2NrICovXHJcbi5jb25zZW50LWZvcm0gLmZvcm0tZ3JvdXAge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDZweDtcclxufVxyXG5cclxuLmNvbnNlbnQtZm9ybSAuZm9ybS1ncm91cFtkYXRhLXF1ZXN0aW9uPSdwcm9jZWR1cmVUeXBlJ10sXHJcbi5jb25zZW50LWZvcm0gLmZvcm0tZ3JvdXBbZGF0YS1xdWVzdGlvbj0nc3BlY2lmaWNDb21tZW50cyddLFxyXG4uY29uc2VudC1mb3JtIC5mb3JtLWdyb3VwW2RhdGEtdHlwZT0ncmFkaW8nXSB7XHJcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xyXG59XHJcblxyXG4vKiBsYWJlbHMgKi9cclxuLmNvbnNlbnQtZm9ybSBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1saWdodCk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogaW5wdXRzL3NlbGVjdC90ZXh0YXJlYSAqL1xyXG4uY29uc2VudC1mb3JtIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uY29uc2VudC1mb3JtIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wYXN0ZWwtcHVycGxlKTtcclxufVxyXG5cclxuLyogcmFkaW8gbGF5b3V0ICovXHJcbi5jb25zZW50LWZvcm0gLnJhZGlvLWdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBnYXA6IDEycHg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5jb25zZW50LWZvcm0gLnJhZGlvLWxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogNnB4O1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG4vKiBsZWdhbCB0ZXh0ICovXHJcbi5jb25zZW50LWZvcm0gcCB7XHJcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xyXG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIG1hcmdpbjogNnB4IDAgMDtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcclxufVxyXG5cclxuLyogc3VibWl0IGJ1dHRvbiAqL1xyXG4uY29uc2VudC1mb3JtIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XHJcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xyXG4gICAgbWluLWhlaWdodDogNDZweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLXBpbmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLmNvbnNlbnQtZm9ybSBidXR0b25bdHlwZT0nc3VibWl0J106aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGFzdGVsLXB1cnBsZSk7XHJcbn1cclxuLmNvbnNlbnQtZm9ybSAjc2lnIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxufVxyXG4uY29uc2VudC1mb3JtIC5zaWduYXR1cmUtY29udGFpbmVyIGJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZm9udC1kYXJrKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uY29uc2VudC1mb3JtIC5zaWduYXR1cmUtY29udGFpbmVyIGJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zdWNjZXNzLWdyZWVuKTtcclxufVxyXG4uY29uc2VudC1mb3JtIC5zaWduYXR1cmUtY29udGFpbmVyIGJ1dHRvbjpsYXN0LWNoaWxkIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLXJlZCk7XHJcbn1cclxuLyogPT09PT0gTW9iaWxlID09PT09ICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xyXG4gICAgLmNvbnNlbnQtZm9ybSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IC8qIHNpbmdsZSBjb2x1bW4gKi9cclxuICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAuY29uc2VudC1mb3JtIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgLyogcHJldmVudHMgaU9TIGF1dG8tem9vbSAqL1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBPcHRpb25hbDogbWFrZSBjZXJ0YWluIGdyb3VwcyBmdWxsLXdpZHRoIGJ5IGFkZGluZyBjbGFzcz1cImZ1bGxcIiAqL1xyXG4uY29uc2VudC1mb3JtIC5mb3JtLWdyb3VwLmZ1bGwge1xyXG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcclxufVxyXG5cclxuLmlucHV0LWVycm9yIHtcclxuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1lcnJvci1yZWQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4uaW5wdXQtZXJyb3ItbXNnIHtcclxuICAgIGNvbG9yOiB2YXIoLS1lcnJvci1yZWQpO1xyXG4gICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENPTlNFTlQtRk9STS1BRE1JTi1ERVRBSUwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5wZGYtdmlldyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDkwMHB4O1xyXG59XHJcblxyXG4jZ2FsbGVyeUltYWdlc0FkbWluIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBnYXA6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbn1cclxuXHJcbi8qIGZpeGVkIHRodW1ibmFpbCBib3ggKi9cclxuLmdhbGxlcnktaW1hZ2UtYWRtaW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBhbmNob3IgZm9yIHRoZSBYICovXHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxufVxyXG4udG9vbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIGFuY2hvciBmb3IgdGhlIFggKi9cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvbnQtZGFyayk7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxufVxyXG4udG9vbCBpbWcsXHJcbi5nYWxsZXJ5LWltYWdlLWFkbWluIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyOyAvKiB0aHVtYm5haWwgY3JvcCAqL1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qIGRlbGV0ZSBYIHBpbm5lZCB0byB0b3AtcmlnaHQgb2YgdGhlIHRodW1ibmFpbCBib3ggKi9cclxuLnRvb2wtZGVsZXRlLFxyXG4uZGVsZXRlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNHB4O1xyXG4gICAgcmlnaHQ6IDRweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi50b29sLWRlbGV0ZTpob3ZlcixcclxuLmRlbGV0ZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1lcnJvci1yZWQpO1xyXG59XHJcbi8qIExheW91dCArIHR5cG9ncmFwaHkgKi9cclxuLmNvbnNlbnQtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbi5wYWdlLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS42cmVtLCAzdncsIDIuMnJlbSk7XHJcbiAgICBtYXJnaW46IDFyZW0gMCAxLjI1cmVtO1xyXG59XHJcblxyXG4uc2VjdGlvbi1jYXJkIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMC45cmVtO1xyXG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xyXG59XHJcblxyXG4uc2VjdGlvbi10aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDEuMTVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xyXG59XHJcblxyXG4uc2VjdGlvbi1ib2R5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAwLjM1cmVtO1xyXG59XHJcblxyXG4uZGV0YWlsLXJvdyB7XHJcbiAgICBwYWRkaW5nOiAwLjNyZW0gMDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwLjA4KTtcclxufVxyXG5cclxuLmRldGFpbC1yb3c6bGFzdC1jaGlsZCB7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG59XHJcblxyXG4uZGV0YWlsLWxhYmVsIHtcclxuICAgIG9wYWNpdHk6IDAuNzU7XHJcbiAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbn1cclxuXHJcbi5kZXRhaWwtdmFsdWUge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG4ubXV0ZWQtdGV4dCB7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICBmb250LXNpemU6IDAuOTVyZW07XHJcbn1cclxuXHJcbi8qIFRvb2xzIGdyaWQgKi9cclxuLnRvb2wtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMTBweCwgMWZyKSk7XHJcbiAgICBnYXA6IDAuNzVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG59XHJcblxyXG4udG9vbC1jYXJkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWRhcmspO1xyXG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XHJcbn1cclxuXHJcbi50b29sLWltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTYwbXMgZWFzZTtcclxufVxyXG5cclxuLnRvb2wtY2FyZDpob3ZlciAudG9vbC1pbWcge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcclxufVxyXG5cclxuLnRvb2wtZGVsZXRlLWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDZweDtcclxuICAgIHJpZ2h0OiA2cHg7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTQwbXMgZWFzZSwgdHJhbnNmb3JtIDE0MG1zIGVhc2U7XHJcbn1cclxuXHJcbi50b29sLWRlbGV0ZS1idG46aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7XHJcbn1cclxuXHJcbi8qIFVwbG9hZCBhcmVhICovXHJcbi5lbmhhbmNlZC11cGxvYWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdhcDogMC43NXJlbTtcclxufVxyXG4udXBsb2FkLWlucHV0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnVwbG9hZC1kcm9wem9uZSB7XHJcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgcmdiYSgwLCAwLCAwLCAwLjE4KTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgIHBhZGRpbmc6IDEuMXJlbSAxcmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XHJcbiAgICBnYXA6IDAuOXJlbTtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTYwbXMgZWFzZSwgYmFja2dyb3VuZCAxNjBtcyBlYXNlLFxyXG4gICAgICAgIHRyYW5zZm9ybSAxMjBtcyBlYXNlO1xyXG59XHJcbi51cGxvYWQtZHJvcHpvbmU6aG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcbi51cGxvYWQtaWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIG9wYWNpdHk6IDAuODtcclxufVxyXG4udXBsb2FkLXRleHQge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDAuMnJlbTtcclxufVxyXG4udXBsb2FkLXRpdGxlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuLnVwbG9hZC1zdWJ0aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIG9wYWNpdHk6IDAuNztcclxufVxyXG4udXBsb2FkLWFjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuLnVwbG9hZC1idG4ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmc6IDAuNTVyZW0gMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi8qIFBERiBhcmVhICovXHJcbi5wZGYtd3JhcCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGhlaWdodDogbWluKDgwdmgsIDkwMHB4KTtcclxufVxyXG5cclxuLnBkZi12aWV3IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogNjB2aDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLyogTmljZSBvbiBkZXNrdG9wOiBrZWVwIFBERiBpbiB2aWV3ICovXHJcbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgLnN0aWNreS1wZGYge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICAgICAgdG9wOiAxLjI1cmVtO1xyXG4gICAgfVxyXG4gICAgLnNlY3Rpb24tY2FyZCB7XHJcbiAgICAgICAgbWFyZ2luOiAxcmVtO1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLnRvb2wge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgIC5zZWN0aW9uLWNhcmQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDT05TRU5ULUZPUk0tQURNSU4tT1ZFUlZJRVcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8qIFBhZ2UgKyBjb250YWluZXJzICovXHJcbi5jb25zZW50LWxpc3QtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbi8qIEZpbHRlciBiYXIgKi9cclxuLnNlY3Rpb24tY2FyZC5maWx0ZXItYmFyIHtcclxuICAgIG1hcmdpbjogMHJlbSAwcmVtIDFyZW0gMHJlbSAhaW1wb3J0YW50O1xyXG59XHJcbi5maWx0ZXItYmFyIHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBnYXA6IDAuNzVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4uZmlsdGVyLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAwLjZyZW07XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5maWx0ZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XHJcbn1cclxuLmZpbHRlci1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5maWx0ZXItaXRlbS5ncm93IHtcclxuICAgIGZsZXg6IDEgMSAyNDBweDtcclxufVxyXG5cclxuLmZpbHRlci1pbnB1dCxcclxuLmZpbHRlci1zZWxlY3Qge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xyXG4gICAgcGFkZGluZzogMC41NXJlbSAwLjdyZW07XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspO1xyXG4gICAgY29sb3I6IHZhcigtLWZvbnQtbGlnaHQpO1xyXG4gICAgZm9udC1zaXplOiAwLjk4cmVtO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDE0MG1zIGVhc2UsIGJhY2tncm91bmQgMTQwbXMgZWFzZTtcclxufVxyXG5cclxuLmZpbHRlci1pbnB1dDpmb2N1cyxcclxuLmZpbHRlci1zZWxlY3Q6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspO1xyXG59XHJcblxyXG4uY2hlY2tib3gtaXRlbSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMnJlbTtcclxufVxyXG5cclxuLmNoZWNrYm94LWxhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMC41cmVtO1xyXG4gICAgZm9udC1zaXplOiAwLjk4cmVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2xlYXItYnRuIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC45cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLyogRGVza3RvcCB0YWJsZSAqL1xyXG4uZGVza3RvcC10YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbn1cclxuXHJcbi5kZXNrdG9wLXRhYmxlIHRib2R5IHRyIHtcclxuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1kYXJrKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbn1cclxuXHJcbi5kZXNrdG9wLXRhYmxlIHRib2R5IHRkIHtcclxuICAgIHBhZGRpbmc6IDAuOXJlbSAwLjc1cmVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmRlc2t0b3AtdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTJweDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4uZGVza3RvcC10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEycHg7XHJcbn1cclxuXHJcbi5wZGYtbGluayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waW5rKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWRhcmspO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNDBtcyBlYXNlLCB0cmFuc2Zvcm0gMTQwbXMgZWFzZTtcclxufVxyXG5cclxuLnBkZi1saW5rOmhvdmVyIHtcclxuICAgIGZpbHRlcjogb3BhY2l0eSgwLjgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xyXG59XHJcblxyXG4uYWN0aW9uLWJ0biB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMC40NXJlbSAwLjc1cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIE1vYmlsZSBjYXJkcyAqL1xyXG4ubW9iaWxlLWNhcmRzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBnYXA6IDAuOHJlbTtcclxufVxyXG5cclxuLmNvbnNlbnQtY2FyZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAwLjc1cmVtO1xyXG4gICAgcGFkZGluZzogMC45NXJlbTtcclxufVxyXG5cclxuLmNhcmQtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi5iYWRnZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1kYXJrKTtcclxuICAgIGNvbG9yOiB2YXIoLS1mb250LWxpZ2h0KTtcclxuICAgIHBhZGRpbmc6IDAuMjVyZW0gMC42cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4uY2FyZC1kYXRlIHtcclxuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuLmNhcmQtYm9keSB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAwLjQ1cmVtO1xyXG59XHJcblxyXG4uY2FyZC1yb3cge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyO1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi5jYXJkLXJvdyAubGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uY2FyZC1yb3cgLnZhbHVlIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLmNhcmQtYWN0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZ2FwOiAwLjVyZW07XHJcbn1cclxuXHJcbi8qIFNoYXJlZCAqL1xyXG4uZXJyb3ItdGV4dCB7XHJcbiAgICBjb2xvcjogdmFyKC0tZXJyb3ItcmVkKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5tdXRlZC10ZXh0IHtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcclxufVxyXG5cclxuLyogUmVzcG9uc2l2ZSBzd2l0Y2g6IGNhcmRzIG9uIHNtYWxsIHNjcmVlbnMsIHRhYmxlIG9uIGxhcmdlICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xyXG4gICAgLmRlc2t0b3AtdGFibGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAubW9iaWxlLWNhcmRzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRkFRLUFETUlOIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4uZmFxLWFjdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4uZmFxLWFjdGlvbnMgLmZhcS1hY3Rpb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuLmZhcS1hY3Rpb25zIC5mYXEtYWN0aW9uLmZhcS1kZWxldGUge1xyXG4gICAgY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbn1cclxuLmFuc3dlci1yb3cgdGV4dGFyZWEge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcbi5hbnN3ZXItcm93IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbn1cclxuI2FkZEFuc3dlckJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waW5rKTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi5yZW1vdmUtYW5zd2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLXJlZCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG4ucmVtb3ZlLWFuc3dlcjpob3ZlcixcclxuI2FkZEFuc3dlckJ0bjpob3ZlciB7XHJcbiAgICBmaWx0ZXI6IG9wYWNpdHkoMC44KTtcclxufVxyXG4jbmV3RmFxQnRuIHtcclxuICAgIG1hcmdpbjogMTBweCAyMDBweDtcclxufVxyXG4iXX0= */